scale

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2018 License: MPL-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cmd = &command.Command{
	Cobra: &cobra.Command{
		Args:         cobra.NoArgs,
		Use:          "scale",
		Short:        "scale triton service group",
		SilenceUsage: true,
		PreRunE: func(cmd *cobra.Command, args []string) error {
			return nil
		},
		RunE: func(cmd *cobra.Command, args []string) error {
			c, err := tsgc.New()
			if err != nil {
				return err
			}

			a, err := scale.NewComputeClient(c)
			if err != nil {
				return err
			}

			return a.MaintainInstanceCount()
		},
	},
	Setup: func(parent *command.Command) error {
		{
			const (
				key          = config.KeyTsgGroupName
				longName     = "tsg-name"
				defaultValue = ""
				description  = "TSG Name"
			)

			flags := parent.Cobra.Flags()
			flags.String(longName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))

			parent.Cobra.MarkFlagRequired(longName)
		}

		{
			const (
				key          = config.KeyTsgTemplateID
				longName     = "template-id"
				defaultValue = ""
				description  = "TSG Template ID"
			)

			flags := parent.Cobra.Flags()
			flags.String(longName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))

			parent.Cobra.MarkFlagRequired(longName)
		}

		{
			const (
				key          = config.KeyInstanceCount
				longName     = "count"
				shortName    = "c"
				defaultValue = ""
				description  = "Expected Instance Count"
			)

			flags := parent.Cobra.Flags()
			flags.StringP(longName, shortName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))

			parent.Cobra.MarkFlagRequired(longName)

		}

		{
			const (
				key         = config.KeyInstanceTag
				longName    = "tag"
				shortName   = "t"
				description = "Instance Tags. This flag can be used multiple times"
			)

			flags := parent.Cobra.Flags()
			flags.StringSliceP(longName, shortName, nil, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		{
			flags := parent.Cobra.PersistentFlags()
			flags.SetNormalizeFunc(func(f *pflag.FlagSet, name string) pflag.NormalizedName {
				switch name {
				case "tag":
					name = "tags"
					break
				}

				return pflag.NormalizedName(name)
			})
		}

		{
			const (
				key          = config.KeyInstanceState
				longName     = "state"
				defaultValue = ""
				description  = "Instance state (e.g. running)"
			)

			flags := parent.Cobra.Flags()
			flags.String(longName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		{
			const (
				key          = config.KeyPackageId
				longName     = "pkg-id"
				defaultValue = ""
				description  = "Package id (defaults to ''). This takes precedence over 'pkg-name'"
			)

			flags := parent.Cobra.Flags()
			flags.String(longName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		{
			const (
				key          = config.KeyImageId
				longName     = "img-id"
				defaultValue = ""
				description  = "Image id (defaults to ''). This takes precedence over 'img-name'"
			)

			flags := parent.Cobra.Flags()
			flags.String(longName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		{
			const (
				key          = config.KeyInstanceFirewall
				longName     = "firewall"
				defaultValue = false
				description  = "Enable Cloud Firewall on this instance (defaults to false)"
			)

			flags := parent.Cobra.Flags()
			flags.Bool(longName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))

			viper.SetDefault(key, defaultValue)
		}

		{
			const (
				key         = config.KeyInstanceNetwork
				longName    = "networks"
				shortName   = "N"
				description = "One or more comma-separated networks IDs. This option can be used multiple times."
			)

			flags := parent.Cobra.Flags()
			flags.StringSliceP(longName, shortName, nil, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		{
			const (
				key         = config.KeyInstanceMetadata
				longName    = "metadata"
				shortName   = "m"
				description = `` /* 352-byte string literal not displayed */

			)

			flags := parent.Cobra.Flags()
			flags.StringSliceP(longName, shortName, nil, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		{
			const (
				key         = config.KeyInstanceAffinityRule
				longName    = "affinity"
				description = `` /* 581-byte string literal not displayed */

			)

			flags := parent.Cobra.Flags()
			flags.StringSlice(longName, nil, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		{
			const (
				key          = config.KeyInstanceUserdata
				longName     = "userdata"
				defaultValue = ""
				description  = "A custom script which will be executed by the instance right after creation, and on every instance reboot."
			)

			flags := parent.Cobra.Flags()
			flags.String(longName, defaultValue, description)
			viper.BindPFlag(key, flags.Lookup(longName))
		}

		return nil
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL