inspect.go 789 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // +build experimental
  2. package plugin
  3. import (
  4. "encoding/json"
  5. "github.com/docker/docker/api/client"
  6. "github.com/docker/docker/cli"
  7. "github.com/spf13/cobra"
  8. "golang.org/x/net/context"
  9. )
  10. func newInspectCommand(dockerCli *client.DockerCli) *cobra.Command {
  11. cmd := &cobra.Command{
  12. Use: "inspect PLUGIN",
  13. Short: "Inspect a plugin",
  14. Args: cli.ExactArgs(1),
  15. RunE: func(cmd *cobra.Command, args []string) error {
  16. return runInspect(dockerCli, args[0])
  17. },
  18. }
  19. return cmd
  20. }
  21. func runInspect(dockerCli *client.DockerCli, name string) error {
  22. p, err := dockerCli.Client().PluginInspect(context.Background(), name)
  23. if err != nil {
  24. return err
  25. }
  26. b, err := json.MarshalIndent(p, "", "\t")
  27. if err != nil {
  28. return err
  29. }
  30. _, err = dockerCli.Out().Write(b)
  31. return err
  32. }