github.com/LukasHeimann/cloudfoundrycli/v8@v8.4.4/command/v7/service_key_command.go (about) 1 package v7 2 3 import ( 4 "github.com/LukasHeimann/cloudfoundrycli/v8/command/flag" 5 ) 6 7 type ServiceKeyCommand struct { 8 BaseCommand 9 10 RequiredArgs flag.ServiceInstanceKey `positional-args:"yes"` 11 GUID bool `long:"guid" description:"Retrieve and display the given service-key's guid. All other output is suppressed."` 12 } 13 14 func (cmd ServiceKeyCommand) Execute(args []string) error { 15 if err := cmd.SharedActor.CheckTarget(true, true); err != nil { 16 return err 17 } 18 19 switch cmd.GUID { 20 case true: 21 return cmd.guid() 22 default: 23 return cmd.details() 24 } 25 } 26 27 func (cmd ServiceKeyCommand) Usage() string { 28 return `CF_NAME service-key SERVICE_INSTANCE SERVICE_KEY` 29 } 30 31 func (cmd ServiceKeyCommand) Examples() string { 32 return `CF_NAME service-key mydb mykey` 33 } 34 35 func (cmd ServiceKeyCommand) guid() error { 36 key, warnings, err := cmd.Actor.GetServiceKeyByServiceInstanceAndName( 37 cmd.RequiredArgs.ServiceInstance, 38 cmd.RequiredArgs.ServiceKey, 39 cmd.Config.TargetedSpace().GUID, 40 ) 41 switch err.(type) { 42 case nil: 43 cmd.UI.DisplayText(key.GUID) 44 return nil 45 default: 46 cmd.UI.DisplayWarnings(warnings) 47 return err 48 } 49 } 50 51 func (cmd ServiceKeyCommand) details() error { 52 user, err := cmd.Actor.GetCurrentUser() 53 if err != nil { 54 return err 55 } 56 57 cmd.UI.DisplayTextWithFlavor("Getting key {{.KeyName}} for service instance {{.ServiceInstanceName}} as {{.UserName}}...", map[string]interface{}{ 58 "ServiceInstanceName": cmd.RequiredArgs.ServiceInstance, 59 "KeyName": cmd.RequiredArgs.ServiceKey, 60 "UserName": user.Name, 61 }) 62 63 details, warnings, err := cmd.Actor.GetServiceKeyDetailsByServiceInstanceAndName( 64 cmd.RequiredArgs.ServiceInstance, 65 cmd.RequiredArgs.ServiceKey, 66 cmd.Config.TargetedSpace().GUID, 67 ) 68 cmd.UI.DisplayWarnings(warnings) 69 if err != nil { 70 return err 71 } 72 73 cmd.UI.DisplayNewline() 74 75 err = cmd.UI.DisplayJSON("", details) 76 if err != nil { 77 return err 78 } 79 80 return nil 81 }