// Copyright (c) HashiCorp, Inc. // SPDX-License-Identifier: MPL-2.0 package command import ( "strings" "github.com/mitchellh/cli" ) var _ cli.Command = (*PluginCommand)(nil) type PluginCommand struct { *BaseCommand } func (c *PluginCommand) Synopsis() string { return "Interact with Vault plugins and catalog" } func (c *PluginCommand) Help() string { helpText := ` Usage: vault plugin [options] [args] This command groups subcommands for interacting with Vault's plugins and the plugin catalog. The plugin catalog is divided into three types: "auth", "database", and "secret" plugins. A type must be specified on each call. Here are a few examples of the plugin commands. List all available plugins in the catalog of a particular type: $ vault plugin list database Register a new plugin to the catalog as a particular type: $ vault plugin register -sha256=d3f0a8b... auth my-custom-plugin Get information about a plugin in the catalog listed under a particular type: $ vault plugin info auth my-custom-plugin Please see the individual subcommand help for detailed usage information. ` return strings.TrimSpace(helpText) } func (c *PluginCommand) Run(args []string) int { return cli.RunResultHelp }