MCPcopy Create free account
hub / github.com/coder/coder / provisionerKeysDelete

Method provisionerKeysDelete

enterprise/cli/provisionerkeys.go:151–197  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

149}
150
151func (r *RootCmd) provisionerKeysDelete() *serpent.Command {
152 orgContext := agpl.NewOrganizationContext()
153
154 cmd := &serpent.Command{
155 Use: "delete <name>",
156 Short: "Delete a provisioner key",
157 Middleware: serpent.Chain(
158 serpent.RequireNArgs(1),
159 ),
160 Handler: func(inv *serpent.Invocation) error {
161 ctx := inv.Context()
162 client, err := r.InitClient(inv)
163 if err != nil {
164 return err
165 }
166
167 org, err := orgContext.Selected(inv, client)
168 if err != nil {
169 return xerrors.Errorf("current organization: %w", err)
170 }
171
172 _, err = cliui.Prompt(inv, cliui.PromptOptions{
173 Text: fmt.Sprintf("Are you sure you want to delete provisioner key %s?", pretty.Sprint(cliui.DefaultStyles.Keyword, inv.Args[0])),
174 IsConfirm: true,
175 })
176 if err != nil {
177 return err
178 }
179
180 err = client.DeleteProvisionerKey(ctx, org.ID, inv.Args[0])
181 if err != nil {
182 return xerrors.Errorf("delete provisioner key: %w", err)
183 }
184
185 _, _ = fmt.Fprintf(inv.Stdout, "Successfully deleted provisioner key %s!\n", pretty.Sprint(cliui.DefaultStyles.Keyword, strings.ToLower(inv.Args[0])))
186
187 return nil
188 },
189 }
190
191 cmd.Options = serpent.OptionSet{
192 cliui.SkipPromptOption(),
193 }
194 orgContext.AttachOptions(cmd)
195
196 return cmd
197}

Callers 1

provisionerKeysMethod · 0.95

Calls 8

InitClientMethod · 0.95
SelectedMethod · 0.95
AttachOptionsMethod · 0.95
PromptFunction · 0.92
SkipPromptOptionFunction · 0.92
ContextMethod · 0.65
DeleteProvisionerKeyMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected