github.com/franc20/ayesa_sap@v7.0.0-beta.28.0.20200124003224-302d4d52fa6c+incompatible/command/flag/deployment_strategy.go (about) 1 package flag 2 3 import ( 4 "strings" 5 6 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3/constant" 7 "github.com/jessevdk/go-flags" 8 ) 9 10 type DeploymentStrategy struct { 11 Name constant.DeploymentStrategy 12 } 13 14 func (DeploymentStrategy) Complete(prefix string) []flags.Completion { 15 return completions([]string{string(constant.DeploymentStrategyRolling)}, prefix, false) 16 } 17 18 func (h *DeploymentStrategy) UnmarshalFlag(val string) error { 19 valLower := strings.ToLower(val) 20 21 switch valLower { 22 23 case string(constant.DeploymentStrategyDefault): 24 case string(constant.DeploymentStrategyRolling): 25 h.Name = constant.DeploymentStrategy(valLower) 26 27 default: 28 return &flags.Error{ 29 Type: flags.ErrInvalidChoice, 30 Message: `STRATEGY must be "rolling" or not set`, 31 } 32 } 33 34 return nil 35 }