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

Function createRun

pkg/cmd/account/create/create.go:46–108  ·  view source on GitHub ↗
(f factory.Factory, c *cobra.Command)

Source from the content-addressed store, hash-verified

44}
45
46func createRun(f factory.Factory, c *cobra.Command) error {
47 dependencies := cmd.NewDependencies(f, c)
48
49 accountTypes := []string{
50 AwsAccount,
51 AzureAccount,
52 AzureOidcAccount,
53 GcpAccount,
54 SshAccount,
55 UsernamePasswordAccount,
56 TokenAccount,
57 }
58
59 var accountType string
60 err := f.Ask(&survey.Select{
61 Help: "The type of account being created.",
62 Message: "Account Type",
63 Options: accountTypes,
64 }, &accountType)
65 if err != nil {
66 return err
67 }
68
69 switch accountType {
70 case AwsAccount:
71 opts := awsCreate.NewCreateOptions(awsCreate.NewCreateFlags(), cmd.NewDependenciesFromExisting(dependencies, fmt.Sprintf("%s account aws create", constants.ExecutableName)))
72 if err := awsCreate.CreateRun(opts); err != nil {
73 return err
74 }
75 case AzureAccount:
76 opts := azureCreate.NewCreateOptions(azureCreate.NewCreateFlags(), cmd.NewDependenciesFromExisting(dependencies, fmt.Sprintf("%s account azure create", constants.ExecutableName)))
77 if err := azureCreate.CreateRun(opts); err != nil {
78 return err
79 }
80 case AzureOidcAccount:
81 opts := azureOidcCreate.NewCreateOptions(azureOidcCreate.NewCreateFlags(), cmd.NewDependenciesFromExisting(dependencies, fmt.Sprintf("%s account azure-oidc create", constants.ExecutableName)))
82 if err := azureOidcCreate.CreateRun(opts); err != nil {
83 return err
84 }
85 case GcpAccount:
86 opts := gcpCreate.NewCreateOptions(gcpCreate.NewCreateFlags(), cmd.NewDependenciesFromExisting(dependencies, fmt.Sprintf("%s account gcp create", constants.ExecutableName)))
87 if err := gcpCreate.CreateRun(opts); err != nil {
88 return err
89 }
90 case SshAccount:
91 opts := sshCreate.NewCreateOptions(sshCreate.NewCreateFlags(), cmd.NewDependenciesFromExisting(dependencies, fmt.Sprintf("%s account ssh create", constants.ExecutableName)))
92 if err := sshCreate.CreateRun(opts); err != nil {
93 return err
94 }
95 case TokenAccount:
96 opts := tokenCreate.NewCreateOptions(tokenCreate.NewCreateFlags(), cmd.NewDependenciesFromExisting(dependencies, fmt.Sprintf("%s account token create", constants.ExecutableName)))
97 if err := tokenCreate.CreateRun(opts); err != nil {
98 return err
99 }
100 case UsernamePasswordAccount:
101 opts := usernameCreate.NewCreateOptions(usernameCreate.NewCreateFlags(), cmd.NewDependenciesFromExisting(dependencies, fmt.Sprintf("%s account username create", constants.ExecutableName)))
102 if err := usernameCreate.CreateRun(opts); err != nil {
103 return err

Callers 1

NewCmdCreateFunction · 0.70

Calls 3

NewDependenciesFunction · 0.92
AskMethod · 0.65

Tested by

no test coverage detected