func (c *addCommand) SetFlags(f *gnuflag.FlagSet) { c.ModelCommandBase.SetFlags(f) f.StringVar(&c.Series, "series", "", "The charm series") f.IntVar(&c.NumMachines, "n", 1, "The number of machines to add") f.StringVar(&c.ConstraintsStr, "constraints", "", "Additional machine constraints") f.Var(disksFlag{&c.Disks}, "disks", "Constraints for disks to attach to the machine") }
// 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 *upgradeCharmCommand) SetFlags(f *gnuflag.FlagSet) { c.ModelCommandBase.SetFlags(f) f.BoolVar(&c.ForceUnits, "force-units", false, "Upgrade all units immediately, even if in error state") f.StringVar((*string)(&c.Channel), "channel", "", "Channel to use when getting the charm or bundle from the charm store") f.BoolVar(&c.ForceSeries, "force-series", false, "Upgrade even if series of deployed applications are not supported by the new charm") f.StringVar(&c.SwitchURL, "switch", "", "Crossgrade to a different charm") f.StringVar(&c.CharmPath, "path", "", "Upgrade to a charm located at path") f.IntVar(&c.Revision, "revision", -1, "Explicit revision of current charm") f.Var(stringMap{&c.Resources}, "resource", "Resource to be uploaded to the controller") }
// 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, }) }
func (c *bootstrapCommand) SetFlags(f *gnuflag.FlagSet) { c.ModelCommandBase.SetFlags(f) f.StringVar(&c.ConstraintsStr, "constraints", "", "Set model constraints") f.StringVar(&c.BootstrapConstraintsStr, "bootstrap-constraints", "", "Specify bootstrap machine constraints") f.StringVar(&c.BootstrapSeries, "bootstrap-series", "", "Specify the series of the bootstrap machine") if featureflag.Enabled(feature.ImageMetadata) { f.StringVar(&c.BootstrapImage, "bootstrap-image", "", "Specify the image of the bootstrap machine") } f.BoolVar(&c.BuildAgent, "build-agent", false, "Build local version of agent binary before bootstrapping") f.StringVar(&c.MetadataSource, "metadata-source", "", "Local path to use as tools and/or metadata source") f.StringVar(&c.Placement, "to", "", "Placement directive indicating an instance to bootstrap") f.BoolVar(&c.KeepBrokenEnvironment, "keep-broken", false, "Do not destroy the model if bootstrap fails") f.BoolVar(&c.AutoUpgrade, "auto-upgrade", false, "Upgrade to the latest patch release tools on first bootstrap") f.StringVar(&c.AgentVersionParam, "agent-version", "", "Version of tools to use for Juju agents") f.StringVar(&c.CredentialName, "credential", "", "Credentials to use when bootstrapping") f.Var(&c.config, "config", "Specify a controller configuration file, or one or more configuration\n options\n (--config config.yaml [--config key=value ...])") f.StringVar(&c.hostedModelName, "d", defaultHostedModelName, "Name of the default hosted model for the controller") f.StringVar(&c.hostedModelName, "default-model", defaultHostedModelName, "Name of the default hosted model for the controller") f.BoolVar(&c.noGUI, "no-gui", false, "Do not install the Juju GUI in the controller when bootstrapping") f.BoolVar(&c.showClouds, "clouds", false, "Print the available clouds which can be used to bootstrap a Juju environment") f.StringVar(&c.showRegionsForCloud, "regions", "", "Print the available regions for the specified cloud") }
func (c *RelationSetCommand) SetFlags(f *gnuflag.FlagSet) { f.Var(c.relationIdProxy, "r", "specify a relation by id") f.Var(c.relationIdProxy, "relation", "") c.settingsFile.SetStdin() f.Var(&c.settingsFile, "file", "file containing key-value pairs") f.StringVar(&c.formatFlag, "format", "", "deprecated format flag") }
func (c *DeployCommand) SetFlags(f *gnuflag.FlagSet) { // Keep above charmOnlyFlags and bundleOnlyFlags lists updated when adding // new flags. c.UnitCommandBase.SetFlags(f) c.ModelCommandBase.SetFlags(f) f.IntVar(&c.NumUnits, "n", 1, "Number of application units to deploy for principal charms") f.StringVar((*string)(&c.Channel), "channel", "", "Channel to use when getting the charm or bundle from the charm store") f.Var(&c.Config, "config", "Path to yaml-formatted application config") f.StringVar(&c.ConstraintsStr, "constraints", "", "Set application constraints") f.StringVar(&c.Series, "series", "", "The series on which to deploy") f.BoolVar(&c.Force, "force", false, "Allow a charm to be deployed to a machine running an unsupported series") f.Var(storageFlag{&c.Storage, &c.BundleStorage}, "storage", "Charm storage constraints") f.Var(stringMap{&c.Resources}, "resource", "Resource to be uploaded to the controller") f.StringVar(&c.BindToSpaces, "bind", "", "Configure application endpoint bindings to spaces") for _, step := range c.Steps { step.SetFlags(f) } c.flagSet = f }
func (c *StorageGetCommand) SetFlags(f *gnuflag.FlagSet) { c.out.AddFlags(f, "smart", cmd.DefaultFormatters) f.Var(c.storageTagProxy, "s", "specify a storage instance by id") }
func (c *RelationListCommand) SetFlags(f *gnuflag.FlagSet) { c.out.AddFlags(f, "smart", cmd.DefaultFormatters) f.Var(c.relationIdProxy, "r", "specify a relation by id") f.Var(c.relationIdProxy, "relation", "") }
func (c *addModelCommand) SetFlags(f *gnuflag.FlagSet) { c.ControllerCommandBase.SetFlags(f) f.StringVar(&c.Owner, "owner", "", "The owner of the new model if not the current user") f.StringVar(&c.CredentialName, "credential", "", "Credential used to add the model") f.Var(&c.Config, "config", "Path to YAML model configuration file or individual options (--config config.yaml [--config key=value ...])") }
// AddFlags injects the --format and --output command line flags into f. func (c *Output) AddFlags(f *gnuflag.FlagSet, defaultFormatter string, formatters map[string]Formatter) { c.formatter = newFormatterValue(defaultFormatter, formatters) f.Var(c.formatter, "format", c.formatter.doc()) f.StringVar(&c.outPath, "o", "", "Specify an output file") f.StringVar(&c.outPath, "output", "", "") }
// SetFlags implements Command.SetFlags. func (c *killCommand) SetFlags(f *gnuflag.FlagSet) { c.destroyCommandBase.SetFlags(f) f.Var(newDurationValue(time.Minute*5, &c.timeout), "t", "Timeout before direct destruction") f.Var(newDurationValue(time.Minute*5, &c.timeout), "timeout", "") }
// SetFlags is part of the cmd.Command interface. func (c *configCommand) SetFlags(f *gnuflag.FlagSet) { c.ModelCommandBase.SetFlags(f) c.out.AddFlags(f, "yaml", output.DefaultFormatters) f.Var(&c.configFile, "file", "path to yaml-formatted application config") f.BoolVar(&c.reset, "reset", false, "Reset the provided keys to be empty") }
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") }