github.com/loafoe/cli@v7.1.0+incompatible/command/v7/delete_space_quota_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/actionerror" 5 "code.cloudfoundry.org/cli/command/flag" 6 ) 7 8 type DeleteSpaceQuotaCommand struct { 9 BaseCommand 10 11 RequiredArgs flag.Quota `positional-args:"yes"` 12 Force bool `long:"force" short:"f" description:"Force deletion without confirmation"` 13 usage interface{} `usage:"CF_NAME delete-space-quota QUOTA [-f]"` 14 relatedCommands interface{} `related_commands:"space-quotas"` 15 } 16 17 func (cmd DeleteSpaceQuotaCommand) Execute(args []string) error { 18 err := cmd.SharedActor.CheckTarget(true, false) 19 if err != nil { 20 return err 21 } 22 23 user, err := cmd.Config.CurrentUser() 24 if err != nil { 25 return err 26 } 27 28 spaceQuotaName := cmd.RequiredArgs.Quota 29 30 if !cmd.Force { 31 promptMessage := "Really delete the space quota {{.QuotaName}} in org {{.OrgName}}?" 32 confirmedDelete, promptErr := cmd.UI.DisplayBoolPrompt(false, promptMessage, map[string]interface{}{ 33 "QuotaName": spaceQuotaName, 34 "OrgName": cmd.Config.TargetedOrganizationName(), 35 }) 36 37 if promptErr != nil { 38 return promptErr 39 } 40 41 if !confirmedDelete { 42 cmd.UI.DisplayText("Space quota '{{.QuotaName}}' has not been deleted.", map[string]interface{}{"QuotaName": spaceQuotaName}) 43 return nil 44 } 45 } 46 47 cmd.UI.DisplayTextWithFlavor("Deleting space quota {{.QuotaName}} for org {{.Org}} as {{.User}}...", 48 map[string]interface{}{ 49 "User": user.Name, 50 "Org": cmd.Config.TargetedOrganizationName(), 51 "QuotaName": spaceQuotaName, 52 }) 53 54 warnings, err := cmd.Actor.DeleteSpaceQuotaByName(spaceQuotaName, cmd.Config.TargetedOrganization().GUID) 55 56 cmd.UI.DisplayWarnings(warnings) 57 58 if err != nil { 59 switch err.(type) { 60 case actionerror.SpaceQuotaNotFoundForNameError: 61 cmd.UI.DisplayWarning(err.Error()) 62 default: 63 return err 64 } 65 } 66 67 cmd.UI.DisplayOK() 68 69 return nil 70 }