summaryrefslogtreecommitdiff
path: root/cmd/podman/pods/inspect.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podman/pods/inspect.go')
-rw-r--r--cmd/podman/pods/inspect.go54
1 files changed, 11 insertions, 43 deletions
diff --git a/cmd/podman/pods/inspect.go b/cmd/podman/pods/inspect.go
index 082e8d9a1..22e781cdf 100644
--- a/cmd/podman/pods/inspect.go
+++ b/cmd/podman/pods/inspect.go
@@ -1,13 +1,8 @@
package pods
import (
- "context"
- "errors"
- "os"
- "text/template"
-
- "github.com/containers/common/pkg/report"
"github.com/containers/podman/v4/cmd/podman/common"
+ "github.com/containers/podman/v4/cmd/podman/inspect"
"github.com/containers/podman/v4/cmd/podman/registry"
"github.com/containers/podman/v4/cmd/podman/validate"
"github.com/containers/podman/v4/pkg/domain/entities"
@@ -15,10 +10,6 @@ import (
)
var (
- inspectOptions = entities.PodInspectOptions{}
-)
-
-var (
inspectDescription = `Display the configuration for a pod by name or id
By default, this will render all results in a JSON array.`
@@ -27,10 +18,12 @@ var (
Use: "inspect [options] POD [POD...]",
Short: "Displays a pod configuration",
Long: inspectDescription,
- RunE: inspect,
+ RunE: inspectExec,
ValidArgsFunction: common.AutocompletePods,
Example: `podman pod inspect podID`,
}
+
+ inspectOpts = &entities.InspectOptions{}
)
func init() {
@@ -41,40 +34,15 @@ func init() {
flags := inspectCmd.Flags()
formatFlagName := "format"
- flags.StringVarP(&inspectOptions.Format, formatFlagName, "f", "json", "Format the output to a Go template or json")
+ flags.StringVarP(&inspectOpts.Format, formatFlagName, "f", "json", "Format the output to a Go template or json")
_ = inspectCmd.RegisterFlagCompletionFunc(formatFlagName, common.AutocompleteFormat(&entities.PodInspectReport{}))
- validate.AddLatestFlag(inspectCmd, &inspectOptions.Latest)
+ validate.AddLatestFlag(inspectCmd, &inspectOpts.Latest)
}
-func inspect(cmd *cobra.Command, args []string) error {
- if len(args) < 1 && !inspectOptions.Latest {
- return errors.New("you must provide the name or id of a running pod")
- }
- if len(args) > 0 && inspectOptions.Latest {
- return errors.New("--latest and containers cannot be used together")
- }
-
- if !inspectOptions.Latest {
- inspectOptions.NameOrID = args[0]
- }
- responses, err := registry.ContainerEngine().PodInspect(context.Background(), inspectOptions)
- if err != nil {
- return err
- }
-
- if report.IsJSON(inspectOptions.Format) {
- enc := json.NewEncoder(os.Stdout)
- enc.SetIndent("", " ")
- return enc.Encode(responses)
- }
-
- // Cannot use report.New() as it enforces {{range .}} for OriginUser templates
- tmpl := template.New(cmd.Name()).Funcs(template.FuncMap(report.DefaultFuncs))
- format := report.NormalizeFormat(inspectOptions.Format)
- tmpl, err = tmpl.Parse(format)
- if err != nil {
- return err
- }
- return tmpl.Execute(os.Stdout, *responses)
+func inspectExec(cmd *cobra.Command, args []string) error {
+ // We need backwards compat with the old podman pod inspect behavior.
+ // https://github.com/containers/podman/pull/15675
+ inspectOpts.Type = common.PodLegacyType
+ return inspect.Inspect(args, *inspectOpts)
}