open-vault/command/kv.go
Brian Kassouf 5c84c36915
command/kv: Add a "kv" subcommand for using the key-value store (#4168)
* Add more cli subcommands

* Add metadata commands

* Add more subcommands

* Update cli

* Move archive commands to delete

* Add helpers for making http calls to the kv backend

* rename cli header

* Format the various maps from kv

* Add list command

* Update help text

* Add a command to enable versioning on a backend

* Rename enable-versions command

* Some review feedback

* Fix listing of top level keys

* Fix issue when metadata is nil

* Add test for lising top level keys

* Fix some typos

* Add a note about deleting all versions
2018-03-21 15:02:41 -07:00

53 lines
1 KiB
Go

package command
import (
"strings"
"github.com/mitchellh/cli"
)
var _ cli.Command = (*KVCommand)(nil)
type KVCommand struct {
*BaseCommand
}
func (c *KVCommand) Synopsis() string {
return "Interact with Vault's Key-Value storage"
}
func (c *KVCommand) Help() string {
helpText := `
Usage: vault kv <subcommand> [options] [args]
This command has subcommands for interacting with Vault's key-value
store. Here are some simple examples, and more detailed examples are
available in the subcommands or the documentation.
Create or update the key named "foo" in the "secret" mount with the value
"bar=baz":
$ vault kv put secret/foo bar=baz
Read this value back:
$ vault kv get secret/foo
Get metadata for the key:
$ vault kv metadata get secret/foo
Get a specific version of the key:
$ vault kv get -version=1 secret/foo
Please see the individual subcommand help for detailed usage information.
`
return strings.TrimSpace(helpText)
}
func (c *KVCommand) Run(args []string) int {
return cli.RunResultHelp
}