List does json/template
This commit is contained in:
parent
919fc3ce70
commit
b6d2d1f6af
|
@ -16,17 +16,30 @@ func (c *ACLPolicyListCommand) Help() string {
|
||||||
helpText := `
|
helpText := `
|
||||||
Usage: nomad acl policy list
|
Usage: nomad acl policy list
|
||||||
|
|
||||||
List is used to list available ACL policies.
|
List is used to list available ACL policies.
|
||||||
|
|
||||||
General Options:
|
General Options:
|
||||||
|
|
||||||
` + generalOptionsUsage()
|
` + generalOptionsUsage() + `
|
||||||
|
|
||||||
|
List Options:
|
||||||
|
|
||||||
|
-json
|
||||||
|
Output the ACL policies in a JSON format.
|
||||||
|
|
||||||
|
-t
|
||||||
|
Format and display the ACL policies using a Go template.
|
||||||
|
`
|
||||||
|
|
||||||
return strings.TrimSpace(helpText)
|
return strings.TrimSpace(helpText)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ACLPolicyListCommand) AutocompleteFlags() complete.Flags {
|
func (c *ACLPolicyListCommand) AutocompleteFlags() complete.Flags {
|
||||||
return c.Meta.AutocompleteFlags(FlagSetClient)
|
return mergeAutocompleteFlags(c.Meta.AutocompleteFlags(FlagSetClient),
|
||||||
|
complete.Flags{
|
||||||
|
"-json": complete.PredictNothing,
|
||||||
|
"-t": complete.PredictAnything,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ACLPolicyListCommand) AutocompleteArgs() complete.Predictor {
|
func (c *ACLPolicyListCommand) AutocompleteArgs() complete.Predictor {
|
||||||
|
@ -38,8 +51,14 @@ func (c *ACLPolicyListCommand) Synopsis() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ACLPolicyListCommand) Run(args []string) int {
|
func (c *ACLPolicyListCommand) Run(args []string) int {
|
||||||
|
var json bool
|
||||||
|
var tmpl string
|
||||||
|
|
||||||
flags := c.Meta.FlagSet("acl policy list", FlagSetClient)
|
flags := c.Meta.FlagSet("acl policy list", FlagSetClient)
|
||||||
flags.Usage = func() { c.Ui.Output(c.Help()) }
|
flags.Usage = func() { c.Ui.Output(c.Help()) }
|
||||||
|
flags.BoolVar(&json, "json", false, "")
|
||||||
|
flags.StringVar(&tmpl, "t", "", "")
|
||||||
|
|
||||||
if err := flags.Parse(args); err != nil {
|
if err := flags.Parse(args); err != nil {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
@ -65,6 +84,17 @@ func (c *ACLPolicyListCommand) Run(args []string) int {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if json || len(tmpl) > 0 {
|
||||||
|
out, err := Format(json, tmpl, policies)
|
||||||
|
if err != nil {
|
||||||
|
c.Ui.Error(err.Error())
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Ui.Output(out)
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
c.Ui.Output(formatPolicies(policies))
|
c.Ui.Output(formatPolicies(policies))
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,4 +52,14 @@ func TestACLPolicyListCommand(t *testing.T) {
|
||||||
if !strings.Contains(out, policy.Name) {
|
if !strings.Contains(out, policy.Name) {
|
||||||
t.Fatalf("bad: %v", out)
|
t.Fatalf("bad: %v", out)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// List json
|
||||||
|
if code := cmd.Run([]string{"-address=" + url, "-token=" + token.SecretID, "-json"}); code != 0 {
|
||||||
|
t.Fatalf("expected exit 0, got: %d; %v", code, ui.ErrorWriter.String())
|
||||||
|
}
|
||||||
|
out = ui.OutputWriter.String()
|
||||||
|
if !strings.Contains(out, "CreateIndex") {
|
||||||
|
t.Fatalf("expected json output, got: %s", out)
|
||||||
|
}
|
||||||
|
ui.OutputWriter.Reset()
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,6 @@ func TestNamespaceListCommand_List(t *testing.T) {
|
||||||
ui.OutputWriter.Reset()
|
ui.OutputWriter.Reset()
|
||||||
|
|
||||||
// List json
|
// List json
|
||||||
t.Log(url)
|
|
||||||
if code := cmd.Run([]string{"-address=" + url, "-json"}); code != 0 {
|
if code := cmd.Run([]string{"-address=" + url, "-json"}); code != 0 {
|
||||||
t.Fatalf("expected exit 0, got: %d; %v", code, ui.ErrorWriter.String())
|
t.Fatalf("expected exit 0, got: %d; %v", code, ui.ErrorWriter.String())
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,12 @@ nomad acl policy list
|
||||||
## General Options
|
## General Options
|
||||||
|
|
||||||
<%= partial "docs/commands/_general_options" %>
|
<%= partial "docs/commands/_general_options" %>
|
||||||
|
#
|
||||||
|
## List Options
|
||||||
|
|
||||||
|
* `-json` : Output the namespaces in their JSON format.
|
||||||
|
|
||||||
|
* `-t` : Format and display the namespaces using a Go template.
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue