(f factory.Factory)
| 64 | } |
| 65 | |
| 66 | func NewDeleteCmd(f factory.Factory) *cobra.Command { |
| 67 | deleteFlags := NewDeleteFlags() |
| 68 | cmd := &cobra.Command{ |
| 69 | Use: "delete {<name>}", |
| 70 | Aliases: []string{"del", "rm", "remove"}, |
| 71 | Short: "Delete a project variable", |
| 72 | Long: "Delete a project variable in Octopus Deploy", |
| 73 | Example: heredoc.Docf(` |
| 74 | %[1]s project variable delete --name "variable Name" --project "Deploy Site" |
| 75 | %[1]s project variable delete --name "variable Name" --id 26a58596-4cd9-e072-7215-7e15cb796dd2 --project "Deploy Site" --confirm |
| 76 | %[1]s project variable delete --name "variable Name" --project "Deploy Site" --git-ref "refs/heads/main" |
| 77 | `, constants.ExecutableName), |
| 78 | RunE: func(c *cobra.Command, args []string) error { |
| 79 | opts := NewDeleteOptions(deleteFlags, cmd.NewDependencies(f, c)) |
| 80 | |
| 81 | return DeleteRun(opts) |
| 82 | }, |
| 83 | } |
| 84 | |
| 85 | flags := cmd.Flags() |
| 86 | flags.StringVar(&deleteFlags.Id.Value, deleteFlags.Id.Name, "", "The id of the specific variable value to delete") |
| 87 | flags.StringVarP(&deleteFlags.Name.Value, deleteFlags.Name.Name, "n", "", "The name of the variable") |
| 88 | flags.StringVarP(&deleteFlags.Project.Value, deleteFlags.Project.Name, "p", "", "The project") |
| 89 | flags.StringVarP(&deleteFlags.GitRef.Value, deleteFlags.GitRef.Name, "", "", "The GitRef for the Config-As-Code branch") |
| 90 | question.RegisterConfirmDeletionFlag(cmd, &deleteFlags.Confirm.Value, "project variable") |
| 91 | |
| 92 | return cmd |
| 93 | } |
| 94 | |
| 95 | func DeleteRun(opts *DeleteOptions) error { |
| 96 | if opts.Name.Value == "" { |
nothing calls this directly
no test coverage detected