github.com/swisscom/cloudfoundry-cli@v7.1.0+incompatible/actor/v2action/target.go (about) 1 package v2action 2 3 import ( 4 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2" 5 6 "code.cloudfoundry.org/cli/util/configv3" 7 ) 8 9 type TargetSettings ccv2.TargetSettings 10 11 // ClearTarget clears target information from the actor. 12 func (actor Actor) ClearTarget() { 13 actor.Config.SetTargetInformation(configv3.TargetInformationArgs{}) 14 actor.Config.SetTokenInformation("", "", "") 15 } 16 17 // MinCLIVersion returns the minimum CLI version that the Cloud Controller 18 // requires. 19 func (actor Actor) MinCLIVersion() string { 20 return actor.CloudControllerClient.MinCLIVersion() 21 } 22 23 // SetTarget targets the Cloud Controller using the client and sets target 24 // information in the actor based on the response. 25 func (actor Actor) SetTarget(settings TargetSettings) (Warnings, error) { 26 if actor.Config.Target() == settings.URL && actor.Config.SkipSSLValidation() == settings.SkipSSLValidation { 27 return nil, nil 28 } 29 30 warnings, err := actor.CloudControllerClient.TargetCF(ccv2.TargetSettings(settings)) 31 if err != nil { 32 return Warnings(warnings), err 33 } 34 35 actor.Config.SetTargetInformation(configv3.TargetInformationArgs{ 36 Api: actor.CloudControllerClient.API(), 37 ApiVersion: actor.CloudControllerClient.APIVersion(), 38 Auth: actor.CloudControllerClient.AuthorizationEndpoint(), 39 MinCLIVersion: actor.CloudControllerClient.MinCLIVersion(), 40 Doppler: actor.CloudControllerClient.DopplerEndpoint(), 41 LogCache: actor.CloudControllerClient.LogCacheEndpoint(), 42 Routing: actor.CloudControllerClient.RoutingEndpoint(), 43 SkipSSLValidation: settings.SkipSSLValidation, 44 }) 45 actor.Config.SetTokenInformation("", "", "") 46 47 return Warnings(warnings), nil 48 } 49 50 func (actor Actor) AuthorizationEndpoint() string { 51 return actor.CloudControllerClient.AuthorizationEndpoint() 52 }