exports.createWebSiteExtensionsClient = function (siteName, hostNameSuffix, username, password) { var baseUri = util.format('https://%s.scm.%s:443', siteName, hostNameSuffix); var azureWebSite = require('azure-asm-website'); var service = azureWebSite.createWebSiteExtensionsClient(siteName, new azureWebSite.createBasicAuthenticationCloudCredentials({ username: username, password: password, }), baseUri) .withFilter(log.createLogFilter()) .withFilter(azureCommon.UserAgentFilter.create(getUserAgent())) .withFilter(createPostBodyFilter()) .withFilter(createFollowRedirectFilter()); return service; };
exports.createBatchClient = function (accountName, accountKey, taskUri) { var batch = require('azure-batch'); var credentials = new batch.SharedKeyCredentials(accountName, accountKey); var options = {}; options.filters = [ log.createLogFilter(), azureCommon.UserAgentFilter.create(exports.getUserAgent()), exports.createPostBodyFilter(), exports.createFollowRedirectFilter(), ]; var client = new batch.ServiceClient(credentials, taskUri, options); return client; };
exports.createAutoRestClient = function (FactoryMethod, subscription) { ensureAADBackedSubscription(subscription); var credentials = subscription._createCredentials(); var subscriptionId = subscription.id; var baseUri = exports.stringTrimEnd(subscription.resourceManagerEndpointUrl, '/'); var options = {}; options.filters = [ exports.certAuthFilter(credentials), log.createLogFilter(), azureCommon.UserAgentFilter.create(exports.getUserAgent()), exports.createPostBodyFilter(), exports.createFollowRedirectFilter(), polishErrorCausedByArmProviderNotRegistered() ]; var client = new FactoryMethod(credentials, subscriptionId, baseUri, options); return client; };
exports.createClient = function (factoryMethod, credentials, endpoint, options) { if(!options) { options = {}; } var client = factoryMethod(credentials, exports.stringTrimEnd(endpoint, '/')) .withFilter(exports.certAuthFilter(credentials)) .withFilter(azureCommon.UserAgentFilter.create(exports.getUserAgent())) .withFilter(exports.createPostBodyFilter()) .withFilter(polishErrorCausedByArmProviderNotRegistered()); if(!options.disableAutoRedirect) { client = client.withFilter(exports.createFollowRedirectFilter()); } if(!options.disableLogFilter) { client = client.withFilter(log.createLogFilter()); } return client; };
exports.createAutoRestClient = function (FactoryMethod, subscription, options) { ensureAADBackedSubscription(subscription); var credentials = null; var baseUri = null; var subscriptionOrTenantId = null; if (options && options.isTenantBased && options.isTenantBased === true) { if (!options.endPoint) { options.endPoint = subscription.resourceManagerEndpointUrl; } subscriptionOrTenantId = subscription.tenantId; credentials = subscription._createCredentials(options.endPoint); baseUri = exports.stringTrimEnd(options.endPoint, '/'); } else { subscriptionOrTenantId = subscription.id; credentials = subscription._createCredentials(); baseUri = exports.stringTrimEnd(subscription.resourceManagerEndpointUrl, '/'); } var factoryMethodOptions = {}; factoryMethodOptions.filters = [ exports.certAuthFilter(credentials), log.createLogFilter(), azureCommon.UserAgentFilter.create(exports.getUserAgent()), exports.createPostBodyFilter(), exports.createFollowRedirectFilter(), polishErrorCausedByArmProviderNotRegistered() ]; // there are a subset of clients that do not require a subscription // TODO: need to figure out a way to pass options into factoryMethodOptions. if(options && options.noSubscription) { return new FactoryMethod(credentials, factoryMethodOptions); } else { return new FactoryMethod(credentials, subscriptionOrTenantId, baseUri, factoryMethodOptions); } };
exports.createAutoRestClient = function (FactoryMethod, subscription, options) { ensureAADBackedSubscription(subscription); var credentials = null; var baseUri = null; var subscriptionOrTenantId = null; if (options && options.isTenantBased && options.isTenantBased === true) { if (!options.endPoint) { options.endPoint = subscription.resourceManagerEndpointUrl; } subscriptionOrTenantId = subscription.tenantId; credentials = subscription._createCredentials(options.endPoint); baseUri = exports.stringTrimEnd(options.endPoint, '/'); } else { subscriptionOrTenantId = subscription.id; credentials = subscription._createCredentials(); baseUri = exports.stringTrimEnd(subscription.resourceManagerEndpointUrl, '/'); } var factoryMethodOptions = {}; factoryMethodOptions.filters = [ exports.certAuthFilter(credentials), log.createLogFilter(), azureCommon.UserAgentFilter.create(exports.getUserAgent()), exports.createPostBodyFilter(), exports.createFollowRedirectFilter(), polishErrorCausedByArmProviderNotRegistered() ]; // if the caller passes in a dnsSuffix with options, use that instead of the baseUri if(options && options.dnsSuffix) { return new FactoryMethod(credentials, subscriptionOrTenantId, options.dnsSuffix, factoryMethodOptions); } else { return new FactoryMethod(credentials, subscriptionOrTenantId, baseUri, factoryMethodOptions); } };