github.com/loafoe/cli@v7.1.0+incompatible/command/v7/set_running_environment_variable_group_command.go (about) 1 package v7 2 3 import ( 4 "encoding/json" 5 "fmt" 6 7 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3" 8 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3/constant" 9 "code.cloudfoundry.org/cli/cf/errors" 10 "code.cloudfoundry.org/cli/command/flag" 11 ) 12 13 type SetRunningEnvironmentVariableGroupCommand struct { 14 BaseCommand 15 16 RequiredArgs flag.SetEnvVarGroup `positional-args:"yes"` 17 usage interface{} `usage:"CF_NAME set-running-environment-variable-group '{\"name\":\"value\",\"name\":\"value\"}'"` 18 relatedCommands interface{} `related_commands:"set-env, running-environment-variable-group"` 19 } 20 21 func (cmd SetRunningEnvironmentVariableGroupCommand) Execute(args []string) error { 22 err := cmd.SharedActor.CheckTarget(false, false) 23 if err != nil { 24 return err 25 } 26 27 user, err := cmd.Config.CurrentUser() 28 if err != nil { 29 return err 30 } 31 32 cmd.UI.DisplayTextWithFlavor("Setting the contents of the running environment variable group as {{.Username}}...", map[string]interface{}{ 33 "Username": user.Name, 34 }) 35 36 var envVars ccv3.EnvironmentVariables 37 err = json.Unmarshal([]byte(fmt.Sprintf(`{"var":%s}`, cmd.RequiredArgs.EnvVarGroupJson)), &envVars) 38 if err != nil { 39 return errors.New("Invalid environment variable group provided. Please provide a valid JSON object.") 40 } 41 42 warnings, err := cmd.Actor.SetEnvironmentVariableGroup( 43 constant.RunningEnvironmentVariableGroup, 44 envVars, 45 ) 46 cmd.UI.DisplayWarnings(warnings) 47 if err != nil { 48 return err 49 } 50 51 cmd.UI.DisplayOK() 52 53 return nil 54 }