From b5822e612bd5cb976b81c2f23686c78c760825c1 Mon Sep 17 00:00:00 2001 From: Jason O'Donnell <2160810+jasonodonnell@users.noreply.github.com> Date: Wed, 19 Apr 2023 09:31:51 -0400 Subject: [PATCH] cli/namespace: add detailed flag to namespace list (#20243) * cli/namespace: add detailed flag to namespace list * changelog --- changelog/20243.txt | 4 ++++ command/namespace_list.go | 17 ++++++++++++++++- website/content/docs/commands/namespace.mdx | 6 ++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 changelog/20243.txt diff --git a/changelog/20243.txt b/changelog/20243.txt new file mode 100644 index 000000000..8d5b04420 --- /dev/null +++ b/changelog/20243.txt @@ -0,0 +1,4 @@ +```release-note:improvement +cli/namespace: Add detailed flag to output additional namespace information +such as namespace IDs and custom metadata. +``` diff --git a/command/namespace_list.go b/command/namespace_list.go index 7dfd257e8..6394daedf 100644 --- a/command/namespace_list.go +++ b/command/namespace_list.go @@ -40,7 +40,18 @@ Usage: vault namespace list [options] } func (c *NamespaceListCommand) Flags() *FlagSets { - return c.flagSet(FlagSetHTTP | FlagSetOutputFormat) + set := c.flagSet(FlagSetHTTP | FlagSetOutputFormat) + + f := set.NewFlagSet("Command Options") + + f.BoolVar(&BoolVar{ + Name: "detailed", + Target: &c.flagDetailed, + Default: false, + Usage: "Print detailed information such as namespace ID.", + }) + + return set } func (c *NamespaceListCommand) AutocompleteArgs() complete.Predictor { @@ -104,5 +115,9 @@ func (c *NamespaceListCommand) Run(args []string) int { return 2 } + if c.flagDetailed && Format(c.UI) != "table" { + return OutputData(c.UI, secret.Data["key_info"]) + } + return OutputList(c.UI, secret) } diff --git a/website/content/docs/commands/namespace.mdx b/website/content/docs/commands/namespace.mdx index 5913386a9..d52a3fa88 100644 --- a/website/content/docs/commands/namespace.mdx +++ b/website/content/docs/commands/namespace.mdx @@ -16,6 +16,12 @@ List all namespaces: $ vault namespace list ``` +List all namespaces with additional details such as namespace ID and custom metadata: + +```shell-session +$ vault namespace list -detailed +``` + Create a namespace at the path `ns1/` with no custom metadata: ```shell-session