azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
885 lines (516 loc) • 65.9 kB
JavaScript
/*** 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("./publicIPAddress.helper");
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, {
createAppGateway: function createAppGateway__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: "createAppGateway__1", line: 39 }; return __func(_, this, arguments, createAppGateway__1, 4, __frame, function __$createAppGateway__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 __$createAppGateway__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 __$createAppGateway__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 __$createAppGateway__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 __$createAppGateway__1() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$createAppGateway__1() {
self._showAppGateway(createdAppGateway); _(); }); }); }, true)); }); }, true)); }); },
setAppGateway: function setAppGateway__2(resourceGroup, appGatewayName, options, _) { var self, appGateway, capacity, __this = this; var __frame = { name: "setAppGateway__2", line: 152 }; return __func(_, this, arguments, setAppGateway__2, 3, __frame, function __$setAppGateway__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, options, __cb(_, __frame, 28, 9, function __$setAppGateway__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); }); }); }); },
addUrlPathMap: function addUrlPathMap__4(resourceGroup, appGatewayName, urlPathMapName, options, _) { var self, appGateway, backendHttpSettings, backendAddressPool, urlPathMap, __this = this; var __frame = { name: "addUrlPathMap__4", line: 199 }; return __func(_, this, arguments, addUrlPathMap__4, 4, __frame, function __$addUrlPathMap__4() { 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, options, __cb(_, __frame, 38, 9, function __$addUrlPathMap__4() { _(); }, true)); }, true)); }); },
setUrlPathMap: function setUrlPathMap__5(resourceGroup, appGatewayName, urlPathMapName, options, _) { var self, appGateway, urlPathMap, backendHttpSettings, backendAddressPool, redirectConfiguration, __this = this; var __frame = { name: "setUrlPathMap__5", line: 240 }; return __func(_, this, arguments, setUrlPathMap__5, 4, __frame, function __$setUrlPathMap__5() { 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))); } ;
urlPathMap = utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: urlPathMapName });
if (!urlPathMap) {
return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), urlPathMapName, appGatewayName))); } ;
if (options.httpSettingsName) {
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))); } ;
urlPathMap.defaultBackendHttpSettings = { id: backendHttpSettings.id }; } ;
if (options.addressPoolName) {
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.defaultBackendAddressPool = { id: backendAddressPool.id }; } ;
if (options.defaultRedirectConfigurationName) {
redirectConfiguration = utils.findFirstCaseIgnore(appGateway.redirectConfigurations, { name: options.defaultRedirectConfigurationName });
if (!redirectConfiguration) {
return _(new Error(util.format($("Redirect configuration with name \"%s\" not found for an application gateway \"%s\""), options.defaultRedirectConfigurationName, appGatewayName))); } ;
urlPathMap.defaultRedirectConfiguration = { id: redirectConfiguration.id }; } ;
return self._setAppGateway(resourceGroup, appGatewayName, appGateway, options, __cb(_, __frame, 36, 9, function __$setUrlPathMap__5() { _(); }, true)); }, true)); }); },
listUrlPathMaps: function listUrlPathMaps__6(resourceGroup, appGatewayName, options, _) { var self, appGateway, __this = this; var __frame = { name: "listUrlPathMaps__6", line: 279 }; return __func(_, this, arguments, listUrlPathMaps__6, 3, __frame, function __$listUrlPathMaps__6() { self = __this;
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"), appGatewayName))); } ;
self._listAppGatewayUrlPathMaps(appGateway); _(); }, true)); }); },
showUrlPathMap: function showUrlPathMap__7(resourceGroup, appGatewayName, urlPathMapName, options, _) { var self, appGateway, urlPathMap, __this = this; var __frame = { name: "showUrlPathMap__7", line: 290 }; return __func(_, this, arguments, showUrlPathMap__7, 4, __frame, function __$showUrlPathMap__7() { self = __this;
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"), appGatewayName))); } ;
urlPathMap = utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: urlPathMapName });
if (!urlPathMap) {
return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), urlPathMapName, appGatewayName))); } ;
self._showAppGatewayUrlPathMap(urlPathMap); _(); }, true)); }); },
removeUrlPathMap: function removeUrlPathMap__8(resourceGroup, appGatewayName, urlPathMapName, options, _) { var self, appGateway, index, __this = this; var __frame = { name: "removeUrlPathMap__8", line: 305 }; return __func(_, this, arguments, removeUrlPathMap__8, 4, __frame, function __$removeUrlPathMap__8() { 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__8(_) {
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, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -304, 17, function ___(__0, __3) { return (function __$removeUrlPathMap__8(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeUrlPathMap__8() {
appGateway.urlPathMaps.splice(index, 1);
return self._setAppGateway(resourceGroup, appGatewayName, appGateway, options, __cb(_, __frame, 16, 9, function __$removeUrlPathMap__8() { _(); }, true)); }); }, true)); }, true)); }); },
addMapRule: function addMapRule__9(resourceGroup, appGatewayName, ruleName, options, _) { var self, appGateway, urlPathMap, rule, backendHttpSettings, backendAddressPool, redirectConfiguration, __this = this; var __frame = { name: "addMapRule__9", line: 324 }; return __func(_, this, arguments, addMapRule__9, 4, __frame, function __$addMapRule__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"), appGatewayName))); } ;
urlPathMap = utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: options.urlPathMapName });
if (!urlPathMap) {
return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), options.urlPathMapName, appGatewayName))); } ;
if (utils.findFirstCaseIgnore(urlPathMap.pathRules, { name: ruleName })) {
return _(new Error(util.format($("A rule with name \"%s\" already exists in url path map \"%s\""), ruleName, options.urlPathMapName))); } ;
rule = {
name: ruleName,
paths: [options.path,] };
if (options.httpSettingsName) {
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))); } ;
rule.backendHttpSettings = { id: backendHttpSettings.id }; } ;
if (options.addressPoolName) {
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.backendAddressPool = { id: backendAddressPool.id }; } ;
if (options.redirectConfigurationName) {
redirectConfiguration = utils.findFirstCaseIgnore(appGateway.redirectConfigurations, { name: options.redirectConfigurationName });
if (!redirectConfiguration) {
return _(new Error(util.format($("Redirect configuration with name \"%s\" not found for an application gateway \"%s\""), options.redirectConfigurationName, appGatewayName))); } ;
rule.redirectConfiguration = { id: redirectConfiguration.id }; } ;
urlPathMap.pathRules.push(rule);
return self._setAppGateway(resourceGroup, appGatewayName, appGateway, options, __cb(_, __frame, 46, 9, function __$addMapRule__9() { _(); }, true)); }, true)); }); },
setMapRule: function setMapRule__10(resourceGroup, appGatewayName, ruleName, options, _) { var self, appGateway, urlPathMap, rule, backendHttpSettings, backendAddressPool, redirectConfiguration, __this = this; var __frame = { name: "setMapRule__10", line: 373 }; return __func(_, this, arguments, setMapRule__10, 4, __frame, function __$setMapRule__10() { 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))); } ;
urlPathMap = utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: options.urlPathMapName });
if (!urlPathMap) {
return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), options.urlPathMapName, appGatewayName))); } ;
rule = utils.findFirstCaseIgnore(urlPathMap.pathRules, { name: ruleName });
if (!rule) {
return _(new Error(util.format($("A rule with name \"%s\" not found in url path map \"%s\""), ruleName, options.urlPathMapName))); } ;
if (options.httpSettingsName) {
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))); } ;
rule.backendHttpSettings = { id: backendHttpSettings.id }; } ;
if (options.addressPoolName) {
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.backendAddressPool = { id: backendAddressPool.id }; } ;
if (options.redirectConfigurationName) {
redirectConfiguration = utils.findFirstCaseIgnore(appGateway.redirectConfigurations, { name: options.redirectConfigurationName });
if (!redirectConfiguration) {
return _(new Error(util.format($("Redirect configuration with name \"%s\" not found for an application gateway \"%s\""), options.redirectConfigurationName, appGatewayName))); } ;
rule.redirectConfiguration = { id: redirectConfiguration.id }; } ;
return self._setAppGateway(resourceGroup, appGatewayName, appGateway, options, __cb(_, __frame, 41, 9, function __$setMapRule__10() { _(); }, true)); }, true)); }); },
listUrlPathMapRules: function listUrlPathMapRules__11(resourceGroup, appGatewayName, urlPathMapName, options, _) { var self, appGateway, urlPathMap, __this = this; var __frame = { name: "listUrlPathMapRules__11", line: 417 }; return __func(_, this, arguments, listUrlPathMapRules__11, 4, __frame, function __$listUrlPathMapRules__11() { self = __this;
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"), appGatewayName))); } ;
urlPathMap = utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: urlPathMapName });
if (!urlPathMap) {
return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), urlPathMapName, appGatewayName))); } ;
self._listAppGatewayUrlPathMapRules(urlPathMap.pathRules); _(); }, true)); }); },
showUrlPathMapRule: function showUrlPathMapRule__12(resourceGroup, appGatewayName, urlPathMapName, ruleName, options, _) { var self, appGateway, urlPathMap, rule, __this = this; var __frame = { name: "showUrlPathMapRule__12", line: 433 }; return __func(_, this, arguments, showUrlPathMapRule__12, 5, __frame, function __$showUrlPathMapRule__12() { self = __this;
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"), appGatewayName))); } ;
urlPathMap = utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: urlPathMapName });
if (!urlPathMap) {
return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), urlPathMapName, appGatewayName))); } ;
rule = utils.findFirstCaseIgnore(urlPathMap.pathRules, { name: ruleName });
if (!rule) {
return _(new Error(util.format($("An url path map with name \"%s\" doesn't contain rule with name \"%s\""), urlPathMapName, ruleName))); } ;
self._showAppGatewayUrlPathMapRule(rule); _(); }, true)); }); },
removeMapRule: function removeMapRule__13(resourceGroup, appGatewayName, ruleName, options, _) { var self, appGateway, urlPathMap, index, __this = this; var __frame = { name: "removeMapRule__13", line: 453 }; return __func(_, this, arguments, removeMapRule__13, 4, __frame, function __$removeMapRule__13() { 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))); } ;
urlPathMap = utils.findFirstCaseIgnore(appGateway.urlPathMaps, { name: options.urlPathMapName });
if (!urlPathMap) {
return _(new Error(util.format($("An url path map with name \"%s\" not found in application gateway \"%s\""), options.urlPathMapName, appGatewayName))); } ;
index = utils.indexOfCaseIgnore(urlPathMap.pathRules, { name: ruleName });
if ((index === -1)) {
return _(new Error(util.format($("A rule with name \"%s\" not found in url path map \"%s\""), ruleName, options.urlPathMapName))); } ; return (function __$removeMapRule__13(_) {
var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete url path map rule \"%s\"? [y/n] "), ruleName), __cb(_, __frame, 17, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -452, 17, function ___(__0, __3) { return (function __$removeMapRule__13(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$removeMapRule__13() {
urlPathMap.pathRules.splice(index, 1);
return self._setAppGateway(resourceGroup, appGatewayName, appGateway, options, __cb(_, __frame, 21, 9, function __$removeMapRule__13() { _(); }, true)); }); }, true)); }, true)); }); },
createDisabledRuleGroup: function createDisabledRuleGroup__14(resourceGroup, appGatewayName, options, _) { var self, result, wafConfig, disabledRuleGroup, progress, __this = this; var __frame = { name: "createDisabledRuleGroup__14", line: 477 }; return __func(_, this, arguments, createDisabledRuleGroup__14, 3, __frame, function __$createDisabledRuleGroup__14() { self = __this;
return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 22, function ___(__0, __1) { result = __1;
if (!result) {
return _(new Error(util.format($("application gateway with name \"%s\" not found in the resource group \"%s\""), appGatewayName, resourceGroup))); } ;
wafConfig = result.webApplicationFirewallConfiguration;
if (!wafConfig) {
return _(new Error(util.format($("WAF config not found for application gateway with name \"%s\" in resource group \"%s\""), appGatewayName, resourceGroup))); } ;
if (!wafConfig.disabledRuleGroups) {
wafConfig.disabledRuleGroups = []; } ;
disabledRuleGroup = utils.findFirstCaseIgnore(wafConfig.disabledRuleGroups, { ruleGroupName: options.ruleGroupName });
if (disabledRuleGroup) {
return _(new Error(util.format($("rule group with name \"%s\" already exists", options.ruleGroupName)))); } ;
wafConfig.disabledRuleGroups.push({
ruleGroupName: options.ruleGroupName,
rules: (options.rules ? options.rules.split(",").map(utils.parseInt) : null) });
progress = self.interaction.progress(util.format($(("Adding new disabled rule group to application gateway " + "WAF configuration in \"%s\"")), appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$createDisabledRuleGroup__14() {
return self.networkManagementClient.applicationGateways.createOrUpdate(resourceGroup, appGatewayName, result, __cb(_, __frame, 31, 64, function ___(__0, __2) { result = __2; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$createDisabledRuleGroup__14() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$createDisabledRuleGroup__14() {
self._showAppGatewayWAFConfig(wafConfig); _(); }); }); }, true)); }); },
setDisabledRuleGroup: function setDisabledRuleGroup__15(resourceGroup, appGatewayName, options, _) { var self, result, wafConfig, disabledRuleGroup, progress, __this = this; var __frame = { name: "setDisabledRuleGroup__15", line: 516 }; return __func(_, this, arguments, setDisabledRuleGroup__15, 3, __frame, function __$setDisabledRuleGroup__15() { self = __this;
return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 22, function ___(__0, __1) { result = __1;
if (!result) {
return _(new Error(util.format($("application gateway with name \"%s\" not found in the resource group \"%s\""), appGatewayName, resourceGroup))); } ;
wafConfig = result.webApplicationFirewallConfiguration;
if (!wafConfig) {
return _(new Error(util.format($("WAF config not found for application gateway with name \"%s\" in resource group \"%s\""), appGatewayName, resourceGroup))); } ;
disabledRuleGroup = utils.findFirstCaseIgnore(wafConfig.disabledRuleGroups, { ruleGroupName: options.ruleGroupName });
if (!disabledRuleGroup) {
return _(new Error(util.format($("rule group with name \"%s\" is not found", options.ruleGroupName)))); } ;
disabledRuleGroup.rules = (options.rules ? options.rules.split(",").map(utils.parseInt) : null);
progress = self.interaction.progress(util.format($(("Updating disabled rule group \"%s\" in application gateway " + "WAF configuration in \"%s\"")), options.ruleGroupName, appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$setDisabledRuleGroup__15() {
return self.networkManagementClient.applicationGateways.createOrUpdate(resourceGroup, appGatewayName, result, __cb(_, __frame, 24, 64, function ___(__0, __2) { result = __2; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$setDisabledRuleGroup__15() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$setDisabledRuleGroup__15() {
self._showAppGatewayWAFConfig(wafConfig); _(); }); }); }, true)); }); },
showDisabledRuleGroup: function showDisabledRuleGroup__16(resourceGroup, appGatewayName, options, _) { var self, result, wafConfig, disabledRuleGroup, __this = this; var __frame = { name: "showDisabledRuleGroup__16", line: 548 }; return __func(_, this, arguments, showDisabledRuleGroup__16, 3, __frame, function __$showDisabledRuleGroup__16() { self = __this;
return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 22, function ___(__0, __1) { result = __1;
if (!result) {
return _(new Error(util.format($("application gateway with name \"%s\" not found in the resource group \"%s\""), appGatewayName, resourceGroup))); } ;
wafConfig = result.webApplicationFirewallConfiguration;
if (!wafConfig) {
return _(new Error(util.format($("WAF config not found for application gateway with name \"%s\" in resource group \"%s\""), appGatewayName, resourceGroup))); } ;
disabledRuleGroup = utils.findFirstCaseIgnore(wafConfig.disabledRuleGroups, { ruleGroupName: options.ruleGroupName });
if (!disabledRuleGroup) {
return _(new Error(util.format($("rule group with name \"%s\" is not disabled", options.ruleGroupName)))); } ;
self.interaction.formatOutput(disabledRuleGroup, function(group) {
self.output.nameValue($("Group name"), group.ruleGroupName);
self.output.nameValue($("Disabled rules"), (group.rules ? group.rules.join(", ") : "All rules are disabled")); }); _(); }, true)); }); },
listDisabledRuleGroups: function listDisabledRuleGroups__17(resourceGroup, appGatewayName, options, _) { var self, result, wafConfig, __this = this; var __frame = { name: "listDisabledRuleGroups__17", line: 573 }; return __func(_, this, arguments, listDisabledRuleGroups__17, 3, __frame, function __$listDisabledRuleGroups__17() { self = __this;
return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 22, function ___(__0, __1) { result = __1;
if (!result) {
return _(new Error(util.format($("application gateway with name \"%s\" not found in the resource group \"%s\""), appGatewayName, resourceGroup))); } ;
wafConfig = result.webApplicationFirewallConfiguration;
if (!wafConfig) {
return _(new Error(util.format($("WAF config not found for application gateway with name \"%s\" in resource group \"%s\""), appGatewayName, resourceGroup))); } ;
self._listAppGatewayDisabledRuleGroup(wafConfig); _(); }, true)); }); },
deleteDisabledRuleGroup: function deleteDisabledRuleGroup__18(resourceGroup, appGatewayName, options, _) { var self, result, wafConfig, disabledRuleGroup, progress, __this = this; var __frame = { name: "deleteDisabledRuleGroup__18", line: 590 }; return __func(_, this, arguments, deleteDisabledRuleGroup__18, 3, __frame, function __$deleteDisabledRuleGroup__18() { self = __this;
return self.get(resourceGroup, appGatewayName, __cb(_, __frame, 2, 22, function ___(__0, __2) { result = __2;
if (!result) {
return _(new Error(util.format($("application gateway with name \"%s\" not found in the resource group \"%s\""), appGatewayName, resourceGroup))); } ;
wafConfig = result.webApplicationFirewallConfiguration;
if (!wafConfig) {
return _(new Error(util.format($("WAF config not found for application gateway with name \"%s\" in resource group \"%s\""), appGatewayName, resourceGroup))); } ;
disabledRuleGroup = utils.findFirstCaseIgnore(wafConfig.disabledRuleGroups, { ruleGroupName: options.ruleGroupName });
if (!disabledRuleGroup) {
return _(new Error(util.format($("rule group with name \"%s\" is not found", options.ruleGroupName)))); } ; return (function __$deleteDisabledRuleGroup__18(_) {
var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete disabled rule group \"%s\"? [y/n] "), disabledRuleGroup.ruleGroupName), __cb(_, __frame, 19, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -589, 17, function ___(__0, __3) { return (function __$deleteDisabledRuleGroup__18(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$deleteDisabledRuleGroup__18() {
wafConfig.disabledRuleGroups.splice(wafConfig.disabledRuleGroups.indexOf(disabledRuleGroup), 1);
progress = self.interaction.progress(util.format($(("Deleting disabled rule group \"%s\" from application gateway " + "WAF configuration in \"%s\"")), disabledRuleGroup.ruleGroupName, appGatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$deleteDisabledRuleGroup__18() {
return self.networkManagementClient.applicationGateways.createOrUpdate(resourceGroup, appGatewayName, result, __cb(_, __frame, 28, 64, function ___(__0, __4) { result = __4; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$deleteDisabledRuleGroup__18() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$deleteDisabledRuleGroup__18() {
self._showAppGatewayWAFConfig(wafConfig); _(); }); }); }); }, true)); }, true)); }); },
listAvailableSslOptions: function listAvailableSslOptions__19(options, _) { var self, result, progress, __this = this; var __frame = { name: "listAvailableSslOptions__19", line: 626 }; return __func(_, this, arguments, listAvailableSslOptions__19, 1, __frame, function __$listAvailableSslOptions__19() { self = __this;
progress = self.interaction.progress($("Getting list of all available SSL options")); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$listAvailableSslOptions__19() {
return self.networkManagementClient.applicationGateways.listAvailableSslOptions(__cb(_, __frame, 6, 64, function ___(__0, __1) { result = __1; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$listAvailableSslOptions__19() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$listAvailableSslOptions__19() {
self._listAppGatewayAvailableSslOptions(result); _(); }); }); }); },
getSslPredefinedPolicy: function getSslPredefinedPolicy__20(name, options, _) { var self, result, progress, __this = this; var __frame = { name: "getSslPredefinedPolicy__20", line: 640 }; return __func(_, this, arguments, getSslPredefinedPolicy__20, 2, __frame, function __$getSslPredefinedPolicy__20() { self = __this;
progress = self.interaction.progress(util.format($("Getting details of Ssl predefined policy with the name \"%s\""), name)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getSslPredefinedPolicy__20() {
return self.networkManagementClient.applicationGateways.getSslPredefinedPolicy(name, __cb(_, __frame, 6, 64, function ___(__0, __1) { result = __1; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$getSslPredefinedPolicy__20() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$getSslPredefinedPolicy__20() {
self._showAppGatewayPredefinedPolicy(result); _(); }); }); }); },
listSslPredefinedPolicies: function listSslPredefinedPolicies__21(options, _) { var self, result, progress, __this = this; var __frame = { name: "listSslPredefinedPolicies__21", line: 654 }; return __func(_, this, arguments, listSslPredefinedPolicies__21, 1, __frame, function __$listSslPredefinedPolicies__21() { self = __this;
progress = self.interaction.progress($("Getting list of all Ssl predefined policies")); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$listSslPredefinedPolicies__21() {
return self.networkManagementClient.applicationGateways.listAvailableSslPredefinedPolicies(__cb(_, __frame, 6, 64, function ___(__0, __1) { result = __1; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$listSslPredefinedPolicies__21() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$listSslPredefinedPolicies__21() {
self._listAppGatewayPredefinedPolicies(result); _(); }); }); }); },
_generateResourceId: function(resourceGroup, appGatewayName, resourceType, resourceName) {
var id = "";
id += "/subscriptions/";
id += encodeURIComponent(this.subscriptionId);
id += "/resourceGroups/";
id += encodeURIComponent(resourceGroup);
id += "/providers/";
id += "Microsoft.Network";
id += "/applicationGateways/";
id += encodeURIComponent(appGatewayName);
id += util.format($("/%s"), resourceType);
id += util.format($("/%s"), resourceName);
return id; },
_getAttributeNames: function(list) {
var namesString = "[";
var counter = 0;
list.forEach(function(item) {
if ((counter > 0)) {
namesString += ", "; } ;
namesString += item.name;
counter++; });
namesString += "]";
return namesString; },
_getSubscriptionId: function(options) {
var subscription = profile.current.getSubscription(options.subscription);
var client = utils.createResourceClient(subscription);
return client.credentials.subscriptionId; },
_listAppGatewayAddressPools: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.backendAddressPools, function(pools) {
var formattedPools = [];
var index = 0;
pools.forEach(function(pool) {
formattedPools.push({ name: pool.name, ips: [] });
pool.backendAddresses.forEach(function(ip) {
formattedPools[index].ips.push(ip.ipAddress); });
index++; });
formattedPools.forEach(function(item) {
self.output.nameValue($("Name"), item.name, indent);
self.output.header($("IP Addresses"), indent);
self.output.list(item.ips, (indent + 2));
self.output.data($(""), ""); }); }); },
_listAppGatewayAvailableSslOptions: function(options, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(options, function(options) {
self.output.nameValue($("Default Policy"), options.defaultPolicy, indent);
self.output.header($("Predefined Policies"), indent);
var policies = options.predefinedPolicies.map(function(policy) {
var split = policy.id.split("/");
return split[(split.length - 1)]; });
self.output.list(policies, (indent + 2));
self.output.header($("Available Protocols"), indent);
self.output.list(options.availableProtocols, (indent + 2));
self.output.header($("Available Cipher Suites"), indent);
self.output.list(options.availableCipherSuites, (indent + 2));
self.output.data($(""), ""); }); },
_listAppGatewayDisabledRuleGroup: function(wafConfig, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(wafConfig.disabledRuleGroups, function(disabledRuleGroups) {
if ((!disabledRuleGroups || (disabledRuleGroups.length === 0))) {
self.output.warn($("No disabled rule groups")); }
else {
disabledRuleGroups.forEach(function(group) {
self.output.nameValue($("Group name"), group.ruleGroupName, indent);
self.output.nameValue($("Disabled rules"), (group.rules ? group.rules.join(", ") : "All rules are disabled"), indent);
self.output.data($(""), ""); }); } ; }); },
_listAppGatewayFrontendIpConfigs: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.frontendIPConfigurations, function(frontendPorts) {
frontendPorts.forEach(function(item) {
self.output.nameValue($("Name"), item.name, indent);
self.output.nameValue($("Allocation method"), item.privateIPAllocationMethod, indent);
self.output.nameValue($("Private IP address"), item.privateIPAddress, indent);
self.output.data($(""), ""); }); }); },
_listAppGatewayFrontendPorts: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.frontendPorts, function(frontendPorts) {
frontendPorts.forEach(function(item) {
self.output.nameValue($("Name"), item.name, indent);
self.output.nameValue($("Port"), item.port, indent);
self.output.data($(""), ""); }); }); },
_listAppGatewayHttpListeners: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.httpListeners, function(listeners) {
listeners.forEach(function(listener) {
self._showAppGatewayHttpListener(listener, indent); }); }); },
_listAppGatewayHttpSettings: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.backendHttpSettingsCollection, function(httpSettings) {
httpSettings.forEach(function(item) {
self.output.nameValue($("Name"), item.name, indent);
self.output.nameValue($("Protocol"), item.protocol, indent);
self.output.nameValue($("Port"), item.port, indent);
self.output.nameValue($("Timeout"), item.requestTimeout, indent);
self.output.nameValue($("Cookie Based Affinity"), item.cookieBasedAffinity, indent);
self.output.data($(""), ""); }); }); },
_listAppGatewayPredefinedPolicies: function(policies, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(policies, function(policies) {
policies.forEach(function(policy) {
self._showAppGatewayPredefinedPolicy(policy, indent); }); }); },
_listAppGatewayProbes: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.probes, function(probes) {
probes.forEach(function(item) {
self.output.nameValue($("Name"), item.name, indent);
self.output.nameValue($("Protocol"), item.protocol, indent);
self.output.nameValue($("Host"), item.host, indent);
self.output.nameValue($("Path"), item.path, indent);
self.output.nameValue($("Interval"), item.interval, indent);
self.output.nameValue($("Timeout"), item.timeout, indent);
self.output.nameValue($("Unhealthy Threshold"), item.unhealthyThreshold, indent);
self.output.data($(""), ""); }); }); },
_listAppGatewayRoutingRules: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.requestRoutingRules, function(routingRules) {
routingRules.forEach(function(item) {
var listener = resourceUtils.getResourceInformation(item.httpListener.id);
self.output.nameValue($("Name"), item.name, indent);
self.output.nameValue($("Rule Type"), item.ruleType, indent);
self.output.nameValue($("Listener"), listener.resourceName, indent);
self.output.data($(""), ""); }); }); },
_listAppGatewaySslCerificates: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.sslCertificates, function(sslCerts) {
sslCerts.forEach(function(item) {
self.output.nameValue($("Name"), item.name, indent);
self.output.nameValue($("Provisioning State"), item.provisioningState, indent);
self.output.data($(""), ""); }); }); },
_listAppGatewayUrlPathMaps: function(appGateway, indent) {
var self = this;
if (!indent) { indent = 0; };
self.interaction.formatOutput(appGateway.urlPathMaps, function(urlPathMaps) {
urlPathMaps.forEach(function(urlPathMap) {
self._showAppGatewayUrlPathMap(urlPathMap, in