azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
174 lines (91 loc) • 10.5 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 util = require("util");
var utils = require("../../../util/utils");
var NetworkVNetSubnet = require("./networkVNetSubnet");
var $ = utils.getLocaleString;
function NetworkVNet(cli, networkResourceProviderClient, resourceGroupName, params) {
this.cli = cli;
this.networkResourceProviderClient = networkResourceProviderClient;
this.resourceGroupName = resourceGroupName;
this.params = params;};
__.extend(NetworkVNet.prototype, {
_parseVNetCreateParams: function _parseVNetCreateParams__1(params, parseSubnetParams, _) { var createRequestProfile, subnetProfile, __this = this; var __frame = { name: "_parseVNetCreateParams__1", line: 33 }; return __func(_, this, arguments, _parseVNetCreateParams__1, 2, __frame, function __$_parseVNetCreateParams__1() { return (function __$_parseVNetCreateParams__1(__then) {
if (utils.stringIsNullOrEmpty(params.vnetName)) {
return __this.cli.interaction.prompt($("Enter vnet name: "), __cb(_, __frame, 2, 47, function ___(__0, __1) { params.vnetName = __1; __then(); }, true)); } else { __then(); } ; })(function __$_parseVNetCreateParams__1() { return (function __$_parseVNetCreateParams__1(__then) {
if (utils.stringIsNullOrEmpty(params.vnetAddressPrefix)) {
return __this.cli.interaction.prompt($("Enter vnet address prefix: "), __cb(_, __frame, 6, 56, function ___(__0, __2) { params.vnetAddressPrefix = __2; __then(); }, true)); } else { __then(); } ; })(function __$_parseVNetCreateParams__1() { return (function __$_parseVNetCreateParams__1(__then) {
if (utils.stringIsNullOrEmpty(params.location)) {
return __this.cli.interaction.prompt($("Enter location: "), __cb(_, __frame, 10, 47, function ___(__0, __3) { params.location = __3; __then(); }, true)); } else { __then(); } ; })(function __$_parseVNetCreateParams__1() {
createRequestProfile = {
addressSpace: {
addressPrefixes: [params.vnetAddressPrefix,] },
dhcpOptions: {
dnsServers: [] },
ipConfigurations: [],
subnets: [],
location: params.location,
name: params.vnetName };
return parseSubnetParams(params, __cb(_, __frame, 26, 26, function ___(__0, __4) { subnetProfile = __4;
createRequestProfile.subnets.push(subnetProfile);
return _(null, createRequestProfile); }, true)); }); }); }); }); },
createOrUpdateVNetIfRequired: function createOrUpdateVNetIfRequired__2(_) { var networkVNetSubnet, vnetInfo, createRequestProfile, __this = this; var __frame = { name: "createOrUpdateVNetIfRequired__2", line: 64 }; return __func(_, this, arguments, createOrUpdateVNetIfRequired__2, 0, __frame, function __$createOrUpdateVNetIfRequired__2() { return (function __$createOrUpdateVNetIfRequired__2(__then) {
if (utils.stringIsNullOrEmpty(__this.params.vnetName)) {
return __this.cli.interaction.prompt($("Enter vnet name: "), __cb(_, __frame, 2, 52, function ___(__0, __1) { __this.params.vnetName = __1; __then(); }, true)); } else { __then(); } ; })(function __$createOrUpdateVNetIfRequired__2() {
networkVNetSubnet = new NetworkVNetSubnet(__this.cli, __this.networkResourceProviderClient, __this.resourceGroupName, __this.params);
return __this.getVNetInfoByName(__this.resourceGroupName, __this.params.vnetName, __cb(_, __frame, 6, 26, function ___(__0, __2) { vnetInfo = __2; return (function __$createOrUpdateVNetIfRequired__2(__then) {
if (vnetInfo.profile) {
if (!utils.ignoreCaseAndSpaceEquals(vnetInfo.profile.location, __this.params.location)) {
return _(new Error(util.format($("Found a virtual network with name \"%s\" but it exists in different region \"%s\""), vnetInfo.vnetName, vnetInfo.profile.location))); } ;
__this.cli.output.info((util.format($("Found an existing virtual network \"%s\""), vnetInfo.vnetName)));
__this._printSubnets(vnetInfo.profile.subnets);
__this.cli.output.info($("Verifying subnet"));
return networkVNetSubnet.createSubnetIfRequired(__cb(_, __frame, 15, 48, function ___(__0, __3) { vnetInfo.subnetInfo = __3; __then(); }, true)); } else {
return __this._createNewVNet(vnetInfo.resourceGroupName, __this.params, __cb(_, __frame, 18, 40, function ___(__0, __4) { createRequestProfile = __4;
return __this.getVNetInfoByName(vnetInfo.resourceGroupName, vnetInfo.vnetName, __cb(_, __frame, 20, 24, function ___(__0, __5) { vnetInfo = __5;
vnetInfo.createdNew = true;
vnetInfo.createRequestProfile = createRequestProfile;
return networkVNetSubnet.getSubnetInfoByName(vnetInfo.resourceGroupName, vnetInfo.vnetName, __this.params.vnetSubnetName, __cb(_, __frame, 24, 48, function ___(__0, __6) { vnetInfo.subnetInfo = __6;
vnetInfo.subnetInfo.createdNew = true; __then(); }, true)); }, true)); }, true)); } ; })(function __$createOrUpdateVNetIfRequired__2() {
return _(null, vnetInfo); }); }, true)); }); }); },
getVNetInfoById: function getVNetInfoById__3(referenceUri, _) { var resourceInfo, __this = this; var __frame = { name: "getVNetInfoById__3", line: 95 }; return __func(_, this, arguments, getVNetInfoById__3, 1, __frame, function __$getVNetInfoById__3() {
resourceInfo = utils.parseResourceReferenceUri(referenceUri);
return __this.getVNetInfoByName(resourceInfo.resourceGroupName, resourceInfo.resourceName, __cb(_, __frame, 2, 18, _, true)); }); },
getVNetInfoByName: function getVNetInfoByName__4(resourceGroupName, vnetName, _) { var vnetInfo, vnet, __this = this; var __frame = { name: "getVNetInfoByName__4", line: 100 }; return __func(_, this, arguments, getVNetInfoByName__4, 2, __frame, function __$getVNetInfoByName__4() {
vnetInfo = {
vnetName: vnetName,
resourceGroupName: resourceGroupName,
createdNew: false,
profile: null,
createRequestProfile: { },
subnetInfo: { } };
return __this._getVNet(resourceGroupName, vnetName, __cb(_, __frame, 10, 22, function ___(__0, __1) { vnet = __1;
if (vnet) {
vnetInfo.profile = vnet; } ;
return _(null, vnetInfo); }, true)); }); },
_getVNet: function _getVNet__5(resourceGroupName, vnetName, _) { var progress, vnet, __this = this; var __frame = { name: "_getVNet__5", line: 118 }; return __func(_, this, arguments, _getVNet__5, 2, __frame, function __$_getVNet__5() {
progress = __this.cli.interaction.progress(util.format($("Looking up the virtual network \"%s\""), vnetName)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$_getVNet__5() { return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$_getVNet__5() {
return __this.networkResourceProviderClient.virtualNetworks.get(resourceGroupName, vnetName, __cb(_, __frame, 3, 70, function ___(__0, __1) { vnet = __1;
return _(null, vnet); }, true)); }); })(function ___(e, __result) { __catch(function __$_getVNet__5() { if (e) {
if ((e.code === "ResourceNotFound")) {
return _(null, null); } ;
return _(e); } else { _(null, __result); } ; }, _); }); })(function ___() { __tryCatch(_, function __$_getVNet__5() { _(null, null, true); }); }); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$_getVNet__5() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$_getVNet__5() { _(); }); }); }); },
_createNewVNet: function _createNewVNet__6(resourceGroupName, params, _) { var networkVNetSubnet, getVNetSubnetProfile, createRequestProfile, progress, __this = this; var __frame = { name: "_createNewVNet__6", line: 133 }; return __func(_, this, arguments, _createNewVNet__6, 2, __frame, function __$_createNewVNet__6() {
networkVNetSubnet = new NetworkVNetSubnet(__this.cli, __this.networkResourceProviderClient, resourceGroupName, params);
__this.cli.output.info($("Preparing to create new virtual network and subnet"));
getVNetSubnetProfile = __.bind(networkVNetSubnet.getVNetSubnetProfile, networkVNetSubnet);
return __this._parseVNetCreateParams(__this.params, getVNetSubnetProfile, __cb(_, __frame, 4, 38, function ___(__0, __1) { createRequestProfile = __1;
progress = __this.cli.interaction.progress(util.format($("Creating a new virtual network \"%s\" [address prefix: \"%s\"] with subnet \"%s\" [address prefix: \"%s\"]"), params.vnetName, params.vnetAddressPrefix, params.vnetSubnetName, params.vnetSubnetAddressprefix)); return (function ___(__then) { (function ___(_) { __tryCatch(_, function __$_createNewVNet__6() {
return __this.networkResourceProviderClient.virtualNetworks.createOrUpdate(__this.resourceGroupName, params.vnetName, createRequestProfile, __cb(_, __frame, 7, 59, function __$_createNewVNet__6() {
return _(null, createRequestProfile); }, true)); }); })(function ___(__e, __r, __cont) { (function ___(__then) { __tryCatch(_, function __$_createNewVNet__6() {
progress.end(); __then(); }); })(function ___() { __tryCatch(_, function ___() { if (__cont) { __then(); } else { _(__e, __r); }; }); }); }); })(function ___() { __tryCatch(_, function __$_createNewVNet__6() { _(); }); }); }, true)); }); },
_printSubnets: function(subnets) {
var info = this.cli.output.info;
if ((subnets instanceof Array)) {
info("Existing Subnets:");
subnets.forEach(function(subnet) {
info((((" " + subnet.name) + ":") + subnet.addressPrefix)); }); } ; },
hasAnyVNetParameters: function(params) {
var allVNetParams = [params.vnetName,params.vnetDnsserver,params.vnetAddressPrefix,params.vnetSubnetName,params.vnetSubnetAddressprefix,params.vnetSubnetDnsserver,];
return utils.atLeastOneParameIsSet(allVNetParams); }});
module.exports = NetworkVNet;