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

Function createRun

pkg/cmd/space/create/create.go:99–149  ·  view source on GitHub ↗
(opts *CreateOptions)

Source from the content-addressed store, hash-verified

97}
98
99func createRun(opts *CreateOptions) error {
100 if !opts.NoPrompt {
101 if err := PromptMissing(opts); err != nil {
102 return err
103 }
104 }
105 space := spaces.NewSpace(opts.Name.Value)
106
107 allTeams, err := opts.Client.Teams.GetAll()
108 if err != nil {
109 return err
110 }
111
112 allUsers, err := opts.Client.Users.GetAll()
113 if err != nil {
114 return err
115 }
116
117 for _, team := range opts.Teams.Value {
118 team, err := findTeam(allTeams, team)
119 if err != nil {
120 return err
121 }
122
123 space.SpaceManagersTeams = append(space.SpaceManagersTeams, team.ID)
124 }
125
126 for _, user := range opts.Users.Value {
127 user, err := findUser(allUsers, user)
128 if err != nil {
129 return err
130 }
131
132 space.SpaceManagersTeamMembers = append(space.SpaceManagersTeamMembers, user.GetID())
133 }
134
135 space.Description = opts.Description.Value
136
137 createdSpace, err := opts.Client.Spaces.Add(space)
138 if err != nil {
139 return err
140 }
141
142 fmt.Printf("%s The space, \"%s\" %s was created successfully.\n", output.Green("✔"), createdSpace.Name, output.Dimf("(%s)", createdSpace.ID))
143
144 if !opts.NoPrompt {
145 autoCmd := flag.GenerateAutomationCmd(opts.CmdPath, "", opts.Name, opts.Description, opts.Teams, opts.Users)
146 fmt.Fprintf(opts.Out, "\nAutomation Command: %s\n", autoCmd)
147 }
148 return nil
149}
150
151func findTeam(allTeams []*teams.Team, identifier string) (*teams.Team, error) {
152 for _, team := range allTeams {

Callers 1

NewCmdCreateFunction · 0.70

Calls 6

GreenFunction · 0.92
DimfFunction · 0.92
GenerateAutomationCmdFunction · 0.92
findTeamFunction · 0.85
findUserFunction · 0.85
PromptMissingFunction · 0.70

Tested by

no test coverage detected