github.com/orange-cloudfoundry/cli@v7.1.0+incompatible/command/v7/unset_label_command.go (about) 1 package v7 2 3 import ( 4 "code.cloudfoundry.org/cli/command" 5 "code.cloudfoundry.org/cli/command/flag" 6 "code.cloudfoundry.org/cli/types" 7 ) 8 9 //go:generate counterfeiter . LabelUnsetter 10 11 type LabelUnsetter interface { 12 Execute(resource TargetResource, labels map[string]types.NullString) error 13 } 14 15 type UnsetLabelCommand struct { 16 BaseCommand 17 18 RequiredArgs flag.UnsetLabelArgs `positional-args:"yes"` 19 usage interface{} `usage:"CF_NAME unset-label RESOURCE RESOURCE_NAME KEY...\n\nEXAMPLES:\n cf unset-label app dora ci_signature_sha2\n cf unset-label org business pci public-facing\n cf unset-label buildpack go_buildpack go -s cflinuxfs3\n\nRESOURCES:\n app\n buildpack\n domain\n org\n route\n service-broker\n service-offering\n service-plan\n space\n stack"` 20 relatedCommands interface{} `related_commands:"labels, set-label"` 21 BuildpackStack string `long:"stack" short:"s" description:"Specify stack to disambiguate buildpacks with the same name"` 22 ServiceBroker string `long:"broker" short:"b" description:"Specify a service broker to disambiguate service offerings or service plans with the same name."` 23 ServiceOffering string `long:"offering" short:"e" description:"Specify a service offering to disambiguate service plans with the same name."` 24 25 LabelUnsetter LabelUnsetter 26 } 27 28 func (cmd *UnsetLabelCommand) Setup(config command.Config, ui command.UI) error { 29 err := cmd.BaseCommand.Setup(config, ui) 30 if err != nil { 31 return err 32 } 33 34 cmd.LabelUnsetter = &LabelUpdater{ 35 UI: ui, 36 Config: config, 37 SharedActor: cmd.SharedActor, 38 Actor: cmd.Actor, 39 Action: Unset, 40 } 41 return nil 42 } 43 44 func (cmd UnsetLabelCommand) Execute(args []string) error { 45 labels := make(map[string]types.NullString) 46 for _, value := range cmd.RequiredArgs.LabelKeys { 47 labels[value] = types.NewNullString() 48 } 49 50 targetResource := TargetResource{ 51 ResourceType: cmd.RequiredArgs.ResourceType, 52 ResourceName: cmd.RequiredArgs.ResourceName, 53 BuildpackStack: cmd.BuildpackStack, 54 ServiceBroker: cmd.ServiceBroker, 55 ServiceOffering: cmd.ServiceOffering, 56 } 57 return cmd.LabelUnsetter.Execute(targetResource, labels) 58 }