(ask question.Asker, variableType VariableType, callbacks *VariableCallbacks, template *actiontemplates.ActionTemplateParameter)
| 87 | } |
| 88 | |
| 89 | func 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 |
nothing calls this directly
no test coverage detected