github.com/sleungcy/cli@v7.1.0+incompatible/command/v7/staging_environment_variable_group_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/v7action" 5 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv3/constant" 6 "code.cloudfoundry.org/cli/util/ui" 7 ) 8 9 type StagingEnvironmentVariableGroupCommand struct { 10 BaseCommand 11 12 usage interface{} `usage:"CF_NAME staging-environment-variable-group"` 13 relatedCommands interface{} `related_commands:"env, running-environment-variable-group"` 14 } 15 16 func (cmd StagingEnvironmentVariableGroupCommand) Execute(args []string) error { 17 err := cmd.SharedActor.CheckTarget(false, false) 18 if err != nil { 19 return err 20 } 21 22 user, err := cmd.Config.CurrentUser() 23 if err != nil { 24 return err 25 } 26 27 cmd.UI.DisplayTextWithFlavor("Getting the staging environment variable group as {{.Username}}...", map[string]interface{}{ 28 "Username": user.Name, 29 }) 30 cmd.UI.DisplayNewline() 31 32 envVars, warnings, err := cmd.Actor.GetEnvironmentVariableGroup(constant.StagingEnvironmentVariableGroup) 33 cmd.UI.DisplayWarnings(warnings) 34 if err != nil { 35 return err 36 } 37 38 if len(envVars) == 0 { 39 cmd.UI.DisplayTextWithFlavor("No staging environment variable group has been set.") 40 } else { 41 table, err := buildEnvVarsTable(envVars) 42 if err != nil { 43 return err 44 } 45 46 cmd.UI.DisplayTableWithHeader("", table, ui.DefaultTableSpacePadding) 47 } 48 49 return nil 50 } 51 52 func buildEnvVarsTable(envVars v7action.EnvironmentVariableGroup) ([][]string, error) { 53 var keyValueTable = [][]string{ 54 {"variable name", "assigned value"}, 55 } 56 57 for envVarName, envVarValue := range envVars { 58 keyValueTable = append(keyValueTable, []string{ 59 envVarName, 60 envVarValue.Value, 61 }) 62 } 63 64 return keyValueTable, nil 65 }