()
| 149 | } |
| 150 | |
| 151 | func (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 | } |
no test coverage detected