github.com/dcarley/cf-cli@v6.24.1-0.20170220111324-4225ff346898+incompatible/command/v2/shared/new_clients.go (about) 1 package shared 2 3 import ( 4 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2" 5 ccWrapper "code.cloudfoundry.org/cli/api/cloudcontroller/wrapper" 6 "code.cloudfoundry.org/cli/api/uaa" 7 uaaWrapper "code.cloudfoundry.org/cli/api/uaa/wrapper" 8 "code.cloudfoundry.org/cli/command" 9 ) 10 11 // NewClients creates a new V2 Cloud Controller client and UAA client using the 12 // passed in config. 13 func NewClients(config command.Config, ui command.UI) (*ccv2.Client, *uaa.Client, error) { 14 if config.Target() == "" { 15 return nil, nil, command.NoAPISetError{ 16 BinaryName: config.BinaryName(), 17 } 18 } 19 20 ccClient := ccv2.NewClient(ccv2.Config{ 21 AppName: config.BinaryName(), 22 AppVersion: config.BinaryVersion(), 23 JobPollingTimeout: config.OverallPollingTimeout(), 24 JobPollingInterval: config.PollingInterval(), 25 }) 26 _, err := ccClient.TargetCF(ccv2.TargetSettings{ 27 URL: config.Target(), 28 SkipSSLValidation: config.SkipSSLValidation(), 29 DialTimeout: config.DialTimeout(), 30 }) 31 if err != nil { 32 return nil, nil, err 33 } 34 35 uaaClient := uaa.NewClient(uaa.Config{ 36 AppName: config.BinaryName(), 37 AppVersion: config.BinaryVersion(), 38 ClientID: config.UAAOAuthClient(), 39 ClientSecret: config.UAAOAuthClientSecret(), 40 DialTimeout: config.DialTimeout(), 41 SkipSSLValidation: config.SkipSSLValidation(), 42 URL: ccClient.TokenEndpoint(), 43 }) 44 45 verbose, location := config.Verbose() 46 if verbose { 47 ccClient.WrapConnection(ccWrapper.NewRequestLogger(command.NewRequestLoggerTerminalDisplay(ui))) 48 uaaClient.WrapConnection(uaaWrapper.NewRequestLogger(command.NewRequestLoggerTerminalDisplay(ui))) 49 } 50 if location != nil { 51 ccClient.WrapConnection(ccWrapper.NewRequestLogger(command.NewRequestLoggerFileWriter(ui, location))) 52 uaaClient.WrapConnection(uaaWrapper.NewRequestLogger(command.NewRequestLoggerFileWriter(ui, location))) 53 } 54 55 ccClient.WrapConnection(ccWrapper.NewUAAAuthentication(uaaClient, config)) 56 ccClient.WrapConnection(ccWrapper.NewRetryRequest(2)) 57 58 uaaClient.WrapConnection(uaaWrapper.NewUAAAuthentication(uaaClient, config)) 59 uaaClient.WrapConnection(uaaWrapper.NewRetryRequest(2)) 60 61 return ccClient, uaaClient, err 62 }