github.com/jasonkeene/cli@v6.14.1-0.20160816203908-ca5715166dfb+incompatible/cf/commands/environmentvariablegroup/running_environment_variable_group.go (about) 1 package environmentvariablegroup 2 3 import ( 4 "github.com/cloudfoundry/cli/cf/api/environmentvariablegroups" 5 "github.com/cloudfoundry/cli/cf/commandregistry" 6 "github.com/cloudfoundry/cli/cf/configuration/coreconfig" 7 "github.com/cloudfoundry/cli/cf/flags" 8 . "github.com/cloudfoundry/cli/cf/i18n" 9 "github.com/cloudfoundry/cli/cf/requirements" 10 "github.com/cloudfoundry/cli/cf/terminal" 11 ) 12 13 type RunningEnvironmentVariableGroup struct { 14 ui terminal.UI 15 config coreconfig.ReadWriter 16 environmentVariableGroupRepo environmentvariablegroups.Repository 17 } 18 19 func init() { 20 commandregistry.Register(&RunningEnvironmentVariableGroup{}) 21 } 22 23 func (cmd *RunningEnvironmentVariableGroup) MetaData() commandregistry.CommandMetadata { 24 return commandregistry.CommandMetadata{ 25 Name: "running-environment-variable-group", 26 Description: T("Retrieve the contents of the running environment variable group"), 27 ShortName: "revg", 28 Usage: []string{ 29 T("CF_NAME running-environment-variable-group"), 30 }, 31 } 32 } 33 34 func (cmd *RunningEnvironmentVariableGroup) Requirements(requirementsFactory requirements.Factory, fc flags.FlagContext) ([]requirements.Requirement, error) { 35 usageReq := requirements.NewUsageRequirement(commandregistry.CLICommandUsagePresenter(cmd), 36 T("No argument required"), 37 func() bool { 38 return len(fc.Args()) != 0 39 }, 40 ) 41 42 reqs := []requirements.Requirement{ 43 usageReq, 44 requirementsFactory.NewLoginRequirement(), 45 } 46 return reqs, nil 47 } 48 49 func (cmd *RunningEnvironmentVariableGroup) SetDependency(deps commandregistry.Dependency, pluginCall bool) commandregistry.Command { 50 cmd.ui = deps.UI 51 cmd.config = deps.Config 52 cmd.environmentVariableGroupRepo = deps.RepoLocator.GetEnvironmentVariableGroupsRepository() 53 return cmd 54 } 55 56 func (cmd *RunningEnvironmentVariableGroup) Execute(c flags.FlagContext) error { 57 cmd.ui.Say(T("Retrieving the contents of the running environment variable group as {{.Username}}...", map[string]interface{}{ 58 "Username": terminal.EntityNameColor(cmd.config.Username())})) 59 60 runningEnvVars, err := cmd.environmentVariableGroupRepo.ListRunning() 61 if err != nil { 62 return err 63 } 64 65 cmd.ui.Ok() 66 67 table := cmd.ui.Table([]string{T("Variable Name"), T("Assigned Value")}) 68 for _, envVar := range runningEnvVars { 69 table.Add(envVar.Name, envVar.Value) 70 } 71 err = table.Print() 72 if err != nil { 73 return err 74 } 75 return nil 76 }