UNPKG

azure-cli

Version:

Microsoft Azure Cross Platform Command Line tool

785 lines (434 loc) 50.4 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 fs = require("fs"); var util = require("util"); var utils = require("../../../util/utils"); var validation = require("../../../util/validation"); var $ = utils.getLocaleString; var constants = require("./constants"); var tagUtils = require("../tag/tagUtils"); var resourceUtils = require("../resource/resourceUtils"); var PublicIp = require("./publicIp"); var Subnet = require("./subnet"); var LocalNetworkGateway = require("./localNetworkGateway"); function VirtualNetworkGateway(cli, networkManagementClient) { this.networkManagementClient = networkManagementClient; this.publicIpCrud = new PublicIp(cli, networkManagementClient); this.subnetCrud = new Subnet(cli, networkManagementClient); this.lnetGatewayCrud = new LocalNetworkGateway(cli, networkManagementClient); this.output = cli.output; this.interaction = cli.interaction;}; __.extend(VirtualNetworkGateway.prototype, { create: function create__1(resourceGroupName, gatewayName, options, _) { var self, defSubnetName, parameters, gateway, progress, __this = this; var __frame = { name: "create__1", line: 42 }; return __func(_, this, arguments, create__1, 3, __frame, function __$create__1() { self = __this; return (function __$create__1(__then) { if ((!options.publicIpId && !options.publicIpName)) { return self.interaction.prompt($("Public IP name: "), __cb(_, __frame, 4, 46, function ___(__0, __1) { options.publicIpName = __1; __then(); }, true)); } else { __then(); } ; })(function __$create__1() { return (function __$create__1(__then) { if ((!options.subnetId && !options.vnetName)) { return self.interaction.prompt($("Virtual network name: "), __cb(_, __frame, 8, 42, function ___(__0, __2) { options.vnetName = __2; __then(); }, true)); } else { __then(); } ; })(function __$create__1() { if ((options.vnetName && !options.subnetName)) { defSubnetName = constants.vpnGateway.subnetName; self.output.warn(util.format($("Using default subnet name: %s"), defSubnetName)); options.subnetName = defSubnetName; } ; parameters = { gatewayType: constants.vpnGateway.gatewayType[0], vpnType: constants.vpnGateway.vpnType[0], sku: { name: constants.vpnGateway.sku[0], tier: constants.vpnGateway.sku[0] }, enableBgp: false, location: options.location, vpnClientConfiguration: { vpnClientAddressPool: { addressPrefixes: [] }, vpnClientRootCertificates: [], vpnClientRevokedCertificates: [] }, ipConfigurations: [{ name: "ip-config" },] }; return self._parseGateway(resourceGroupName, parameters, options, __cb(_, __frame, 40, 22, function ___(__0, __3) { parameters = __3; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 42, 23, function ___(__0, __4) { gateway = __4; if (gateway) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" already exists in the resource group \"%s\""), gatewayName, resourceGroupName))); } ; progress = self.interaction.progress(util.format($("Creating virtual network gateway \"%s\""), gatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$create__1() { return self.networkManagementClient.virtualNetworkGateways.createOrUpdate(resourceGroupName, gatewayName, parameters, __cb(_, __frame, 49, 68, function ___(__0, __5) { gateway = __5; _(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._showGateway(gateway, resourceGroupName, gatewayName); _(); }); }); }, true)); }, true)); }); }); }); }, set: function set__2(resourceGroupName, gatewayName, options, _) { var self, gateway, __this = this; var __frame = { name: "set__2", line: 99 }; return __func(_, this, arguments, set__2, 3, __frame, function __$set__2() { self = __this; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 3, 23, function ___(__0, __1) { gateway = __1; if (!gateway) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" not found in the resource group \"%s\""), gatewayName, resourceGroupName))); } ; return self._parseGateway(resourceGroupName, gateway, options, __cb(_, __frame, 8, 19, function ___(__0, __2) { gateway = __2; return self.update(resourceGroupName, gatewayName, gateway, __cb(_, __frame, 10, 19, function ___(__0, __3) { gateway = __3; self._showGateway(gateway, resourceGroupName, gatewayName); _(); }, true)); }, true)); }, true)); }); }, list: function list__3(resourceGroupName, options, _) { var self, gateways, progress, __this = this; var __frame = { name: "list__3", line: 114 }; return __func(_, this, arguments, list__3, 2, __frame, function __$list__3() { self = __this; gateways = null; progress = self.interaction.progress($("Looking up virtual network gateways")); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$list__3() { return self.networkManagementClient.virtualNetworkGateways.list(resourceGroupName, __cb(_, __frame, 6, 69, function ___(__0, __1) { gateways = __1; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$list__3() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$list__3() { self.interaction.formatOutput(gateways, function(gateways) { if ((gateways.length === 0)) { self.output.warn($("No virtual network gateways found")); } else { self.output.table(gateways, function(row, gateway) { row.cell($("Name"), gateway.name); row.cell($("Location"), gateway.location); row.cell($("Provisioning state"), gateway.provisioningState); row.cell($("Gateway type"), gateway.gatewayType); row.cell($("VPN type"), gateway.vpnType); row.cell($("SKU"), gateway.sku.name); row.cell($("Enable BGP"), gateway.enableBgp); row.cell($("Private IP allocation"), gateway.ipConfigurations[0].privateIPAllocationMethod); row.cell($("Private IP address"), (gateway.ipConfigurations[0].privateIPAddress || "")); }); } ; }); _(); }); }); }); }, show: function show__4(resourceGroupName, gatewayName, options, _) { var self, gateway, __this = this; var __frame = { name: "show__4", line: 144 }; return __func(_, this, arguments, show__4, 3, __frame, function __$show__4() { self = __this; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 3, 23, function ___(__0, __1) { gateway = __1; self._showGateway(gateway, resourceGroupName, gatewayName); _(); }, true)); }); }, delete: function delete__5(resourceGroupName, gatewayName, options, _) { var self, gateway, progress, __this = this; var __frame = { name: "delete__5", line: 151 }; return __func(_, this, arguments, delete__5, 3, __frame, function __$delete__5() { self = __this; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 3, 23, function ___(__0, __2) { gateway = __2; if (!gateway) { return _(new Error(util.format($("Virtual network gateway \"%s\" not found in the resource group \"%s\""), gatewayName, resourceGroupName))); } ; return (function __$delete__5(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete virtual network gateway \"%s\"? [y/n] "), gatewayName), __cb(_, __frame, 8, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -150, 17, function ___(__0, __3) { return (function __$delete__5(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$delete__5() { progress = self.interaction.progress(util.format($("Deleting virtual network gateway \"%s\""), gatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$delete__5() { return self.networkManagementClient.virtualNetworkGateways.deleteMethod(resourceGroupName, gatewayName, __cb(_, __frame, 14, 58, function __$delete__5() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$delete__5() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$delete__5() { _(); }); }); }); }, true)); }, true)); }); }, get: function get__6(resourceGroupName, gatewayName, _) { var self, progress, gateway, __this = this; var __frame = { name: "get__6", line: 171 }; return __func(_, this, arguments, get__6, 2, __frame, function __$get__6() { self = __this; progress = self.interaction.progress(util.format($("Looking up virtual network gateway \"%s\""), gatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$get__6() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$get__6() { return self.networkManagementClient.virtualNetworkGateways.get(resourceGroupName, gatewayName, __cb(_, __frame, 4, 72, function ___(__0, __1) { gateway = __1; self._createVpnConfigIfNotExist(gateway); return _(null, gateway); }, true)); }); })(function ___(e, __result) { __catch(function __$get__6() { if (e) { if ((e.statusCode === 404)) { return _(null, null); } ; return _(e); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$get__6() { _(null, null, true); }); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$get__6() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$get__6() { _(); }); }); }); }, update: function update__7(resourceGroupName, gatewayName, gateway, _) { var self, progress, __this = this; var __frame = { name: "update__7", line: 188 }; return __func(_, this, arguments, update__7, 3, __frame, function __$update__7() { self = __this; progress = self.interaction.progress(util.format($("Updating virtual network gateway \"%s\""), gatewayName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$update__7() { return self.networkManagementClient.virtualNetworkGateways.createOrUpdate(resourceGroupName, gatewayName, gateway, __cb(_, __frame, 4, 68, function ___(__0, __1) { gateway = __1; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$update__7() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$update__7() { return _(null, gateway); }); }); }); }, createRootCert: function createRootCert__8(resourceGroupName, gatewayName, certName, options, _) { var self, gateway, certData, rootCert, __this = this; var __frame = { name: "createRootCert__8", line: 202 }; return __func(_, this, arguments, createRootCert__8, 4, __frame, function __$createRootCert__8() { self = __this; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 3, 23, function ___(__0, __1) { gateway = __1; if (!gateway) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" not found in the resource group \"%s\""), gatewayName, resourceGroupName))); } ; if ((gateway.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes.length === 0)) { return _(new Error($("You must add address pool before adding root certificate. Please use --address-prefixes option for vpn-gateway create|set commands."))); } ; certData = fs.readFileSync(options.certFile); certData = certData.toString("base64"); rootCert = { name: certName, publicCertData: certData }; if (utils.findFirstCaseIgnore(gateway.vpnClientConfiguration.vpnClientRootCertificates, { name: certName })) { return _(new Error(util.format($("A Root Certificate with name \"%s\" already exists in Virtual Network Gateway \"%s\""), certName, gatewayName))); } ; gateway.vpnClientConfiguration.vpnClientRootCertificates.push(rootCert); return self.update(resourceGroupName, gatewayName, gateway, __cb(_, __frame, 25, 19, function ___(__0, __2) { gateway = __2; self._showGateway(gateway, resourceGroupName, gatewayName); _(); }, true)); }, true)); }); }, deleteRootCert: function deleteRootCert__9(resourceGroupName, gatewayName, certName, options, _) { var self, gateway, index, __this = this; var __frame = { name: "deleteRootCert__9", line: 232 }; return __func(_, this, arguments, deleteRootCert__9, 4, __frame, function __$deleteRootCert__9() { self = __this; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 3, 23, function ___(__0, __2) { gateway = __2; if (!gateway) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" not found in the resource group \"%s\""), gatewayName, resourceGroupName))); } ; index = utils.indexOfCaseIgnore(gateway.vpnClientConfiguration.vpnClientRootCertificates, { name: certName }); if ((index === -1)) { return _(new Error(util.format($("A Root Certificate with name \"%s\" not found in Virtual Network Gateway \"%s\""), certName, gatewayName))); } ; return (function __$deleteRootCert__9(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete a root certificate \"%s?\" [y/n] "), certName), __cb(_, __frame, 13, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -231, 17, function ___(__0, __3) { return (function __$deleteRootCert__9(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$deleteRootCert__9() { gateway.vpnClientConfiguration.vpnClientRootCertificates.splice(index, 1); return self.update(resourceGroupName, gatewayName, gateway, __cb(_, __frame, 18, 19, function ___(__0, __4) { gateway = __4; self._showGateway(gateway, resourceGroupName, gatewayName); _(); }, true)); }); }, true)); }, true)); }); }, createRevokedCert: function createRevokedCert__10(resourceGroupName, gatewayName, certName, options, _) { var self, gateway, revokedCert, __this = this; var __frame = { name: "createRevokedCert__10", line: 258 }; return __func(_, this, arguments, createRevokedCert__10, 4, __frame, function __$createRevokedCert__10() { self = __this; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 3, 23, function ___(__0, __1) { gateway = __1; if (!gateway) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" not found in the resource group \"%s\""), gatewayName, resourceGroupName))); } ; if ((gateway.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes.length === 0)) { return _(new Error($("You must add address pool before adding revoked certificate. Please use --address-prefixes option for vpn-gateway create|set commands."))); } ; revokedCert = { name: certName, thumbprint: options.thumbprint }; if (utils.findFirstCaseIgnore(gateway.vpnClientConfiguration.vpnClientRevokedCertificates, { name: certName })) { return _(new Error(util.format($("A Revoked Certificate with name \"%s\" already exists in Virtual Network Gateway \"%s\""), certName, gatewayName))); } ; gateway.vpnClientConfiguration.vpnClientRevokedCertificates.push(revokedCert); return self.update(resourceGroupName, gatewayName, gateway, __cb(_, __frame, 22, 19, function ___(__0, __2) { gateway = __2; self._showGateway(gateway, resourceGroupName, gatewayName); _(); }, true)); }, true)); }); }, deleteRevokedCert: function deleteRevokedCert__11(resourceGroupName, gatewayName, certName, options, _) { var self, gateway, index, __this = this; var __frame = { name: "deleteRevokedCert__11", line: 285 }; return __func(_, this, arguments, deleteRevokedCert__11, 4, __frame, function __$deleteRevokedCert__11() { self = __this; return self.get(resourceGroupName, gatewayName, __cb(_, __frame, 3, 23, function ___(__0, __2) { gateway = __2; if (!gateway) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" not found in the resource group \"%s\""), gatewayName, resourceGroupName))); } ; index = utils.indexOfCaseIgnore(gateway.vpnClientConfiguration.vpnClientRevokedCertificates, { name: certName }); if ((index === -1)) { return _(new Error(util.format($("A Revoked Certificate with name \"%s\" not found in Virtual Network Gateway \"%s\""), certName, gatewayName))); } ; return (function __$deleteRevokedCert__11(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete a revoked certificate \"%s?\" [y/n] "), certName), __cb(_, __frame, 13, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -284, 17, function ___(__0, __3) { return (function __$deleteRevokedCert__11(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$deleteRevokedCert__11() { gateway.vpnClientConfiguration.vpnClientRevokedCertificates.splice(index, 1); return self.update(resourceGroupName, gatewayName, gateway, __cb(_, __frame, 18, 19, function ___(__0, __4) { gateway = __4; self._showGateway(gateway, resourceGroupName, gatewayName); _(); }, true)); }); }, true)); }, true)); }); }, createConnection: function createConnection__12(resourceGroupName, connectionName, options, _) { var self, parameters, connection, progress, __this = this; var __frame = { name: "createConnection__12", line: 311 }; return __func(_, this, arguments, createConnection__12, 3, __frame, function __$createConnection__12() { self = __this; parameters = { location: options.location, virtualNetworkGateway1: { } }; return self._parseConnection(resourceGroupName, parameters, options, true, __cb(_, __frame, 8, 22, function ___(__0, __1) { parameters = __1; return self.getConnection(resourceGroupName, connectionName, __cb(_, __frame, 10, 26, function ___(__0, __2) { connection = __2; if (connection) { return _(new Error(util.format($("A virtual network gateway connection with name \"%s\" already exists in the resource group \"%s\""), connectionName, resourceGroupName))); } ; progress = self.interaction.progress(util.format($("Creating gateway connection \"%s\" between \"%s\" and \"%s\""), connectionName, options.vnetGateway1, (options.vnetGateway2 || options.lnetGateway2))); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$createConnection__12() { return self.networkManagementClient.virtualNetworkGatewayConnections.createOrUpdate(resourceGroupName, connectionName, parameters, __cb(_, __frame, 17, 81, function ___(__0, __3) { connection = __3; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$createConnection__12() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$createConnection__12() { self._showConnection(connection, resourceGroupName, connectionName); _(); }); }); }, true)); }, true)); }); }, setConnection: function setConnection__13(resourceGroupName, connectionName, options, _) { var self, connection, progress, __this = this; var __frame = { name: "setConnection__13", line: 335 }; return __func(_, this, arguments, setConnection__13, 3, __frame, function __$setConnection__13() { self = __this; return self.getConnection(resourceGroupName, connectionName, __cb(_, __frame, 3, 26, function ___(__0, __1) { connection = __1; if (!connection) { return _(new Error(util.format($("A virtual network gateway connection with name \"%s\" not found in the resource group \"%s\""), connectionName, resourceGroupName))); } ; return self._parseConnection(resourceGroupName, connection, options, false, __cb(_, __frame, 8, 22, function ___(__0, __2) { connection = __2; progress = self.interaction.progress(util.format($("Updating gateway connection \"%s\""), connectionName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$setConnection__13() { return self.networkManagementClient.virtualNetworkGatewayConnections.createOrUpdate(resourceGroupName, connectionName, connection, __cb(_, __frame, 12, 81, function ___(__0, __3) { connection = __3; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$setConnection__13() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$setConnection__13() { self._showConnection(connection, resourceGroupName, connectionName); _(); }); }); }, true)); }, true)); }); }, listConnections: function listConnections__14(resourceGroupName, options, _) { var self, progress, connections, __this = this; var __frame = { name: "listConnections__14", line: 354 }; return __func(_, this, arguments, listConnections__14, 2, __frame, function __$listConnections__14() { self = __this; progress = self.interaction.progress($("Looking up gateway connections")); connections = null; return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$listConnections__14() { return self.networkManagementClient.virtualNetworkGatewayConnections.list(resourceGroupName, __cb(_, __frame, 7, 82, function ___(__0, __1) { connections = __1; _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$listConnections__14() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$listConnections__14() { self.interaction.formatOutput(connections, function(connections) { if ((connections.length === 0)) { self.output.warn($("No gateway connections found")); } else { self.output.table(connections, function(row, connection) { row.cell($("Name"), connection.name); row.cell($("Location"), connection.location); row.cell($("Provosioning state"), connection.provisioningState); row.cell($("Type"), connection.connectionType); row.cell($("Routing weight"), connection.routingWeight); var vnetGatewayInfo = resourceUtils.getResourceInformation(connection.virtualNetworkGateway1.id); row.cell($("Virtual network gateway"), vnetGatewayInfo.resourceName); var connectedEntityInfo; if (connection.virtualNetworkGateway2) { connectedEntityInfo = resourceUtils.getResourceInformation(connection.virtualNetworkGateway2.id); } else { connectedEntityInfo = resourceUtils.getResourceInformation(connection.localNetworkGateway2.id); } ; row.cell($("Connected entity"), connectedEntityInfo.resourceName); }); } ; }); _(); }); }); }); }, showConnection: function showConnection__15(resourceGroupName, connectionName, options, _) { var self, connection, __this = this; var __frame = { name: "showConnection__15", line: 390 }; return __func(_, this, arguments, showConnection__15, 3, __frame, function __$showConnection__15() { self = __this; return self.getConnection(resourceGroupName, connectionName, __cb(_, __frame, 2, 26, function ___(__0, __1) { connection = __1; self._showConnection(connection, resourceGroupName, connectionName); _(); }, true)); }); }, deleteConnection: function deleteConnection__16(resourceGroupName, connectionName, options, _) { var self, connection, progress, __this = this; var __frame = { name: "deleteConnection__16", line: 396 }; return __func(_, this, arguments, deleteConnection__16, 3, __frame, function __$deleteConnection__16() { self = __this; return self.getConnection(resourceGroupName, connectionName, __cb(_, __frame, 2, 26, function ___(__0, __2) { connection = __2; if (!connection) { return _(new Error(util.format($("A gateway connection with name \"%s\" not found in the resource group \"%s\""), connectionName, resourceGroupName))); } ; return (function __$deleteConnection__16(_) { var __1 = !options.quiet; if (!__1) { return _(null, __1); } ; return self.interaction.confirm(util.format($("Delete gateway connection \"%s\"? [y/n] "), connectionName), __cb(_, __frame, 8, 44, function ___(__0, __3) { var __2 = !__3; return _(null, __2); }, true)); })(__cb(_, __frame, -395, 17, function ___(__0, __3) { return (function __$deleteConnection__16(__then) { if (__3) { return _(null); } else { __then(); } ; })(function __$deleteConnection__16() { progress = self.interaction.progress(util.format($("Deleting gateway connection \"%s\""), connectionName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$deleteConnection__16() { return self.networkManagementClient.virtualNetworkGatewayConnections.deleteMethod(resourceGroupName, connectionName, __cb(_, __frame, 14, 68, function __$deleteConnection__16() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$deleteConnection__16() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$deleteConnection__16() { _(); }); }); }); }, true)); }, true)); }); }, getConnection: function getConnection__17(resourceGroupName, connectionName, _) { var self, progress, connection, __this = this; var __frame = { name: "getConnection__17", line: 416 }; return __func(_, this, arguments, getConnection__17, 2, __frame, function __$getConnection__17() { self = __this; progress = self.interaction.progress(util.format($("Looking up gateway connection \"%s\""), connectionName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getConnection__17() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getConnection__17() { return self.networkManagementClient.virtualNetworkGatewayConnections.get(resourceGroupName, connectionName, __cb(_, __frame, 4, 85, function ___(__0, __1) { connection = __1; return _(null, connection); }, true)); }); })(function ___(e, __result) { __catch(function __$getConnection__17() { if (e) { if ((e.statusCode === 404)) { return _(null, null); } ; return _(e); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$getConnection__17() { _(null, null, true); }); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$getConnection__17() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$getConnection__17() { _(); }); }); }); }, setConnectionSharedKey: function setConnectionSharedKey__18(resourceGroupName, connectionName, options, _) { var self, connection, progress, __this = this; var __frame = { name: "setConnectionSharedKey__18", line: 435 }; return __func(_, this, arguments, setConnectionSharedKey__18, 3, __frame, function __$setConnectionSharedKey__18() { self = __this; return self.getConnection(resourceGroupName, connectionName, __cb(_, __frame, 3, 26, function ___(__0, __1) { connection = __1; if (!connection) { return _(new Error(util.format($("A virtual network gateway connection with name \"%s\" not found in the resource group \"%s\""), connectionName, resourceGroupName))); } ; progress = self.interaction.progress(util.format($("Setting shared key for gateway connection \"%s\""), connectionName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$setConnectionSharedKey__18() { return self.networkManagementClient.virtualNetworkGatewayConnections.setSharedKey(resourceGroupName, connectionName, options, __cb(_, __frame, 10, 68, function __$setConnectionSharedKey__18() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$setConnectionSharedKey__18() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$setConnectionSharedKey__18() { _(); }); }); }, true)); }); }, resetConnectionSharedKey: function resetConnectionSharedKey__19(resourceGroupName, connectionName, options, _) { var self, connection, params, progress, __this = this; var __frame = { name: "resetConnectionSharedKey__19", line: 451 }; return __func(_, this, arguments, resetConnectionSharedKey__19, 3, __frame, function __$resetConnectionSharedKey__19() { self = __this; if (isNaN(options.keyLength)) { return _(new Error($("--key-length parameter must be an integer"))); } ; return self.getConnection(resourceGroupName, connectionName, __cb(_, __frame, 7, 26, function ___(__0, __1) { connection = __1; if (!connection) { return _(new Error(util.format($("A virtual network gateway connection with name \"%s\" not found in the resource group \"%s\""), connectionName, resourceGroupName))); } ; params = { keyLength: utils.parseInt(options.keyLength) }; progress = self.interaction.progress(util.format($("Resetting shared key for gateway connection \"%s\""), connectionName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$resetConnectionSharedKey__19() { return self.networkManagementClient.virtualNetworkGatewayConnections.resetSharedKey(resourceGroupName, connectionName, params, __cb(_, __frame, 18, 68, function __$resetConnectionSharedKey__19() { _(null, null, true); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$resetConnectionSharedKey__19() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$resetConnectionSharedKey__19() { _(); }); }); }, true)); }); }, showConnectionSharedKey: function showConnectionSharedKey__20(resourceGroupName, connectionName, options, _) { var self, connection, sharedKey, __this = this; var __frame = { name: "showConnectionSharedKey__20", line: 475 }; return __func(_, this, arguments, showConnectionSharedKey__20, 3, __frame, function __$showConnectionSharedKey__20() { self = __this; return self.getConnection(resourceGroupName, connectionName, __cb(_, __frame, 3, 26, function ___(__0, __1) { connection = __1; if (!connection) { return _(new Error(util.format($("A virtual network gateway connection with name \"%s\" not found in the resource group \"%s\""), connectionName, resourceGroupName))); } ; return self.getConnectionSharedKey(resourceGroupName, connectionName, __cb(_, __frame, 8, 25, function ___(__0, __2) { sharedKey = __2; self.interaction.formatOutput(sharedKey, function(sharedKey) { if ((sharedKey === null)) { self.output.warn(util.format($("A shared key for gateway connection \"%s\" not found"), connectionName)); } else { self.output.nameValue($("Value"), sharedKey.value); } ; }); _(); }, true)); }, true)); }); }, getConnectionSharedKey: function getConnectionSharedKey__21(resourceGroupName, connectionName, _) { var self, progress, sharedKey, __this = this; var __frame = { name: "getConnectionSharedKey__21", line: 493 }; return __func(_, this, arguments, getConnectionSharedKey__21, 2, __frame, function __$getConnectionSharedKey__21() { self = __this; progress = self.interaction.progress(util.format($("Looking up shared key for gateway connection \"%s\""), connectionName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getConnectionSharedKey__21() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$getConnectionSharedKey__21() { return self.networkManagementClient.virtualNetworkGatewayConnections.getSharedKey(resourceGroupName, connectionName, __cb(_, __frame, 4, 84, function ___(__0, __1) { sharedKey = __1; return _(null, sharedKey); }, true)); }); })(function ___(e, __result) { __catch(function __$getConnectionSharedKey__21() { if (e) { if ((e.statusCode === 404)) { return _(null, null); } ; return _(e); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$getConnectionSharedKey__21() { _(null, null, true); }); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$getConnectionSharedKey__21() { progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$getConnectionSharedKey__21() { _(); }); }); }); }, _parseGateway: function _parseGateway__22(resourceGroupName, gateway, options, _) { var self, publicip, subnet, localGateway, addrPrefixes, prefixes, __this = this; var __frame = { name: "_parseGateway__22", line: 512 }; return __func(_, this, arguments, _parseGateway__22, 3, __frame, function __$_parseGateway__22() { self = __this; if (options.gatewayType) { gateway.gatewayType = validation.isIn(options.gatewayType, constants.vpnGateway.gatewayType, "--gateway-type"); } ; if (options.vpnType) { gateway.vpnType = validation.isIn(options.vpnType, constants.vpnGateway.vpnType, "--vpn-type"); } ; if (options.skuName) { gateway.sku.name = validation.isIn(options.skuName, constants.vpnGateway.sku, "--sku-name"); gateway.sku.tier = gateway.sku.name; } ; if (options.enableBgp) { gateway.enableBgp = validation.isBool(options.enableBgp, "--enable-bgp"); } ; if (options.privateIpAddress) { gateway.ipConfigurations[0].privateIPAddress = validation.isIP(options.privateIpAddress, "--private-ip-address"); gateway.ipConfigurations[0].privateIPAllocationMethod = "Static"; } ; return (function __$_parseGateway__22(__then) { if (options.publicIpId) { if (options.publicIpName) { self.output.warn($("--public-ip-name parameter will be ignored because --public-ip-id and --public-ip-name are mutually exclusive")); } ; gateway.ipConfigurations[0].publicIPAddress = { id: options.publicIpId }; __then(); } else { return (function __$_parseGateway__22(__then) { if (options.publicIpName) { return self.publicIpCrud.get(resourceGroupName, options.publicIpName, __cb(_, __frame, 33, 39, function ___(__0, __1) { publicip = __1; if (!publicip) { return _(new Error(util.format($("A public ip address with name \"%s\" not found in the resource group \"%s\""), options.publicIpName, resourceGroupName))); } ; gateway.ipConfigurations[0].publicIPAddress = { id: publicip.id }; __then(); }, true)); } else { __then(); } ; })(__then); } ; })(function __$_parseGateway__22() { return (function __$_parseGateway__22(__then) { if (options.subnetId) { if ((options.vnetName || options.subnetName)) { self.output.warn($("--vnet-name, --subnet-name gateway will be ignored because --subnet-id and --vnet-name, --subnet-name are mutually exclusive")); } ; gateway.ipConfigurations[0].subnet = { id: options.subnetId }; __then(); } else { return (function __$_parseGateway__22(__then) { if ((options.vnetName && options.subnetName)) { return self.subnetCrud.get(resourceGroupName, options.vnetName, options.subnetName, __cb(_, __frame, 50, 35, function ___(__0, __2) { subnet = __2; if (!subnet) { return _(new Error(util.format($("A subnet with name \"%s\" not found in the resource group \"%s\""), options.subnetName, resourceGroupName))); } ; gateway.ipConfigurations[0].subnet = { id: subnet.id }; __then(); }, true)); } else { __then(); } ; })(__then); } ; })(function __$_parseGateway__22() { return (function __$_parseGateway__22(__then) { if (options.defaultSiteId) { if (options.defaultSiteName) { self.output.warn($("--default-site-name parameter will be ignored because --default-site-id and --default-site-name are mutually exclusive")); } ; if (utils.argHasValue(options.defaultSiteId)) { gateway.gatewayDefaultSite = { id: options.defaultSiteId }; } else { delete gateway.gatewayDefaultSite; } ; __then(); } else { return (function __$_parseGateway__22(__then) { if (options.defaultSiteName) { return (function __$_parseGateway__22(__then) { if (utils.argHasValue(options.defaultSiteName)) { return self.lnetGatewayCrud.get(resourceGroupName, options.defaultSiteName, __cb(_, __frame, 72, 48, function ___(__0, __3) { localGateway = __3; if (!localGateway) { return _(new Error(util.format($("A Local Network Gateway with name \"%s\" not found in the resource group \"%s\""), options.defaultSiteName, resourceGroupName))); } ; gateway.gatewayDefaultSite = { id: localGateway.id }; __then(); }, true)); } else { delete gateway.gatewayDefaultSite; __then(); } ; })(__then); } else { __then(); } ; })(__then); } ; })(function __$_parseGateway__22() { if (options.addressPrefixes) { addrPrefixes = gateway.vpnClientConfiguration.vpnClientAddressPool.addressPrefixes; prefixes = options.addressPrefixes.split(","); prefixes.forEach(function(address) { if ((addrPrefixes.indexOf(address) === -1)) { validation.isCIDR(address, "--address-prefixes"); addrPrefixes.push(address); } ; }); } ; if (options.tags) { if (utils.argHasValue(options.tags)) { tagUtils.appendTags(gateway, options); } else { gateway.tags = { }; } ; } ; return _(null, gateway); }); }); }); }); }, _createVpnConfigIfNotExist: function(gateway) { if ((gateway.vpnClientConfiguration === undefined)) { gateway.vpnClientConfiguration = { vpnClientAddressPool: { addressPrefixes: [] }, vpnClientRootCertificates: [], vpnClientRevokedCertificates: [] }; } else if ((gateway.vpnClientConfiguration.vpnClientAddressPool === undefined)) { gateway.vpnClientConfiguration.vpnClientAddressPool = { addressPrefixes: [] }; } ; }, _parseConnection: function _parseConnection__23(resourceGroupName, connection, options, useDefaults, _) { var self, resGroupGateway1, gateway1, resGroupGateway2, gateway2, resGroupLnetGateway2, lnet2, __this = this; var __frame = { name: "_parseConnection__23", line: 634 }; return __func(_, this, arguments, _parseConnection__23, 4, __frame, function __$_parseConnection__23() { self = __this; if (options.type) { connection.connectionType = validation.isIn(options.type, constants.vpnGateway.connectionType, "--type"); } else { if (useDefaults) { connection.connectionType = utils.takeDefault(self.output, constants.vpnGateway.connectionType[0], "--type"); } ; } ; if (((useDefaults && !options.vnetGateway2) && !options.lnetGateway2)) { return _(new Error($("You must specify connected entity with --vnet-gateway2 or --lnet-gateway2 option"))); } ; if (options.routingWeight) { connection.routingWeight = validation.isInt(options.routingWeight, { }, "--weight"); } else { if (useDefaults) { connection.routingWeight = utils.takeDefault(self.output, constants.vpnGateway.defWeight, "--weight"); } ; } ; if (options.sharedKey) { connection.sharedKey = options.sharedKey; } ; if (options.tags) { if (utils.argHasValue(options.tags)) { tagUtils.appendTags(connection, options); } else { connection.tags = { }; } ; } ; return (function __$_parseConnection__23(__then) { if (options.vnetGateway1) { resGroupGateway1 = (options.vnetGateway1Group || resourceGroupName); if (!options.vnetGateway1Group) { self.output.warn(util.format($("Using resource group for Gateway 1: %s"), resGroupGateway1)); } ; return self.get(resGroupGateway1, options.vnetGateway1, __cb(_, __frame, 36, 26, function ___(__0, __1) { gateway1 = __1; if (!gateway1) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" not found in the resource group \"%s\""), options.vnetGateway1, resGroupGateway1))); } ; connection.virtualNetworkGateway1 = gateway1; __then(); }, true)); } else { __then(); } ; })(function __$_parseConnection__23() { return (function __$_parseConnection__23(__then) { if (options.vnetGateway2) { resGroupGateway2 = (options.vnetGateway2Group || resourceGroupName); if (!options.vnetGateway2Group) { self.output.warn(util.format($("Using resource group for Gateway 2: %s"), resGroupGateway2)); } ; return self.get(resGroupGateway2, options.vnetGateway2, __cb(_, __frame, 46, 26, function ___(__0, __2) { gateway2 = __2; if (!gateway2) { return _(new Error(util.format($("A virtual network gateway with name \"%s\" not found in the resource group \"%s\""), options.vnetGateway2, resGroupGateway2))); } ; connection.virtualNetworkGateway2 = gateway2; __then(); }, true)); } else { __then(); } ; })(function __$_parseConnection__23() { return (function __$_parseConnection__23(__then) { if (options.lnetGateway2) { resGroupLnetGateway2 = (options.lnetGateway2Group || resourceGroupName); if (!options.lnetGateway2Group) { self.output.warn(util.format($("Using resource group for Local Network Gateway 2: %s"), resGroupLnetGateway2)); } ; return self.lnetGatewayCrud.get(resGroupLnetGateway2, options.lnetGateway2, __cb(_, __frame, 56, 39, function ___(__0, __3) { lnet2 = __3; if (!lnet2) { return _(new Error(util.format($("A local network gateway with name \"%s\" not found in the resource group \"%s\""), options.lnetGateway2, resGroupLnetGateway2))); } ; connection.localNetworkGateway2 = lnet2; __then(); }, true)); } else { __then(); } ; })(function __$_parseConnection__23() { return _(null, connection); }); }); }); }); }, _showGateway: function(gateway, resourceGroupName, gatewayName) { var self = this; self.interaction.formatOutput(gateway, function(gateway) { if ((gateway === null)) { self.output.warn(util.format($("Virtual network gateway \"%s\" not found in the resource group \"%s\""), gatewayName, resourceGroupName)); return; } ; self.output.nameValue($("Id"), gateway.id); self.output.nameValue($("Name"), gateway.name); self.output.nameValue($("Type"), gateway.type); self.output.nameValue($("Location"), gateway.location); self.output.nameValue($("Tags"), tagUtils.getTagsInfo(gateway.tags)); self.output.nameValue($("Provisioning state"), gateway.provisioningState); self.output.nameValue($("Gateway type"), gateway.gatewayType); self.output.nameValue($("VPN type"), gateway.vpnType); self.output.nameValue($("Enable BGP"), gateway.enableBgp); if (gateway.gatewayDefaultSite) { self.output.nameValue($("Default Site id"), gateway.gatewayDefaultSite.id); } ; self.output.header($("SKU")); self.output.nameValue($("Name"), gateway.sku.name, 2); self.output.nameValue($("Tier"), gateway.sku.tier, 2); self.output.nameValue($("Capacity"), gateway.sku.capacity, 2); var vpnConfig = gateway.vpnClientConfiguration; if (vpnConfig) { if ((vpnConfig.vpnClientAddressPool.addressPrefixes.length > 0)) { self.output.header($("Address Prefixes")); self.output.list(vpnConfig.vpnClientAddressPool.addressPrefixes, 2); } ; if ((vpnConfig.vpnClientRootCertificates.length > 0)) { self.output.header($("Root certificates")); vpnConfig.vpnClientRootCertificates.forEach(function(rootCert) { self.output.nameValue($("Name"), rootCert.name, 2); self.output.nameValue($("Provisioning state"), rootCert.provisioningState, 2); }); } ; if ((vpnConfig.vpnClientRevokedCertificates.length > 0)) { self.output.header($("Revoked certificates")); vpnConfig.vpnClientRevokedCertificates.forEach(function(revokedCert) { self.output.nameValue($("Name"), revokedCert.name, 2); self.output.nameValue($("Provisioning state"), revokedCert.provisioningState, 2); self.output.nameValue($("Thumbprint"), revokedCert.thumbprint, 2); }); } ; } ; self.output.header($("IP configurations")); gateway.ipConfigurations.forEach(function(ipConfig) { self.output.nameValue($("Id"), ipConfig.id, 2); self.output.nameValue($("Name"), ipConfig.name, 2); self.output.nameValue($("Provisioning state"), ipConfig.provisioningState, 2); self.output.nameValue($("Private IP allocation method"), ipConfig.privateIPAllocationMethod, 2); self.output.nameValue($("Private IP address"), ipConfig.privateIPAddress, 2); self.output.nameValue($("Public IP address id"), ipConfig.publicIPAddress.id, 2); self.output.nameValue($("Subnet id"), ipConfig.subnet.id, 2); self.output.data(""); }); }); }, _showConnection: function(connection, resourceGroupName, connectionName) { var self = this; self.interaction.formatOutput(connection, function(connection) { if ((connection === null)) { self.output.warn(util.format($("A gateway connection with name \"%s\" not found in the resource group \"%s\""), connectionName, resourceGroupName)); return; } ; self.output.nameValue($("Id"), connection.id); self.output.nameValue($("Name"), connection.name); self.output.nameValue($("Type"), connection.type); self.output.nameValue($("Location"), connection.location); self.output.nameValue($("Provisioning state"), connection.provisioningState); self.output.nameValue($("Tags"), tagUtils.getTagsInfo(connection.tags)); self.output.nameValue($("Connection type"), connection.connectionType); self.output.nameValue($("Routing weight"), connection.routingWeight); self.output.nameValue($("Shared key"), connection.sharedKey); self.output.nameValue($("Virtual network gateway 1"), connection.virtualNetworkGateway1.id); if (connection.virtualNetworkGateway2) { self.output.nameValue($("Virtual network gateway 2"), connection.virtualNetworkGateway2.id); } ; if (connection.localNetworkGateway2)