// SetFlags implements Command.SetFlags. func (c *PoolListCommand) SetFlags(f *gnuflag.FlagSet) { c.StorageCommandBase.SetFlags(f) f.Var(cmd.NewAppendStringsValue(&c.Providers), "provider", "only show pools of these provider types") f.Var(cmd.NewAppendStringsValue(&c.Names), "name", "only show pools with these names") c.out.AddFlags(f, "yaml", map[string]cmd.Formatter{ "yaml": cmd.FormatYaml, "json": cmd.FormatJson, "tabular": formatPoolListTabular, }) }
// SetFlags implements Command.SetFlags. func (c *listImagesCommand) SetFlags(f *gnuflag.FlagSet) { c.cloudImageMetadataCommandBase.SetFlags(f) f.StringVar(&c.Stream, "stream", "", "image metadata stream") f.StringVar(&c.Region, "region", "", "image metadata cloud region") f.Var(cmd.NewAppendStringsValue(&c.Series), "series", "only show cloud image metadata for these series") f.Var(cmd.NewAppendStringsValue(&c.Arches), "arch", "only show cloud image metadata for these architectures") f.StringVar(&c.VirtType, "virt-type", "", "image metadata virtualisation type") f.StringVar(&c.RootStorageType, "storage-type", "", "image metadata root storage type") c.out.AddFlags(f, "tabular", map[string]cmd.Formatter{ "yaml": cmd.FormatYaml, "json": cmd.FormatJson, "tabular": formatMetadataListTabular, }) }
// SetFlags implements part of the cmd.Command interface. func (c *defaultsCommand) SetFlags(f *gnuflag.FlagSet) { c.ControllerCommandBase.SetFlags(f) c.out.AddFlags(f, "tabular", map[string]cmd.Formatter{ "yaml": cmd.FormatYaml, "json": cmd.FormatJson, "tabular": formatDefaultConfigTabular, }) f.Var(cmd.NewAppendStringsValue(&c.reset), "reset", "Reset the provided comma delimited keys") }
func (c *debugLogCommand) SetFlags(f *gnuflag.FlagSet) { c.ModelCommandBase.SetFlags(f) f.Var(cmd.NewAppendStringsValue(&c.params.IncludeEntity), "i", "Only show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.IncludeEntity), "include", "Only show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeEntity), "x", "Do not show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeEntity), "exclude", "Do not show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.IncludeModule), "include-module", "Only show log messages for these logging modules") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeModule), "exclude-module", "Do not show log messages for these logging modules") f.StringVar(&c.level, "l", "", "Log level to show, one of [TRACE, DEBUG, INFO, WARNING, ERROR]") f.StringVar(&c.level, "level", "", "") f.UintVar(&c.params.Backlog, "n", defaultLineCount, "Show this many of the most recent (possibly filtered) lines, and continue to append") f.UintVar(&c.params.Backlog, "lines", defaultLineCount, "") f.UintVar(&c.params.Limit, "limit", 0, "Exit once this many of the most recent (possibly filtered) lines are shown") f.BoolVar(&c.params.Replay, "replay", false, "Show the entire (possibly filtered) log and continue to append") f.BoolVar(&c.notail, "no-tail", false, "Stop after returning existing log messages") f.BoolVar(&c.tail, "tail", false, "Wait for new logs") f.BoolVar(&c.color, "color", false, "Force use of ANSI color codes") f.BoolVar(&c.utc, "utc", false, "Show times in UTC") f.BoolVar(&c.location, "location", false, "Show filename and line numbers") f.BoolVar(&c.date, "date", false, "Show dates as well as times") f.BoolVar(&c.ms, "ms", false, "Show times to millisecond precision") }
func (c *DebugLogCommand) SetFlags(f *gnuflag.FlagSet) { f.Var(cmd.NewAppendStringsValue(&c.params.IncludeEntity), "i", "only show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.IncludeEntity), "include", "only show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeEntity), "x", "do not show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeEntity), "exclude", "do not show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.IncludeModule), "include-module", "only show log messages for these logging modules") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeModule), "exclude-module", "do not show log messages for these logging modules") f.StringVar(&c.level, "l", "", "log level to show, one of [TRACE, DEBUG, INFO, WARNING, ERROR]") f.StringVar(&c.level, "level", "", "") f.UintVar(&c.params.Backlog, "n", defaultLineCount, "go back this many lines from the end before starting to filter") f.UintVar(&c.params.Backlog, "lines", defaultLineCount, "") f.UintVar(&c.params.Limit, "limit", 0, "show at most this many lines") f.BoolVar(&c.params.Replay, "replay", false, "start filtering from the start") }
func (*ArgsSuite) TestAppendStringsUsage(c *gc.C) { for i, test := range []struct { message string args []string expectedValue []string }{{ message: "no args", }, { message: "value set by args", args: []string{"--value", "foo", "--value=bar"}, expectedValue: []string{"foo", "bar"}, }} { c.Log(fmt.Sprintf("%v: %s", i, test.message)) f := gnuflag.NewFlagSet("test", gnuflag.ContinueOnError) f.SetOutput(ioutil.Discard) var value []string f.Var(cmd.NewAppendStringsValue(&value), "value", "help") err := f.Parse(false, test.args) c.Check(err, gc.IsNil) c.Check(value, gc.DeepEquals, test.expectedValue) } }
func (c *debugLogCommand) SetFlags(f *gnuflag.FlagSet) { f.Var(cmd.NewAppendStringsValue(&c.params.IncludeEntity), "i", "Only show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.IncludeEntity), "include", "Only show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeEntity), "x", "Do not show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeEntity), "exclude", "Do not show log messages for these entities") f.Var(cmd.NewAppendStringsValue(&c.params.IncludeModule), "include-module", "Only show log messages for these logging modules") f.Var(cmd.NewAppendStringsValue(&c.params.ExcludeModule), "exclude-module", "Do not show log messages for these logging modules") f.StringVar(&c.level, "l", "", "Log level to show, one of [TRACE, DEBUG, INFO, WARNING, ERROR]") f.StringVar(&c.level, "level", "", "") f.UintVar(&c.params.Backlog, "n", defaultLineCount, "Show this many of the most recent (possibly filtered) lines, and continue to append") f.UintVar(&c.params.Backlog, "lines", defaultLineCount, "") f.UintVar(&c.params.Limit, "limit", 0, "Exit once this many of the most recent (possibly filtered) lines are shown") f.BoolVar(&c.params.Replay, "replay", false, "Show the entire (possibly filtered) log and continue to append") f.BoolVar(&c.params.NoTail, "T", false, "Stop after returning existing log messages") f.BoolVar(&c.params.NoTail, "no-tail", false, "") }