(asker question.Asker, deployableEnvironments []*ephemeralenvironments.EphemeralEnvironment)
| 980 | } |
| 981 | |
| 982 | func selectEphemeralDeploymentEnvironments(asker question.Asker, deployableEnvironments []*ephemeralenvironments.EphemeralEnvironment) ([]*ephemeralenvironments.EphemeralEnvironment, error) { |
| 983 | var err error |
| 984 | optionMap, options := question.MakeItemMapAndOptions(deployableEnvironments, func(e *ephemeralenvironments.EphemeralEnvironment) string { return e.Name }) |
| 985 | var selectedKeys []string |
| 986 | err = asker(&survey.MultiSelect{ |
| 987 | Message: "Select environment(s)", |
| 988 | Options: options, |
| 989 | Default: nil, |
| 990 | }, &selectedKeys, survey.WithValidator(survey.Required)) |
| 991 | |
| 992 | if err != nil { |
| 993 | return nil, err |
| 994 | } |
| 995 | var selectedValues []*ephemeralenvironments.EphemeralEnvironment |
| 996 | for _, k := range selectedKeys { |
| 997 | if value, ok := optionMap[k]; ok { |
| 998 | selectedValues = append(selectedValues, value) |
| 999 | } // if we were to somehow get invalid answers, ignore them |
| 1000 | } |
| 1001 | return selectedValues, nil |
| 1002 | } |
| 1003 | |
| 1004 | func selectDeploymentEnvironments(asker question.Asker, octopus *octopusApiClient.Client, deployableEnvironmentIDs []string, nextDeployEnvironmentID string) ([]*environments.Environment, error) { |
| 1005 | allEnvs, nextDeployEnvironmentName, err := loadEnvironmentsForDeploy(octopus, deployableEnvironmentIDs, nextDeployEnvironmentID) |
no test coverage detected