diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-04-01 19:08:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-01 19:08:08 +0200 |
commit | d534e524272121a6489c1a2a2c11c6b389027ecd (patch) | |
tree | dbe09731facf6a80406a62a6ca95b3f1514c2047 /cmd/podmanV2/inspect.go | |
parent | 82cbebcbea7f92be7e82bc11fdf1b30d7e194cdc (diff) | |
parent | 46e3b2efb84580cc12b0bc5ad0863957b88ae202 (diff) | |
download | podman-d534e524272121a6489c1a2a2c11c6b389027ecd.tar.gz podman-d534e524272121a6489c1a2a2c11c6b389027ecd.tar.bz2 podman-d534e524272121a6489c1a2a2c11c6b389027ecd.zip |
Merge pull request #5645 from jwhonce/wip/inspect
V2 podman inspect
Diffstat (limited to 'cmd/podmanV2/inspect.go')
-rw-r--r-- | cmd/podmanV2/inspect.go | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/cmd/podmanV2/inspect.go b/cmd/podmanV2/inspect.go new file mode 100644 index 000000000..4975cf632 --- /dev/null +++ b/cmd/podmanV2/inspect.go @@ -0,0 +1,62 @@ +package main + +import ( + "context" + "fmt" + + "github.com/containers/libpod/cmd/podmanV2/common" + "github.com/containers/libpod/cmd/podmanV2/containers" + "github.com/containers/libpod/cmd/podmanV2/images" + "github.com/containers/libpod/cmd/podmanV2/registry" + "github.com/containers/libpod/pkg/domain/entities" + "github.com/spf13/cobra" +) + +// Inspect is one of the out layer commands in that it operates on images/containers/... + +var ( + inspectOpts *entities.InspectOptions + + // Command: podman _inspect_ Object_ID + inspectCmd = &cobra.Command{ + Use: "inspect [flags] {CONTAINER_ID | IMAGE_ID}", + Args: cobra.ExactArgs(1), + Short: "Display the configuration of object denoted by ID", + Long: "Displays the low-level information on an object identified by name or ID", + TraverseChildren: true, + RunE: inspect, + } +) + +func init() { + registry.Commands = append(registry.Commands, registry.CliCommand{ + Mode: []entities.EngineMode{entities.ABIMode, entities.TunnelMode}, + Command: inspectCmd, + }) + inspectOpts = common.AddInspectFlagSet(inspectCmd) +} + +func inspect(cmd *cobra.Command, args []string) error { + ie, err := registry.NewImageEngine(cmd, args) + if err != nil { + return err + } + + if found, err := ie.Exists(context.Background(), args[0]); err != nil { + return err + } else if found.Value { + return images.Inspect(cmd, args, inspectOpts) + } + + ce, err := registry.NewContainerEngine(cmd, args) + if err != nil { + return err + } + + if found, err := ce.ContainerExists(context.Background(), args[0]); err != nil { + return err + } else if found.Value { + return containers.Inspect(cmd, args, inspectOpts) + } + return fmt.Errorf("%s not found on system", args[0]) +} |