diff --git a/azure/backend.go b/azure/backend.go index cf06f17cc..765e3caa3 100644 --- a/azure/backend.go +++ b/azure/backend.go @@ -53,7 +53,6 @@ func New(ctx context.Context) (containers.ContainerService, error) { func (cs *containerService) List(ctx context.Context) ([]containers.Container, error) { var cg []containerinstance.ContainerGroup result, err := cs.cgc.ListByResourceGroup(ctx, cs.ctx.ResourceGroup) - if err != nil { return []containers.Container{}, err } @@ -67,12 +66,20 @@ func (cs *containerService) List(ctx context.Context) ([]containers.Container, e res := []containers.Container{} for _, c := range cg { - cc := *c.Containers - for _, d := range cc { + group, err := cs.cgc.Get(ctx, cs.ctx.ResourceGroup, *c.Name) + if err != nil { + return []containers.Container{}, err + } + + for _, d := range *group.Containers { + status := "Unknown" + if d.InstanceView != nil && d.InstanceView.CurrentState != nil { + status = *d.InstanceView.CurrentState.State + } res = append(res, containers.Container{ - ID: *c.Name, - Image: *d.Image, - // Command: strings.Join(*d.ContainerProperties.Command, " "), // TODO command can be null + ID: *d.Name, + Image: *d.Image, + Status: status, }) } } diff --git a/cli/cmd/ps.go b/cli/cmd/ps.go index ecad35043..e302ce012 100644 --- a/cli/cmd/ps.go +++ b/cli/cmd/ps.go @@ -27,10 +27,10 @@ var PsCommand = cobra.Command{ } w := tabwriter.NewWriter(os.Stdout, 0, 0, 2, ' ', 0) - fmt.Fprintf(w, "NAME\tIMAGE\tCOMMAND\n") - format := "%s\t%s\t%s\n" + fmt.Fprintf(w, "NAME\tIMAGE\tSTATUS\tCOMMAND\n") + format := "%s\t%s\t%s\t%s\n" for _, c := range containers { - fmt.Fprintf(w, format, c.ID, c.Image, c.Command) + fmt.Fprintf(w, format, c.ID, c.Image, c.Status, c.Command) } return w.Flush() },