UNPKG

azure-cli

Version:

Microsoft Azure Cross Platform Command Line tool

736 lines (423 loc) 71.3 kB
/*** Generated by streamline 0.10.17 (callbacks) - DO NOT EDIT ***/ var __rt=require('streamline/lib/callbacks/runtime').runtime(__filename, false),__func=__rt.__func,__cb=__rt.__cb,__catch=__rt.__catch,__tryCatch=__rt.__tryCatch; var __ = require("underscore"); var constants = require("./constants"); var fs = require("fs"); var profile = require("../../../util/profile"); var PublicIp = require("./publicIp"); var resourceUtils = require("../resource/resourceUtils"); var Subnet = require("./subnet"); var tagUtils = require("../tag/tagUtils"); var util = require("util"); var utils = require("../../../util/utils"); var VNetUtil = require("../../../util/vnet.util"); var $ = utils.getLocaleString; function AppGateways(cli, networkManagementClient) { this.interaction = cli.interaction; this.networkManagementClient = networkManagementClient; this.output = cli.output; this.publicIpCrud = new PublicIp(cli, networkManagementClient); this.subnetCrud = new Subnet(cli, networkManagementClient); this.vnetUtil = new VNetUtil();}; __.extend(AppGateways.prototype, { create: function create__1(resourceGroup, appGatewayName, location, options, _) { var self, appGateway, subnetId, subnet, parameters, frontendIpID, frontendPortID, poolID, settingsID, listenerID, capacity, data, certID, progress, createdAppGateway, __this = this; var __frame = { name: "create__1", line: 39 }; return __func(_, this, arguments, create__1, 4, __frame, function __$create__1() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (appGateway) { return _(new Error(util.format($("Application gateway \"%s\" already exists in resource group \"%s\""), appGatewayName, resourceGroup))); } ; return (function __$create__1(__then) { if (options.subnetId) { subnetId = options.subnetId; __then(); } else { return self.subnetCrud.get(resourceGroup, options.vnetName, options.subnetName, __cb(_, __frame, 10, 35, function ___(__0, __2) { subnet = __2; if (!subnet) { return _(new Error(util.format($("Subnet \"%s\" not found in virtual network \"%s\""), options.subnetName, options.vnetName))); } ; subnetId = subnet.id; __then(); }, true)); } ; })(function __$create__1() { parameters = self._setDefaultAttributes(options); self.subscriptionId = self._getSubscriptionId(options); frontendIpID = self._generateResourceId(resourceGroup, appGatewayName, "frontendIPConfigurations", parameters.frontendIpName); frontendPortID = self._generateResourceId(resourceGroup, appGatewayName, "frontendPorts", parameters.frontendPortName); poolID = self._generateResourceId(resourceGroup, appGatewayName, "backendAddressPools", parameters.addressPoolName); settingsID = self._generateResourceId(resourceGroup, appGatewayName, "backendHttpSettingsCollection", parameters.httpSettingsName); listenerID = self._generateResourceId(resourceGroup, appGatewayName, "httpListeners", parameters.httpListenerName); appGateway = { name: appGatewayName, location: location, gatewayIPConfigurations: [{ name: parameters.gatewayIpName, subnet: { id: subnetId } },], frontendPorts: [{ name: parameters.frontendPortName, port: parseInt(parameters.frontendPort) },], backendAddressPools: [{ name: parameters.addressPoolName, backendAddresses: self._parseDnsServers(options), backendIPConfiguration: [] },], backendHttpSettingsCollection: [{ name: parameters.httpSettingsName, protocol: parameters.httpSettingsProtocol, port: parseInt(parameters.httpSettingsPort), cookieBasedAffinity: parameters.httpSettingsCookieBasedAffinity },], httpListeners: [{ name: parameters.httpListenerName, frontendIPConfiguration: { id: frontendIpID }, frontendPort: { id: frontendPortID }, protocol: parameters.httpListenerProtocol },], requestRoutingRules: [{ name: parameters.routingRuleName, ruleType: parameters.routingRuleType, backendAddressPool: { id: poolID }, backendHttpSettings: { id: settingsID }, httpListener: { id: listenerID } },] }; if (parameters.skuName) { utils.verifyParamExistsInCollection(constants.appGateway.sku.name, parameters.skuName, "--sku-name"); appGateway.sku = { name: parameters.skuName }; } ; if (options.skuTier) { utils.verifyParamExistsInCollection(constants.appGateway.sku.tier, parameters.skuTier, "--sku-tier"); appGateway.sku.tier = parameters.skuTier; } ; if (options.capacity) { capacity = parseInt(options.capacity); if (((capacity >= constants.appGateway.sku.capacity[0]) && (capacity <= constants.appGateway.sku.capacity[1]))) { appGateway.sku.capacity = capacity; } else { return _(new Error(util.format($("Given %s \"%s\" is invalid, supported values are: [%s]"), "--capacity", options.capacity, constants.appGateway.sku.capacity))); } ; } ; appGateway.frontendIPConfigurations = []; return self._parseFrontendIp(resourceGroup, appGatewayName, parameters.frontendIpName, parameters, __cb(_, __frame, 81, 50, function ___(__0, __3) { appGateway.frontendIPConfigurations.push(__3); if (parameters.certFile) { appGateway.sslCertificates = []; data = fs.readFileSync(parameters.certFile); appGateway.sslCertificates.push({ name: parameters.certName, password: parameters.certPassword, data: data.toString("base64") }); certID = self._generateResourceId(resourceGroup, appGatewayName, "sslCertificates", parameters.certName); appGateway.httpListeners[0].sslCertificate = { id: certID }; } ; if (utils.argHasValue(options.tags)) { tagUtils.appendTags(appGateway, options); } else { appGateway.tags = { }; } ; progress = self.interaction.progress(util.format($("Creating configuration for an application gateway \"%s\""), appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$create__1() { return self.networkManagementClient.applicationGateways.createOrUpdate(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 106, 75, function ___(__0, __4) { createdAppGateway = __4; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$create__1() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$create__1() { self._showAppGateway(createdAppGateway); _(); }); }); }, true)); }); }, true)); }); }, set: function set__2(resourceGroup, appGatewayName, options, _) { var self, appGateway, capacity, __this = this; var __frame = { name: "set__2", line: 152 }; return __func(_, this, arguments, set__2, 3, __frame, function __$set__2() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; if (options.skuName) { utils.verifyParamExistsInCollection(constants.appGateway.sku.name, options.skuName, "--sku-name"); appGateway.sku.name = options.skuName; } ; if (options.skuTier) { utils.verifyParamExistsInCollection(constants.appGateway.sku.tier, options.skuTier, "--sku-tier"); appGateway.sku.tier = options.skuTier; } ; if (options.capacity) { capacity = parseInt(options.capacity); if (((capacity >= constants.appGateway.sku.capacity[0]) && (capacity <= constants.appGateway.sku.capacity[1]))) { appGateway.sku.capacity = capacity; } else { return _(new Error(util.format($("Given %s \"%s\" is invalid, supported values are: [%s]"), "--capacity", options.capacity, constants.appGateway.sku.capacity))); } ; } ; if (utils.argHasValue(options.tags)) { tagUtils.appendTags(appGateway, options); } ; self.output.warn("Application gateway set command is a long-running process. It may take up to 15-20 minutes to complete."); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 28, 9, function __$set__2() { _(); }, true)); }, true)); }); }, get: function get__3(resourceGroup, appGatewayName, _) { var self, appGateway, progress, __this = this; var __frame = { name: "get__3", line: 183 }; return __func(_, this, arguments, get__3, 2, __frame, function __$get__3() { self = __this; progress = self.interaction.progress(util.format($("Looking up an application gateway \"%s\""), appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$get__3() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$get__3() { return self.networkManagementClient.applicationGateways.get(resourceGroup, appGatewayName, null, __cb(_, __frame, 5, 68, function ___(__0, __1) { appGateway = __1; __then(); }, true)); }); })(function ___(error, __result) { __catch(function __$get__3() { if (error) { if ((error.statusCode === 404)) { appGateway = null; } ; __then(); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$get__3() { _(null, null, true); }); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$get__3() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$get__3() { return _(null, appGateway); }); }); }); }, list: function list__4(options, _) { var self, appGateways, progress, __this = this; var __frame = { name: "list__4", line: 199 }; return __func(_, this, arguments, list__4, 1, __frame, function __$list__4() { self = __this; return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$list__4() { return (function __$list__4(__then) { if (options.resourceGroup) { progress = self.interaction.progress(util.format($("Looking up application gateways in resource group \"%s\""), options.resourceGroup)); return self.networkManagementClient.applicationGateways.list(options.resourceGroup, options, __cb(_, __frame, 7, 71, function ___(__0, __1) { appGateways = __1; __then(); }, true)); } else { progress = self.interaction.progress($("Looking up application gateways in all resource groups")); return self.networkManagementClient.applicationGateways.listAll(options, __cb(_, __frame, 10, 71, function ___(__0, __2) { appGateways = __2; __then(); }, true)); } ; })(function __$list__4() { _(null, null, true); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$list__4() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$list__4() { if (!appGateways) { self.output.warn(util.format($("No application gateways found in resource group \"%s\""), options.resourceGroup)); } ; self.interaction.formatOutput(appGateways, function(data) { if ((data.length === 0)) { self.output.warn(util.format($("No application gateways found in resource group \"%s\""), options.resourceGroup)); } else { self.output.table(data, function(row, gateway) { row.cell($("Name"), gateway.name); row.cell($("Provisioning state"), gateway.provisioningState); row.cell($("Location"), gateway.location); var resource = resourceUtils.getResourceInformation(gateway.id); row.cell($("Resource group"), resource.resourceGroup); }); } ; }); _(); }); }); }); }, show: function show__5(resourceGroup, appGatewayName, options, _) { var self, appGateway, __this = this; var __frame = { name: "show__5", line: 233 }; return __func(_, this, arguments, show__5, 3, __frame, function __$show__5() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (appGateway) { self._showAppGateway(appGateway); } else { self.output.warn(util.format($("An application gateway with name \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup)); } ; _(); }, true)); }); }, delete: function delete__6(resourceGroup, appGatewayName, options, _) { var self, appGateway, progress, __this = this; var __frame = { name: "delete__6", line: 244 }; return __func(_, this, arguments, delete__6, 3, __frame, function __$delete__6() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 3, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { self.output.warn(util.format($("An application gateway with name \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup)); return _(null); } ; return (function __$delete__6(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete an application gateway \"%s\"? [y/n] "), appGatewayName), __cb(_, __frame, 8, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -243, 17, function ___(__0, __3) { return (function __$delete__6(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$delete__6() { progress = self.interaction.progress(util.format($("Deleting an application gateway \"%s\""), appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$delete__6() { return self.networkManagementClient.applicationGateways.deleteMethod(resourceGroup, appGatewayName, __cb(_, __frame, 14, 55, function __$delete__6() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$delete__6() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$delete__6() { _(); }); }); }); }, true)); }, true)); }); }, start: function start__7(resourceGroup, appGatewayName, options, _) { var self, appGateway, progress, __this = this; var __frame = { name: "start__7", line: 264 }; return __func(_, this, arguments, start__7, 3, __frame, function __$start__7() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("An application gateway with name \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; self.output.warn("Application gateway start command is a long-running process. It may take up to 15-20 minutes to complete."); progress = self.interaction.progress(util.format($("Starting an application gateway \"%s\""), appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$start__7() { return self.networkManagementClient.applicationGateways.start(resourceGroup, appGatewayName, __cb(_, __frame, 12, 55, function __$start__7() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$start__7() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$start__7() { _(); }); }); }, true)); }); }, stop: function stop__8(resourceGroup, appGatewayName, options, _) { var self, appGateway, progress, __this = this; var __frame = { name: "stop__8", line: 282 }; return __func(_, this, arguments, stop__8, 3, __frame, function __$stop__8() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("An application gateway with name \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; progress = self.interaction.progress(util.format($("Stopping an application gateway \"%s\""), appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$stop__8() { return self.networkManagementClient.applicationGateways.stop(resourceGroup, appGatewayName, __cb(_, __frame, 10, 55, function __$stop__8() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$stop__8() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$stop__8() { _(); }); }); }, true)); }); }, addSsl: function addSsl__9(resourceGroup, appGatewayName, certName, options, _) { var self, appGateway, certificateObject, data, __this = this; var __frame = { name: "addSsl__9", line: 298 }; return __func(_, this, arguments, addSsl__9, 4, __frame, function __$addSsl__9() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; if (utils.stringIsNullOrEmpty(options.certFile)) { return _(new Error($("--cert-file parameter must not be empty"))); } ; if (utils.stringIsNullOrEmpty(options.certPassword)) { return _(new Error($("--cert-password parameter must not be empty"))); } ; certificateObject = { password: options.certPassword, name: certName }; return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$addSsl__9() { data = fs.readFileSync(options.certFile); __then(); }); })(function ___(e, __result) { __catch(function __$addSsl__9() { if (e) { if ((e.code === "ENONT")) { return _(new Error(util.format($("File \"%s\" not found"), options.certFile))); } ; __then(); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$addSsl__9() { certificateObject.data = data.toString("base64"); appGateway.sslCertificates.push(certificateObject); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 26, 9, function __$addSsl__9() { _(); }, true)); }); }); }, true)); }); }, removeSsl: function removeSsl__10(resourceGroup, appGatewayName, certName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeSsl__10", line: 327 }; return __func(_, this, arguments, removeSsl__10, 4, __frame, function __$removeSsl__10() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 3, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; index = utils.indexOfCaseIgnore(appGateway.sslCertificates, { name: certName }); return (function __$removeSsl__10(__then) { if ((index !== -1)) { return (function __$removeSsl__10(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete an ssl certificate \"%s\"? [y/n] "), certName), __cb(_, __frame, 10, 46, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -326, 17, function ___(__0, __3) { return (function __$removeSsl__10(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeSsl__10() { appGateway.sslCertificates.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 14, 11, __then, true)); }); }, true)); } else { return _(new Error(util.format($("SSL certificate with name \"%s\" not found for an application gateway \"%s\""), certName, appGatewayName))); } ; })(_); }, true)); }); }, addFrontendIp: function addFrontendIp__11(resourceGroup, appGatewayName, frontendIpName, options, _) { var self, appGateway, frontendIp, __this = this; var __frame = { name: "addFrontendIp__11", line: 347 }; return __func(_, this, arguments, addFrontendIp__11, 4, __frame, function __$addFrontendIp__11() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; frontendIp = utils.findFirstCaseIgnore(appGateway.frontendIPConfigurations, { name: frontendIpName }); if (frontendIp) { return _(new Error(util.format($("A frontend ip with name \"%s\" already exists for an application gateway \"%s\""), frontendIpName, appGatewayName))); } ; return self._parseFrontendIp(resourceGroup, appGatewayName, frontendIpName, options, __cb(_, __frame, 12, 22, function ___(__0, __2) { frontendIp = __2; appGateway.frontendIPConfigurations.push(frontendIp); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 14, 9, function __$addFrontendIp__11() { _(); }, true)); }, true)); }, true)); }); }, removeFrontendIp: function removeFrontendIp__12(resourceGroup, appGatewayName, frontendIpName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeFrontendIp__12", line: 364 }; return __func(_, this, arguments, removeFrontendIp__12, 4, __frame, function __$removeFrontendIp__12() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; index = utils.indexOfCaseIgnore(appGateway.frontendIPConfigurations, { name: frontendIpName }); if ((index === -1)) { return _(new Error(util.format($("A frontend ip with name \"%s\" not found for an application gateway \"%s\""), frontendIpName, appGatewayName))); } ; return (function __$removeFrontendIp__12(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete a frontend ip \"%s\"? [y/n] "), frontendIpName), __cb(_, __frame, 12, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -363, 17, function ___(__0, __3) { return (function __$removeFrontendIp__12(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeFrontendIp__12() { appGateway.frontendIPConfigurations.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 16, 9, function __$removeFrontendIp__12() { _(); }, true)); }); }, true)); }, true)); }); }, addFrontendPort: function addFrontendPort__13(resourceGroup, appGatewayName, frontendPortName, options, _) { var self, appGateway, frontendPort, __this = this; var __frame = { name: "addFrontendPort__13", line: 383 }; return __func(_, this, arguments, addFrontendPort__13, 4, __frame, function __$addFrontendPort__13() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; frontendPort = utils.findFirstCaseIgnore(appGateway.frontendPorts, { name: frontendPortName }); if (frontendPort) { return _(new Error(util.format($("A frontend port with name \"%s\" already exists for an application gateway \"%s\""), frontendPortName, appGatewayName))); } ; if (((options.port < constants.appGateway.settings.port[0]) || (options.port > constants.appGateway.settings.port[1]))) { return _(new Error(util.format($("A frontend port value must be in range [%s]"), constants.appGateway.settings.port))); } ; frontendPort = { name: frontendPortName, port: parseInt(options.port) }; self.output.warn("Application gateway add new frontend port command is a long-running process. It may take up to 15-20 minutes to complete."); appGateway.frontendPorts.push(frontendPort); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 21, 9, function __$addFrontendPort__13() { _(); }, true)); }, true)); }); }, removeFrontendPort: function removeFrontendPort__14(resourceGroup, appGatewayName, frontendPortName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeFrontendPort__14", line: 407 }; return __func(_, this, arguments, removeFrontendPort__14, 4, __frame, function __$removeFrontendPort__14() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; index = utils.indexOfCaseIgnore(appGateway.frontendPorts, { name: frontendPortName }); if ((index === -1)) { return _(new Error(util.format($("Frontend port with name \"%s\" not found for an application gateway \"%s\""), frontendPortName, appGatewayName))); } ; return (function __$removeFrontendPort__14(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete a frontend port \"%s\"? [y/n] "), frontendPortName), __cb(_, __frame, 12, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -406, 17, function ___(__0, __3) { return (function __$removeFrontendPort__14(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeFrontendPort__14() { self.output.warn("Application gateway remove frontend port command is a long-running process. It may take up to 15-20 minutes to complete."); appGateway.frontendPorts.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 18, 9, function __$removeFrontendPort__14() { _(); }, true)); }); }, true)); }, true)); }); }, addBackendAddressPool: function addBackendAddressPool__15(resourceGroup, appGatewayName, poolName, options, _) { var self, dnsServers, appGateway, pool, addressPool, __this = this; var __frame = { name: "addBackendAddressPool__15", line: 428 }; return __func(_, this, arguments, addBackendAddressPool__15, 4, __frame, function __$addBackendAddressPool__15() { self = __this; dnsServers = self._parseDnsServers(options); return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 3, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; pool = utils.findFirstCaseIgnore(appGateway.backendAddressPools, { name: poolName }); return (function __$addBackendAddressPool__15(__then) { if (pool) { return _(new Error(util.format($("A backend address pool with name \"%s\" already exists in application gateway \"%s\""), poolName, appGatewayName))); } else { addressPool = { name: poolName, backendAddresses: dnsServers }; appGateway.backendAddressPools.push(addressPool); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 18, 11, __then, true)); } ; })(_); }, true)); }); }, removeBackendAddressPool: function removeBackendAddressPool__16(resourceGroup, appGatewayName, poolName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeBackendAddressPool__16", line: 450 }; return __func(_, this, arguments, removeBackendAddressPool__16, 4, __frame, function __$removeBackendAddressPool__16() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; index = utils.indexOfCaseIgnore(appGateway.backendAddressPools, { name: poolName }); return (function __$removeBackendAddressPool__16(__then) { if ((index !== -1)) { return (function __$removeBackendAddressPool__16(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete a backend address pool \"%s\"? [y/n] "), poolName), __cb(_, __frame, 9, 46, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -449, 17, function ___(__0, __3) { return (function __$removeBackendAddressPool__16(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeBackendAddressPool__16() { appGateway.backendAddressPools.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 13, 11, __then, true)); }); }, true)); } else { return _(new Error(util.format($("A backend address pool with name \"%s\" not found for an application gateway \"%s\""), poolName, appGatewayName))); } ; })(_); }, true)); }); }, addHttpSettings: function addHttpSettings__17(resourceGroup, appGatewayName, httpSettingsName, options, _) { var self, appGateway, httpSettings, settings, __this = this; var __frame = { name: "addHttpSettings__17", line: 469 }; return __func(_, this, arguments, addHttpSettings__17, 4, __frame, function __$addHttpSettings__17() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; httpSettings = self._parseHttpSettings(httpSettingsName, options, true); settings = utils.findFirstCaseIgnore(appGateway.backendHttpSettingsCollection, { name: httpSettingsName }); return (function __$addHttpSettings__17(__then) { if (settings) { return _(new Error(util.format($("A http settings with name \"%s\" already exists for an application gateway \"%s\""), httpSettingsName, appGatewayName))); } else { appGateway.backendHttpSettingsCollection.push(httpSettings); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 13, 11, __then, true)); } ; })(_); }, true)); }); }, removeHttpSettings: function removeHttpSettings__18(resourceGroup, appGatewayName, httpSettingsName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeHttpSettings__18", line: 486 }; return __func(_, this, arguments, removeHttpSettings__18, 4, __frame, function __$removeHttpSettings__18() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; index = utils.indexOfCaseIgnore(appGateway.backendHttpSettingsCollection, { name: httpSettingsName }); return (function __$removeHttpSettings__18(__then) { if ((index !== -1)) { return (function __$removeHttpSettings__18(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete an http settings \"%s\"? [y/n] "), httpSettingsName), __cb(_, __frame, 9, 46, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -485, 17, function ___(__0, __3) { return (function __$removeHttpSettings__18(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeHttpSettings__18() { appGateway.backendHttpSettingsCollection.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 13, 11, __then, true)); }); }, true)); } else { return _(new Error(util.format($("An http settings with name \"%s\" not found for an application gateway \"%s\""), httpSettingsName, appGatewayName))); } ; })(_); }, true)); }); }, addHttpListener: function addHttpListener__19(resourceGroup, appGatewayName, httpListenerName, options, _) { var self, appGateway, httpListener, frontendIp, frontendPort, protocol, sslCert, __this = this; var __frame = { name: "addHttpListener__19", line: 505 }; return __func(_, this, arguments, addHttpListener__19, 4, __frame, function __$addHttpListener__19() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; if ((!appGateway.httpListeners || !appGateway.httpListeners.length)) { appGateway.httpListeners = []; } ; if (utils.findFirstCaseIgnore(appGateway.httpListeners, { name: httpListenerName })) { return _(new Error(util.format($("An http listener with name \"%s\" already exists for an application gateway \"%s\""), httpListenerName, appGatewayName))); } ; httpListener = { name: httpListenerName, protocol: constants.appGateway.settings.protocol[0] }; if (options.frontendIpName) { frontendIp = utils.findFirstCaseIgnore(appGateway.frontendIPConfigurations, { name: options.frontendIpName }); if (!frontendIp) { return _(new Error(util.format($("Frontend ip with name \"%s\" not found for an application gateway \"%s\""), options.frontendIpName, appGatewayName))); } ; httpListener.frontendIPConfiguration = frontendIp; } ; if (options.frontendPortName) { frontendPort = utils.findFirstCaseIgnore(appGateway.frontendPorts, { name: options.frontendPortName }); if (!frontendPort) { return _(new Error(util.format($("Frontend port with name \"%s\" not found for an application gateway \"%s\""), options.frontendPortName, appGatewayName))); } ; httpListener.frontendPort = frontendPort; } ; if (options.protocol) { protocol = options.protocol.toLowerCase(); if (((protocol === "https") && !options.sslCert)) { return _(new Error($("--ssl-cert parameter is required, when \"--protocol Https\" parameter is specified"))); } ; if (((protocol !== "http") && (protocol != "https"))) { return _(new Error(util.format($("\"%s\" protocol is not valid. Valid values are [%s]"), constants.appGateway.httpListener.protocol))); } ; httpListener.protocol = utils.capitalizeFirstLetter(protocol); } ; if (options.sslCert) { sslCert = utils.findFirstCaseIgnore(appGateway.sslCertificates, { name: options.sslCert }); if (!sslCert) { return _(new Error(util.format($("SSL certificate with name \"%s\" not found for an application gateway \"%s\""), options.sslCert, appGatewayName))); } ; httpListener.sslCertificate = sslCert; } ; self.output.warn("Application gateway add new http listener command is a long-running process. It may take up to 15-20 minutes to complete."); appGateway.httpListeners.push(httpListener); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 57, 9, function __$addHttpListener__19() { _(); }, true)); }, true)); }); }, removeHttpListener: function removeHttpListener__20(resourceGroup, appGatewayName, httpListenerName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeHttpListener__20", line: 565 }; return __func(_, this, arguments, removeHttpListener__20, 4, __frame, function __$removeHttpListener__20() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found in resource group \"%s\""), appGatewayName, resourceGroup))); } ; index = utils.indexOfCaseIgnore(appGateway.httpListeners, { name: httpListenerName }); if ((index === -1)) { return _(new Error(util.format($("Http listener with name \"%s\" not found for an application gateway \"%s\""), httpListenerName, appGatewayName))); } ; return (function __$removeHttpListener__20(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete http listener \"%s\"? [y/n] "), httpListenerName), __cb(_, __frame, 12, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -564, 17, function ___(__0, __3) { return (function __$removeHttpListener__20(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeHttpListener__20() { self.output.warn("Application gateway remove http listener command is a long-running process. It may take up to 15-20 minutes to complete."); appGateway.httpListeners.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 18, 9, function __$removeHttpListener__20() { _(); }, true)); }); }, true)); }, true)); }); }, addRequestRoutingRule: function addRequestRoutingRule__21(resourceGroup, appGatewayName, ruleName, options, _) { var self, appGateway, backendHttpSettings, httpListener, backendAddressPool, rule, __this = this; var __frame = { name: "addRequestRoutingRule__21", line: 586 }; return __func(_, this, arguments, addRequestRoutingRule__21, 4, __frame, function __$addRequestRoutingRule__21() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found"), appGatewayName))); } ; if (utils.findFirstCaseIgnore(appGateway.requestRoutingRules, { name: ruleName })) { return _(new Error(util.format($("A request routing rule with name \"%s\" already exists in application gateway \"%s\""), ruleName, appGatewayName))); } ; backendHttpSettings = utils.findFirstCaseIgnore(appGateway.backendHttpSettingsCollection, { name: options.httpSettingsName }); if (!backendHttpSettings) { return _(new Error(util.format($("A backend http settings with name \"%s\" not found in application gateway \"%s\""), options.httpSettingsName, appGatewayName))); } ; httpListener = utils.findFirstCaseIgnore(appGateway.httpListeners, { name: options.httpListenerName }); if (!httpListener) { return _(new Error(util.format($("Http listener with name \"%s\" not found for an application gateway \"%s\""), options.httpListenerName, appGatewayName))); } ; backendAddressPool = utils.findFirstCaseIgnore(appGateway.backendAddressPools, { name: options.addressPoolName }); if (!backendAddressPool) { return _(new Error(util.format($("Address pool with name \"%s\" not found for an application gateway \"%s\""), options.addressPoolName, appGatewayName))); } ; rule = { name: ruleName, type: constants.appGateway.routingRule.type[0], backendHttpSettings: backendHttpSettings, httpListener: httpListener, backendAddressPool: backendAddressPool }; if (options.type) { utils.verifyParamExistsInCollection(constants.appGateway.routingRule.type, options.type, "--type"); rule.type = options.type; } ; appGateway.requestRoutingRules.push(rule); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 40, 9, function __$addRequestRoutingRule__21() { _(); }, true)); }, true)); }); }, removeRequestRoutingRule: function removeRequestRoutingRule__22(resourceGroup, appGatewayName, ruleName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeRequestRoutingRule__22", line: 629 }; return __func(_, this, arguments, removeRequestRoutingRule__22, 4, __frame, function __$removeRequestRoutingRule__22() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found"), appGatewayName))); } ; index = utils.indexOfCaseIgnore(appGateway.requestRoutingRules, { name: ruleName }); if ((index === -1)) { return _(new Error(util.format($("An request routing rule with name \"%s\" not found in application gateway \"%s\""), ruleName, appGatewayName))); } ; return (function __$removeRequestRoutingRule__22(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete request routing rule \"%s\"? [y/n] "), ruleName), __cb(_, __frame, 12, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -628, 17, function ___(__0, __3) { return (function __$removeRequestRoutingRule__22(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeRequestRoutingRule__22() { appGateway.requestRoutingRules.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 16, 9, function __$removeRequestRoutingRule__22() { _(); }, true)); }); }, true)); }, true)); }); }, addProbe: function addProbe__23(resourceGroup, appGatewayName, probeName, options, _) { var self, appGateway, probe, __this = this; var __frame = { name: "addProbe__23", line: 648 }; return __func(_, this, arguments, addProbe__23, 4, __frame, function __$addProbe__23() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found"), appGatewayName))); } ; if (utils.findFirstCaseIgnore(appGateway.probes, { name: probeName })) { return _(new Error(util.format($("A probe with name \"%s\" already exists in application gateway \"%s\""), probeName, appGatewayName))); } ; probe = self._parseProbe(resourceGroup, appGatewayName, probeName, options); appGateway.probes.push(probe); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 13, 9, function __$addProbe__23() { _(); }, true)); }, true)); }); }, removeProbe: function removeProbe__24(resourceGroup, appGatewayName, probeName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeProbe__24", line: 664 }; return __func(_, this, arguments, removeProbe__24, 4, __frame, function __$removeProbe__24() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found"), appGatewayName))); } ; index = utils.indexOfCaseIgnore(appGateway.probes, { name: probeName }); if ((index === -1)) { return _(new Error(util.format($("A probe with name \"%s\" not found in application gateway \"%s\""), probeName, appGatewayName))); } ; return (function __$removeProbe__24(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete probe \"%s\"? [y/n] "), probeName), __cb(_, __frame, 12, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -663, 17, function ___(__0, __3) { return (function __$removeProbe__24(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeProbe__24() { appGateway.probes.splice(index, 1); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 16, 9, function __$removeProbe__24() { _(); }, true)); }); }, true)); }, true)); }); }, addUrlPathMap: function addUrlPathMap__25(resourceGroup, appGatewayName, urlPathMapName, options, _) { var self, appGateway, backendHttpSettings, backendAddressPool, urlPathMap, __this = this; var __frame = { name: "addUrlPathMap__25", line: 683 }; return __func(_, this, arguments, addUrlPathMap__25, 4, __frame, function __$addUrlPathMap__25() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __1) { appGateway = __1; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found"), appGatewayName))); } ; if (utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: urlPathMapName })) { return _(new Error(util.format($("An url path map with name \"%s\" already exists in application gateway \"%s\""), urlPathMapName, appGatewayName))); } ; backendHttpSettings = utils.findFirstCaseIgnore(appGateway.backendHttpSettingsCollection, { name: options.httpSettingsName }); if (!backendHttpSettings) { return _(new Error(util.format($("A backend http settings with name \"%s\" not found in application gateway \"%s\""), options.httpSettingsName, appGatewayName))); } ; backendAddressPool = utils.findFirstCaseIgnore(appGateway.backendAddressPools, { name: options.addressPoolName }); if (!backendAddressPool) { return _(new Error(util.format($("Address pool with name \"%s\" not found for an application gateway \"%s\""), options.addressPoolName, appGatewayName))); } ; urlPathMap = { name: urlPathMapName, defaultBackendAddressPool: { id: backendAddressPool.id }, defaultBackendHttpSettings: { id: backendHttpSettings.id }, pathRules: [{ name: options.ruleName, paths: [options.path,], backendAddressPool: { id: backendAddressPool.id }, backendHttpSettings: { id: backendHttpSettings.id } },] }; appGateway.urlPathMaps.push(urlPathMap); return self._setAppGateway(resourceGroup, appGatewayName, appGateway, __cb(_, __frame, 38, 9, function __$addUrlPathMap__25() { _(); }, true)); }, true)); }); }, removeUrlPathMap: function removeUrlPathMap__26(resourceGroup, appGatewayName, urlPathMapName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeUrlPathMap__26", line: 724 }; return __func(_, this, arguments, removeUrlPathMap__26, 4, __frame, function __$removeUrlPathMap__26() { self = __this; return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 26, function ___(__0, __2) { appGateway = __2; if (!appGateway) { return _(new Error(util.format($("Application gateway \"%s\" not found"), appGatewayName))); } ; index = utils.indexOfCaseIgnore(appGateway.urlPathMaps, { name: urlPathMapName }); if ((index === -1)) { return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), urlPathMapName, appGatewayName))); } ; return (function __$removeUrlPathMap__26(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete url path map \"%s\"? [y/n] "), urlPathMapName), __cb(_, __frame, 12,