func setClientInspectors( client *autorest.Client, requestInspector autorest.PrepareDecorator, loggingModule string, ) { logger := loggo.GetLogger(loggingModule) client.ResponseInspector = tracing.RespondDecorator(logger) client.RequestInspector = tracing.PrepareDecorator(logger) if requestInspector != nil { tracer := client.RequestInspector client.RequestInspector = func(p autorest.Preparer) autorest.Preparer { p = tracer(p) p = requestInspector(p) return p } } }
func (env *azureEnviron) initEnviron() error { credAttrs := env.cloud.Credential.Attributes() env.subscriptionId = credAttrs[credAttrSubscriptionId] env.authorizer = &cloudSpecAuth{ cloud: env.cloud, sender: env.provider.config.Sender, } env.compute = compute.NewWithBaseURI(env.cloud.Endpoint, env.subscriptionId) env.resources = resources.NewWithBaseURI(env.cloud.Endpoint, env.subscriptionId) env.storage = storage.NewWithBaseURI(env.cloud.Endpoint, env.subscriptionId) env.network = network.NewWithBaseURI(env.cloud.Endpoint, env.subscriptionId) clients := map[string]*autorest.Client{ "azure.compute": &env.compute.Client, "azure.resources": &env.resources.Client, "azure.storage": &env.storage.Client, "azure.network": &env.network.Client, } for id, client := range clients { client.Authorizer = env.authorizer logger := loggo.GetLogger(id) if env.provider.config.Sender != nil { client.Sender = env.provider.config.Sender } client.ResponseInspector = tracing.RespondDecorator(logger) client.RequestInspector = tracing.PrepareDecorator(logger) if env.provider.config.RequestInspector != nil { tracer := client.RequestInspector inspector := env.provider.config.RequestInspector client.RequestInspector = func(p autorest.Preparer) autorest.Preparer { p = tracer(p) p = inspector(p) return p } } } return nil }