`vault delete` should allow the same output options as `vault write`,… (#11992)
* `vault delete` and `vault kv delete` should allow the same output options as `vault write`, as delete operations can similarly return data. This is needed if you want to use control groups with deletion.
This commit is contained in:
parent
1da8bb0a25
commit
a2dcb131ee
|
@ -0,0 +1,3 @@
|
|||
```release-note:bug
|
||||
cli: vault delete and vault kv delete should support the same output options (e.g. -format) as vault write.
|
||||
```
|
|
@ -53,7 +53,7 @@ Usage: vault delete [options] PATH
|
|||
}
|
||||
|
||||
func (c *DeleteCommand) Flags() *FlagSets {
|
||||
return c.flagSet(FlagSetHTTP)
|
||||
return c.flagSet(FlagSetHTTP | FlagSetOutputField | FlagSetOutputFormat)
|
||||
}
|
||||
|
||||
func (c *DeleteCommand) AutocompleteArgs() complete.Predictor {
|
||||
|
@ -95,7 +95,7 @@ func (c *DeleteCommand) Run(args []string) int {
|
|||
|
||||
data, err := parseArgsDataStringLists(stdin, args[1:])
|
||||
if err != nil {
|
||||
c.UI.Error(fmt.Sprintf("Failed to parse K=V data: %s", err))
|
||||
c.UI.Error(fmt.Sprintf("Failed to parse string list data: %s", err))
|
||||
return 1
|
||||
}
|
||||
|
||||
|
@ -108,6 +108,18 @@ func (c *DeleteCommand) Run(args []string) int {
|
|||
return 2
|
||||
}
|
||||
|
||||
if secret == nil {
|
||||
// Don't output anything unless using the "table" format
|
||||
if Format(c.UI) == "table" {
|
||||
c.UI.Info(fmt.Sprintf("Success! Data deleted (if it existed) at: %s", path))
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
// Handle single field output
|
||||
if c.flagField != "" {
|
||||
return PrintRawField(c.UI, secret, c.flagField)
|
||||
}
|
||||
|
||||
return OutputSecret(c.UI, secret)
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@ Usage: vault kv delete [options] PATH
|
|||
}
|
||||
|
||||
func (c *KVDeleteCommand) Flags() *FlagSets {
|
||||
set := c.flagSet(FlagSetHTTP)
|
||||
set := c.flagSet(FlagSetHTTP | FlagSetOutputField | FlagSetOutputFormat)
|
||||
// Common Options
|
||||
f := set.NewFlagSet("Common Options")
|
||||
|
||||
|
@ -118,8 +118,19 @@ func (c *KVDeleteCommand) Run(args []string) int {
|
|||
return 2
|
||||
}
|
||||
|
||||
if secret == nil {
|
||||
// Don't output anything unless using the "table" format
|
||||
if Format(c.UI) == "table" {
|
||||
c.UI.Info(fmt.Sprintf("Success! Data deleted (if it existed) at: %s", path))
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
if c.flagField != "" {
|
||||
return PrintRawField(c.UI, secret, c.flagField)
|
||||
}
|
||||
|
||||
return OutputSecret(c.UI, secret)
|
||||
}
|
||||
|
||||
func (c *KVDeleteCommand) deleteV2(path, mountPath string, client *api.Client) (*api.Secret, error) {
|
||||
|
|
Loading…
Reference in New Issue