MCPcopy Create free account
hub / github.com/OctopusDeploy/cli / PromptValue

Function PromptValue

pkg/question/shared/variables/variables.go:89–165  ·  view source on GitHub ↗
(ask question.Asker, variableType VariableType, callbacks *VariableCallbacks, template *actiontemplates.ActionTemplateParameter)

Source from the content-addressed store, hash-verified

87}
88
89func PromptValue(ask question.Asker, variableType VariableType, callbacks *VariableCallbacks, template *actiontemplates.ActionTemplateParameter) (string, error) {
90 var value string
91 switch variableType {
92 case VariableTypeString:
93 if err := ask(&survey.Input{
94 Message: "Value",
95 }, &value); err != nil {
96 return "", err
97 }
98 return value, nil
99 case VariableTypeSensitive:
100 if err := ask(&survey.Password{
101 Message: "Value",
102 }, &value); err != nil {
103 return "", err
104 }
105 return value, nil
106 case VariableTypeAwsAccount, VariableTypeAzureAccount, VariableTypeGoogleCloudAccount:
107 accountType, err := mapVariableTypeToAccountType(variableType)
108 if err != nil {
109 return "", err
110 }
111 accountsByType, err := callbacks.GetAccountsByType(accountType)
112 if err != nil {
113 return "", err
114 }
115
116 selectedValue, err := selectors.ByName(ask, accountsByType, "Value")
117 if err != nil {
118 return "", err
119 }
120 return selectedValue.GetName(), nil
121 case VariableTypeWorkerPool:
122 workerPools, err := callbacks.GetAllWorkerPools()
123 if err != nil {
124 return "", err
125 }
126 selectedValue, err := selectors.Select(
127 ask,
128 "Value",
129 func() ([]*workerpools.WorkerPoolListResult, error) { return workerPools, nil },
130 func(item *workerpools.WorkerPoolListResult) string { return item.Name })
131 if err != nil {
132 return "", err
133 }
134 return selectedValue.Name, nil
135 case VariableTypeCertificate:
136 allCerts, err := callbacks.GetAllCertificates()
137 if err != nil {
138 return "", err
139 }
140 selectedValue, err := selectors.Select(
141 ask,
142 "Value",
143 func() ([]*certificates.CertificateResource, error) { return allCerts, nil },
144 func(item *certificates.CertificateResource) string { return item.Name })
145 if err != nil {
146 return "", err

Callers

nothing calls this directly

Calls 6

ByNameFunction · 0.92
SelectFunction · 0.92
SelectOptionsFunction · 0.92
GetSelectOptionsFunction · 0.85
GetNameMethod · 0.65

Tested by

no test coverage detected