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

Function updateRun

pkg/cmd/tenant/variables/update/update.go:185–246  ·  view source on GitHub ↗
(opts *UpdateOptions)

Source from the content-addressed store, hash-verified

183}
184
185func updateRun(opts *UpdateOptions) error {
186 if !opts.NoPrompt {
187 err := PromptMissing(opts)
188 if err != nil {
189 return err
190 }
191 }
192
193 tenant, err := opts.GetTenantCallback(opts.Tenant.Value)
194 if err != nil {
195 return err
196 }
197
198 environmentMap, err := getEnvironmentMap(opts.GetAllEnvironmentsCallback)
199 if err != nil {
200 return err
201 }
202
203 if opts.LibraryVariableSet.Value != "" {
204 commonVariables, err := opts.GetTenantCommonVariables(tenant, true)
205 if err != nil {
206 return err
207 }
208
209 var commonVariableCommand variables.ModifyTenantCommonVariablesCommand
210
211 opts.Value.Secure, commonVariableCommand.Variables, err = UpdateCommonVariableValue(opts, commonVariables.Variables, commonVariables.MissingVariables, environmentMap)
212 if err != nil {
213 return err
214 }
215
216 _, err = tenants.UpdateCommonVariables(opts.Client, tenant.SpaceID, tenant.ID, &commonVariableCommand)
217 } else {
218 projectVariables, err := opts.GetTenantProjectVariables(tenant, true)
219
220 if err != nil {
221 return err
222 }
223
224 var projectVariableCommand variables.ModifyTenantProjectVariablesCommand
225
226 opts.Value.Secure, projectVariableCommand.Variables, err = UpdateProjectVariableValue(opts, projectVariables.Variables, projectVariables.MissingVariables, environmentMap)
227 if err != nil {
228 return err
229 }
230
231 _, err = tenants.UpdateProjectVariables(opts.Client, tenant.SpaceID, tenant.ID, &projectVariableCommand)
232 }
233
234 if err != nil {
235 return err
236 }
237
238 _, err = fmt.Fprintf(opts.Out, "Successfully updated variable '%s' for tenant '%s'\n", opts.Name.Value, tenant.Name)
239
240 if !opts.NoPrompt {
241 autoCmd := flag.GenerateAutomationCmd(opts.CmdPath, opts.GetSpaceNameOrEmpty(), opts.Tenant, opts.Name, opts.Value, opts.Project, opts.LibraryVariableSet, opts.Environments)
242 fmt.Fprintf(opts.Out, "\nAutomation Command: %s\n", autoCmd)

Callers 1

NewCmdUpdateFunction · 0.70

Calls 6

GenerateAutomationCmdFunction · 0.92
GetSpaceNameOrEmptyMethod · 0.80
PromptMissingFunction · 0.70
getEnvironmentMapFunction · 0.70

Tested by

no test coverage detected