azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
1,239 lines (385 loc) • 391 kB
JavaScript
/*** Generated by streamline 0.10.17 (callbacks) - DO NOT EDIT ***/ "use strict"; var __rt=require('streamline/lib/callbacks/runtime').runtime(__filename, false),__func=__rt.__func,__cb=__rt.__cb; var fs = require("fs");
var jsonpatch = require("fast-json-patch");
var profile = require("../../../util/profile");
var utils = require("../../../util/utils");
var $ = utils.getLocaleString;function beautify(jsonText) {
var obj = JSON.parse(jsonText);
return JSON.stringify(obj, null, 2);};
function capitalize(str) {
if ((str && (str.length >= 1))) {
return (str.charAt(0).toUpperCase() + str.slice(1)); }
else {
return str; } ;};
function makeTuple(k, v, d) {
return { key: k, value: v, depth: d };};
function displayImpl(o, key, depth, arr) {
if (((!!o) && (((o.constructor === Object) || (o.constructor === Array))))) {
arr.push(makeTuple(key, "", depth));
var len = 0;
Object.keys(o).forEach(function(k1) {
var v1 = o[k1];
var p1 = ((o.constructor === Array) ? "#" : "");
var w = displayImpl(v1, (p1 + k1), (depth + 1), arr);
if ((w > len)) {
len = w; } ; });
return len; }
else {
arr.push(makeTuple(key, (o ? o.toString() : ""), depth));
return ((depth * 2) + ((key ? key.toString().length : 0))); } ;};
function display(cli, o) {
var arr = [];
var width = displayImpl(o, "", 0, arr);
for (var t in arr) {
var prebuf = new Array((arr[t].depth * 2)).join(" ");
var key = (arr[t].key ? arr[t].key : "");
var postLen = (width - ((prebuf.length + key.length)));
var postbuf = new Array(((postLen > 0) ? postLen : 0)).join(" ");
var str = ((prebuf + capitalize(key)) + postbuf);
if (arr[t].value) {
str += (" : " + arr[t].value); } ;
cli.output.data(str); };};
exports.init = function(cli) {
var virtualMachineScaleSetsCreateOrUpdate = cli.category("vmss").description($("Commands to manage your virtual machine scale sets. "));
virtualMachineScaleSetsCreateOrUpdate.command("create [resource-group] [name] [parameters]").description($("Allows you to create or update a virtual machine scale set by providing parameters or a path to pre-configured parameter file.")).usage("[options] <resource-group> <name> <parameters>").option("-g, --resource-group <resource-group>", $("resource-group")).option("-n, --name <name>", $("name")).option("-p, --parameters <parameters>", $("A string of parameters in JSON format")).option("--parameter-file <parameter-file>", $("The text file that contains input parameter object in JSON format")).option("-s, --subscription <subscription>", $("The subscription identifier")).execute(function __1(resourceGroup, name, parameters, options, _) { var parametersObj, fileContent, subscription, computeManagementClient, result; var __frame = { name: "__1", line: 741 }; return __func(_, this, arguments, __1, 4, __frame, function __$__1() { return (function __$__1(__then) {
if (!resourceGroup) {
return cli.interaction.promptIfNotGiven($("resource-group : "), resourceGroup, __cb(_, __frame, 2, 38, function ___(__0, __1) { resourceGroup = __1; __then(); }, true)); } else { __then(); } ; })(function __$__1() {
cli.output.verbose(("resourceGroup = " + resourceGroup)); return (function __$__1(__then) {
if (!name) {
return cli.interaction.promptIfNotGiven($("name : "), name, __cb(_, __frame, 7, 29, function ___(__0, __2) { name = __2; __then(); }, true)); } else { __then(); } ; })(function __$__1() {
cli.output.verbose(("name = " + name));
cli.output.verbose(("parameters = " + parameters));
parametersObj = null;
if (options.parameterFile) {
cli.output.verbose((("Reading file content from: \"" + options.parameterFile) + "\""));
fileContent = fs.readFileSync(options.parameterFile, "utf8");
parametersObj = JSON.parse(fileContent); }
else {
parametersObj = JSON.parse(parameters); } ;
cli.output.verbose(("parametersObj = " + JSON.stringify(parametersObj)));
subscription = profile.current.getSubscription(options.subscription);
computeManagementClient = utils.createComputeManagementClient(subscription);
return computeManagementClient.virtualMachineScaleSets.createOrUpdate(resourceGroup, name, parametersObj, __cb(_, __frame, 24, 65, function ___(__0, __3) { result = __3;
if (result) {
cli.output.json(result); } ; _(); }, true)); }); }); }); });
var virtualMachineScaleSetsCreateOrUpdatecreateOrUpdateParameters2 = virtualMachineScaleSetsCreateOrUpdate.category("config").description($("Commands to manage configuration of virtual-machine-scale-sets in the parameter file."));
virtualMachineScaleSetsCreateOrUpdatecreateOrUpdateParameters2.command("create").description($("Generate virtualMachineScaleSetsCreateOrUpdate parameter string or files.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).execute(function __2(options, _) { var filePath; var __frame = { name: "__2", line: 776 }; return __func(_, this, arguments, __2, 1, __frame, function __$__2() {
return cli.output.verbose("{\"sku\":{\"name\":\"\",\"tier\":\"\",\"capacity\":null},\"upgradePolicy\":{\"mode\":null},\"virtualMachineProfile\":{\"osProfile\":{\"computerNamePrefix\":\"\",\"adminUsername\":\"\",\"adminPassword\":\"\",\"customData\":\"\",\"windowsConfiguration\":{\"provisionVMAgent\":null,\"enableAutomaticUpdates\":null,\"timeZone\":\"\",\"additionalUnattendContent\":[{\"passName\":null,\"componentName\":null,\"settingName\":null,\"content\":\"\"}],\"winRM\":{\"listeners\":[{\"protocol\":null,\"certificateUrl\":\"\"}]}},\"linuxConfiguration\":{\"disablePasswordAuthentication\":null,\"ssh\":{\"publicKeys\":[{\"path\":\"\",\"keyData\":\"\"}]}},\"secrets\":[{\"sourceVault\":{\"id\":\"\"},\"vaultCertificates\":[{\"certificateUrl\":\"\",\"certificateStore\":\"\"}]}]},\"storageProfile\":{\"imageReference\":{\"publisher\":\"\",\"offer\":\"\",\"sku\":\"\",\"version\":\"\"},\"osDisk\":{\"name\":\"\",\"caching\":null,\"createOption\":\"\",\"osType\":null,\"image\":{\"uri\":\"\"},\"vhdContainers\":[\"\"]}},\"networkProfile\":{\"networkInterfaceConfigurations\":[{\"name\":\"\",\"primary\":null,\"ipConfigurations\":[{\"name\":\"\",\"subnet\":{\"id\":\"\"},\"applicationGatewayBackendAddressPools\":[{\"id\":\"\"}],\"loadBalancerBackendAddressPools\":[{\"id\":\"\"}],\"loadBalancerInboundNatPools\":[{\"id\":\"\"}],\"id\":\"\"}],\"id\":\"\"}]},\"extensionProfile\":{\"extensions\":[{\"name\":\"\",\"publisher\":\"\",\"type\":\"\",\"typeHandlerVersion\":\"\",\"autoUpgradeMinorVersion\":null,\"settings\":{},\"protectedSettings\":{},\"provisioningState\":\"\",\"id\":\"\"}]}},\"provisioningState\":\"\",\"overProvision\":null,\"id\":null,\"name\":null,\"type\":null,\"location\":\"\",\"tags\":{}}", __cb(_, __frame, 1, 15, function __$__2() {
filePath = "virtualMachineScaleSetsCreateOrUpdate_createOrUpdate.json";
if (options.parameterFile) {
filePath = options.parameterFile; } ;
fs.writeFileSync(filePath, beautify("{\r\n\"sku\":{\r\n\"name\":\"\",\r\n\"tier\":\"\",\r\n\"capacity\":null\r\n},\r\n\"upgradePolicy\":{\r\n\"mode\":null\r\n},\r\n\"virtualMachineProfile\":{\r\n\"osProfile\":{\r\n\"computerNamePrefix\":\"\",\r\n\"adminUsername\":\"\",\r\n\"adminPassword\":\"\",\r\n\"customData\":\"\",\r\n\"windowsConfiguration\":{\r\n\"provisionVMAgent\":null,\r\n\"enableAutomaticUpdates\":null,\r\n\"timeZone\":\"\",\r\n\"additionalUnattendContent\":[\r\n{\r\n\"passName\":null,\r\n\"componentName\":null,\r\n\"settingName\":null,\r\n\"content\":\"\"\r\n}\r\n],\r\n\"winRM\":{\r\n\"listeners\":[\r\n{\r\n\"protocol\":null,\r\n\"certificateUrl\":\"\"\r\n}\r\n]\r\n}\r\n},\r\n\"linuxConfiguration\":{\r\n\"disablePasswordAuthentication\":null,\r\n\"ssh\":{\r\n\"publicKeys\":[\r\n{\r\n\"path\":\"\",\r\n\"keyData\":\"\"\r\n}\r\n]\r\n}\r\n},\r\n\"secrets\":[\r\n{\r\n\"sourceVault\":{\r\n\"id\":\"\"\r\n},\r\n\"vaultCertificates\":[\r\n{\r\n\"certificateUrl\":\"\",\r\n\"certificateStore\":\"\"\r\n}\r\n]\r\n}\r\n]\r\n},\r\n\"storageProfile\":{\r\n\"imageReference\":{\r\n\"publisher\":\"\",\r\n\"offer\":\"\",\r\n\"sku\":\"\",\r\n\"version\":\"\"\r\n},\r\n\"osDisk\":{\r\n\"name\":\"\",\r\n\"caching\":null,\r\n\"createOption\":\"\",\r\n\"osType\":null,\r\n\"image\":{\r\n\"uri\":\"\"\r\n},\r\n\"vhdContainers\":[\r\n\"\"\r\n]\r\n}\r\n},\r\n\"networkProfile\":{\r\n\"networkInterfaceConfigurations\":[\r\n{\r\n\"name\":\"\",\r\n\"primary\":null,\r\n\"ipConfigurations\":[\r\n{\r\n\"name\":\"\",\r\n\"subnet\":{\r\n\"id\":\"\"\r\n},\r\n\"applicationGatewayBackendAddressPools\":[\r\n{\r\n\"id\":\"\"\r\n}\r\n],\r\n\"loadBalancerBackendAddressPools\":[\r\n{\r\n\"id\":\"\"\r\n}\r\n],\r\n\"loadBalancerInboundNatPools\":[\r\n{\r\n\"id\":\"\"\r\n}\r\n],\r\n\"id\":\"\"\r\n}\r\n],\r\n\"id\":\"\"\r\n}\r\n]\r\n},\r\n\"extensionProfile\":{\r\n\"extensions\":[\r\n{\r\n\"name\":\"\",\r\n\"publisher\":\"\",\r\n\"type\":\"\",\r\n\"typeHandlerVersion\":\"\",\r\n\"autoUpgradeMinorVersion\":null,\r\n\"settings\":{\r\n},\r\n\"protectedSettings\":{\r\n},\r\n\"provisioningState\":\"\",\r\n\"id\":\"\"\r\n}\r\n]\r\n}\r\n},\r\n\"provisioningState\":\"\",\r\n\"overProvision\":null,\r\n\"id\":null,\r\n\"name\":null,\r\n\"type\":null,\r\n\"location\":\"\",\r\n\"tags\":{\r\n}\r\n}"));
cli.output.verbose("=====================================");
cli.output.verbose(("Parameter file output to: " + filePath));
cli.output.verbose("====================================="); _(); }, true)); }); });
virtualMachineScaleSetsCreateOrUpdatecreateOrUpdateParameters2.command("patch").description($("Command to patch virtualMachineScaleSetsCreateOrUpdate parameter JSON file.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).option("--operation <operation>", $("The JSON patch operation: add, remove, or replace.")).option("--path <path>", $("The JSON data path, e.g.: \"foo/1\".")).option("--value <value>", $("The JSON value.")).option("--parse", $("Parse the JSON value to object.")).execute(function __3(options, _) { var fileContent, parametersObj, updatedContent; var __frame = { name: "__3", line: 796 }; return __func(_, this, arguments, __3, 1, __frame, function __$__3() {
return cli.output.verbose(options.parameterFile, __cb(_, __frame, 1, 15, function __$__3() {
cli.output.verbose(options.operation);
cli.output.verbose(options.path);
cli.output.verbose(options.value);
cli.output.verbose(options.parse);
if (options.parse) {
options.value = JSON.parse(options.value); } ;
cli.output.verbose(options.value);
cli.output.verbose("=====================================");
cli.output.verbose((("Reading file content from: \"" + options.parameterFile) + "\""));
cli.output.verbose("=====================================");
fileContent = fs.readFileSync(options.parameterFile, "utf8");
parametersObj = JSON.parse(fileContent);
cli.output.verbose("JSON object:");
cli.output.verbose(JSON.stringify(parametersObj));
if ((options.operation == "add")) {
jsonpatch.apply(parametersObj, [{ op: options.operation, path: options.path, value: options.value },]); } else {
if ((options.operation == "remove")) {
jsonpatch.apply(parametersObj, [{ op: options.operation, path: options.path },]); } else {
if ((options.operation == "replace")) {
jsonpatch.apply(parametersObj, [{ op: options.operation, path: options.path, value: options.value },]); } ; } ; } ;
updatedContent = JSON.stringify(parametersObj);
cli.output.verbose("=====================================");
cli.output.verbose("JSON object (updated):");
cli.output.verbose(JSON.stringify(parametersObj));
cli.output.verbose("=====================================");
fs.writeFileSync(options.parameterFile, beautify(updatedContent));
cli.output.verbose("=====================================");
cli.output.verbose(("Parameter file updated at: " + options.parameterFile));
cli.output.verbose("====================================="); _(); }, true)); }); });
var catparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet0 = cli.category("vmss");
var parametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet0 = catparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet0.category("config").description($("Commands to manage configuration of virtual-machine-scale-sets in the parameter file."));
var setparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet0 = parametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet0.category("virtual-machine-scale-set").description($("Commands to configure virtual-machine-scale-set of vmss in config file."));
setparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet0.command("set").description($("Set virtual-machine-scale-set in config string or files, e.g. \r\n{\r\n \"sku\":{\r\n \"name\":\"\",\r\n \"tier\":\"\",\r\n \"capacity\":null\r\n },\r\n \"upgradePolicy\":{\r\n \"mode\":null\r\n },\r\n \"virtualMachineProfile\":{\r\n \"osProfile\":{\r\n \"computerNamePrefix\":\"\",\r\n \"adminUsername\":\"\",\r\n \"adminPassword\":\"\",\r\n \"customData\":\"\",\r\n \"windowsConfiguration\":{\r\n \"provisionVMAgent\":null,\r\n \"enableAutomaticUpdates\":null,\r\n \"timeZone\":\"\",\r\n \"additionalUnattendContent\":[\r\n {\r\n \"passName\":null,\r\n \"componentName\":null,\r\n \"settingName\":null,\r\n \"content\":\"\"\r\n }\r\n ],\r\n \"winRM\":{\r\n \"listeners\":[\r\n {\r\n \"protocol\":null,\r\n \"certificateUrl\":\"\"\r\n }\r\n ]\r\n }\r\n },\r\n \"linuxConfiguration\":{\r\n \"disablePasswordAuthentication\":null,\r\n \"ssh\":{\r\n \"publicKeys\":[\r\n {\r\n \"path\":\"\",\r\n \"keyData\":\"\"\r\n }\r\n ]\r\n }\r\n },\r\n \"secrets\":[\r\n {\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n },\r\n \"vaultCertificates\":[\r\n {\r\n \"certificateUrl\":\"\",\r\n \"certificateStore\":\"\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n \"storageProfile\":{\r\n \"imageReference\":{\r\n \"publisher\":\"\",\r\n \"offer\":\"\",\r\n \"sku\":\"\",\r\n \"version\":\"\"\r\n },\r\n \"osDisk\":{\r\n \"name\":\"\",\r\n \"caching\":null,\r\n \"createOption\":\"\",\r\n \"osType\":null,\r\n \"image\":{\r\n \"uri\":\"\"\r\n },\r\n \"vhdContainers\":[\r\n \"\"\r\n ]\r\n }\r\n },\r\n \"networkProfile\":{\r\n \"networkInterfaceConfigurations\":[\r\n {\r\n \"name\":\"\",\r\n \"primary\":null,\r\n \"ipConfigurations\":[\r\n {\r\n \"name\":\"\",\r\n \"subnet\":{\r\n \"id\":\"\"\r\n },\r\n \"applicationGatewayBackendAddressPools\":[\r\n {\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"loadBalancerBackendAddressPools\":[\r\n {\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"loadBalancerInboundNatPools\":[\r\n {\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"id\":\"\"\r\n }\r\n ]\r\n },\r\n \"extensionProfile\":{\r\n \"extensions\":[\r\n {\r\n \"name\":\"\",\r\n \"publisher\":\"\",\r\n \"type\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"autoUpgradeMinorVersion\":null,\r\n \"settings\":{\r\n },\r\n \"protectedSettings\":{\r\n },\r\n \"provisioningState\":\"\",\r\n \"id\":\"\"\r\n }\r\n ]\r\n }\r\n },\r\n \"provisioningState\":\"\",\r\n \"overProvision\":null,\r\n \"id\":null,\r\n \"name\":null,\r\n \"type\":null,\r\n \"location\":\"\",\r\n \"tags\":{\r\n }\r\n}\r\n There are two sets of commands:\r\n 1) function commands that are used to manage Azure resources in the cloud, and \r\n 2) parameter commands that generate & edit input files for the other set of commands.\r\n For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n file as for the VM scale set configuration, and creates it online.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).option("--parse", $("Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str).")).option("--sku <sku>", $("Set the sku value.")).option("--upgrade-policy <upgradePolicy>", $("Set the upgrade-policy value.")).option("--virtual-machine-profile <virtualMachineProfile>", $("Set the virtual-machine-profile value.")).option("--provisioning-state <provisioningState>", $("Set the provisioning-state value.")).option("--over-provision <overProvision>", $("Set the over-provision value.")).option("--id <id>", $("Set the id value.")).option("--name <name>", $("Set the name value.")).option("--type <type>", $("Set the type value.")).option("--location <location>", $("Set the location value.")).option("--tags <tags>", $("Set the tags value.")).execute(function __4(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__4", line: 854 }; return __func(_, this, arguments, __4, 1, __frame, function __$__4() {
return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__4() { return (function __$__4(__then) {
if (!options.parameterFile) {
return cli.interaction.promptIfNotGiven($("parameter-file : "), options.parameterFile, __cb(_, __frame, 3, 46, function ___(__0, __1) { options.parameterFile = __1; __then(); }, true)); } else { __then(); } ; })(function __$__4() {
cli.output.verbose("=====================================");
cli.output.verbose((("Reading file content from: \"" + options.parameterFile) + "\""));
cli.output.verbose("=====================================");
fileContent = fs.readFileSync(options.parameterFile, "utf8");
parametersObj = JSON.parse(fileContent);
cli.output.verbose("JSON object:");
cli.output.verbose(JSON.stringify(parametersObj));
options.operation = "replace";
options.path = "";
error = jsonpatch.validate([{ op: "remove", path: options.path },], parametersObj);
if ((typeof error !== "undefined")) {
jsonpatch.apply(parametersObj, [{ op: "add", path: options.path, value: { } },]); } ;
paramPath = ((options.path + "/") + "sku");
if (options.sku) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.sku));
cli.output.verbose("================================================");
if ((options.parse && options.sku)) {
options.sku = JSON.parse(options.sku); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.sku },]); } ;
paramPath = ((options.path + "/") + "upgradePolicy");
if (options.upgradePolicy) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.upgradePolicy));
cli.output.verbose("================================================");
if ((options.parse && options.upgradePolicy)) {
options.upgradePolicy = JSON.parse(options.upgradePolicy); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.upgradePolicy },]); } ;
paramPath = ((options.path + "/") + "virtualMachineProfile");
if (options.virtualMachineProfile) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.virtualMachineProfile));
cli.output.verbose("================================================");
if ((options.parse && options.virtualMachineProfile)) {
options.virtualMachineProfile = JSON.parse(options.virtualMachineProfile); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.virtualMachineProfile },]); } ;
paramPath = ((options.path + "/") + "provisioningState");
if (options.provisioningState) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.provisioningState));
cli.output.verbose("================================================");
if ((options.parse && options.provisioningState)) {
options.provisioningState = JSON.parse(options.provisioningState); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.provisioningState },]); } ;
paramPath = ((options.path + "/") + "overProvision");
if (options.overProvision) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.overProvision));
cli.output.verbose("================================================");
if ((options.parse && options.overProvision)) {
options.overProvision = JSON.parse(options.overProvision); } ;
options.overProvision = JSON.parse(options.overProvision);
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.overProvision },]); } ;
paramPath = ((options.path + "/") + "id");
if (options.id) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.id));
cli.output.verbose("================================================");
if ((options.parse && options.id)) {
options.id = JSON.parse(options.id); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.id },]); } ;
paramPath = ((options.path + "/") + "name");
if (options.name) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.name));
cli.output.verbose("================================================");
if ((options.parse && options.name)) {
options.name = JSON.parse(options.name); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.name },]); } ;
paramPath = ((options.path + "/") + "type");
if (options.type) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.type));
cli.output.verbose("================================================");
if ((options.parse && options.type)) {
options.type = JSON.parse(options.type); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.type },]); } ;
paramPath = ((options.path + "/") + "location");
if (options.location) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.location));
cli.output.verbose("================================================");
if ((options.parse && options.location)) {
options.location = JSON.parse(options.location); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.location },]); } ;
paramPath = ((options.path + "/") + "tags");
if (options.tags) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.tags));
cli.output.verbose("================================================");
if ((options.parse && options.tags)) {
options.tags = JSON.parse(options.tags); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.tags },]); } ;
updatedContent = JSON.stringify(parametersObj);
cli.output.verbose("=====================================");
cli.output.verbose("JSON object (updated):");
cli.output.verbose(JSON.stringify(parametersObj));
cli.output.verbose("=====================================");
fs.writeFileSync(options.parameterFile, beautify(updatedContent));
cli.output.verbose("=====================================");
cli.output.verbose(("Parameter file updated at: " + options.parameterFile));
cli.output.verbose("====================================="); _(); }); }, true)); }); });
var catparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet1 = cli.category("vmss");
var parametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet1 = catparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet1.category("config").description($("Commands to manage configuration of virtual-machine-scale-sets in the parameter file."));
var deleteparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet1 = parametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet1.category("virtual-machine-scale-set").description($("Commands to configure virtual-machine-scale-set of vmss in config file."));
deleteparametersCreateOrUpdateVirtualMachineScaleSetsVirtualMachineScaleSet1.command("delete").description($("Remove virtual-machine-scale-set in config string or files, e.g. \r\n{\r\n \"sku\":{\r\n \"name\":\"\",\r\n \"tier\":\"\",\r\n \"capacity\":null\r\n },\r\n \"upgradePolicy\":{\r\n \"mode\":null\r\n },\r\n \"virtualMachineProfile\":{\r\n \"osProfile\":{\r\n \"computerNamePrefix\":\"\",\r\n \"adminUsername\":\"\",\r\n \"adminPassword\":\"\",\r\n \"customData\":\"\",\r\n \"windowsConfiguration\":{\r\n \"provisionVMAgent\":null,\r\n \"enableAutomaticUpdates\":null,\r\n \"timeZone\":\"\",\r\n \"additionalUnattendContent\":[\r\n {\r\n \"passName\":null,\r\n \"componentName\":null,\r\n \"settingName\":null,\r\n \"content\":\"\"\r\n }\r\n ],\r\n \"winRM\":{\r\n \"listeners\":[\r\n {\r\n \"protocol\":null,\r\n \"certificateUrl\":\"\"\r\n }\r\n ]\r\n }\r\n },\r\n \"linuxConfiguration\":{\r\n \"disablePasswordAuthentication\":null,\r\n \"ssh\":{\r\n \"publicKeys\":[\r\n {\r\n \"path\":\"\",\r\n \"keyData\":\"\"\r\n }\r\n ]\r\n }\r\n },\r\n \"secrets\":[\r\n {\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n },\r\n \"vaultCertificates\":[\r\n {\r\n \"certificateUrl\":\"\",\r\n \"certificateStore\":\"\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n \"storageProfile\":{\r\n \"imageReference\":{\r\n \"publisher\":\"\",\r\n \"offer\":\"\",\r\n \"sku\":\"\",\r\n \"version\":\"\"\r\n },\r\n \"osDisk\":{\r\n \"name\":\"\",\r\n \"caching\":null,\r\n \"createOption\":\"\",\r\n \"osType\":null,\r\n \"image\":{\r\n \"uri\":\"\"\r\n },\r\n \"vhdContainers\":[\r\n \"\"\r\n ]\r\n }\r\n },\r\n \"networkProfile\":{\r\n \"networkInterfaceConfigurations\":[\r\n {\r\n \"name\":\"\",\r\n \"primary\":null,\r\n \"ipConfigurations\":[\r\n {\r\n \"name\":\"\",\r\n \"subnet\":{\r\n \"id\":\"\"\r\n },\r\n \"applicationGatewayBackendAddressPools\":[\r\n {\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"loadBalancerBackendAddressPools\":[\r\n {\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"loadBalancerInboundNatPools\":[\r\n {\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"id\":\"\"\r\n }\r\n ],\r\n \"id\":\"\"\r\n }\r\n ]\r\n },\r\n \"extensionProfile\":{\r\n \"extensions\":[\r\n {\r\n \"name\":\"\",\r\n \"publisher\":\"\",\r\n \"type\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"autoUpgradeMinorVersion\":null,\r\n \"settings\":{\r\n },\r\n \"protectedSettings\":{\r\n },\r\n \"provisioningState\":\"\",\r\n \"id\":\"\"\r\n }\r\n ]\r\n }\r\n },\r\n \"provisioningState\":\"\",\r\n \"overProvision\":null,\r\n \"id\":null,\r\n \"name\":null,\r\n \"type\":null,\r\n \"location\":\"\",\r\n \"tags\":{\r\n }\r\n}\r\n There are two sets of commands:\r\n 1) function commands that are used to manage Azure resources in the cloud, and \r\n 2) parameter commands that generate & edit input files for the other set of commands.\r\n For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n file as for the VM scale set configuration, and creates it online.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).option("--sku", $("Remove the sku value.")).option("--upgrade-policy", $("Remove the upgrade-policy value.")).option("--virtual-machine-profile", $("Remove the virtual-machine-profile value.")).option("--provisioning-state", $("Remove the provisioning-state value.")).option("--over-provision", $("Remove the over-provision value.")).option("--id", $("Remove the id value.")).option("--name", $("Remove the name value.")).option("--type", $("Remove the type value.")).option("--location", $("Remove the location value.")).option("--tags", $("Remove the tags value.")).execute(function __5(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__5", line: 1015 }; return __func(_, this, arguments, __5, 1, __frame, function __$__5() {
return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__5() { return (function __$__5(__then) {
if (!options.parameterFile) {
return cli.interaction.promptIfNotGiven($("parameter-file : "), options.parameterFile, __cb(_, __frame, 3, 46, function ___(__0, __1) { options.parameterFile = __1; __then(); }, true)); } else { __then(); } ; })(function __$__5() {
cli.output.verbose("=====================================");
cli.output.verbose((("Reading file content from: \"" + options.parameterFile) + "\""));
cli.output.verbose("=====================================");
fileContent = fs.readFileSync(options.parameterFile, "utf8");
parametersObj = JSON.parse(fileContent);
cli.output.verbose("JSON object:");
cli.output.verbose(JSON.stringify(parametersObj));
options.operation = "remove";
options.path = "";
anySubItem = ((((((((((false || options.sku) || options.upgradePolicy) || options.virtualMachineProfile) || options.provisioningState) || options.overProvision) || options.id) || options.name) || options.type) || options.location) || options.tags);
if (anySubItem) {
subItemPath = null;
if (options.sku) {
subItemPath = (options.path + "/sku");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.upgradePolicy) {
subItemPath = (options.path + "/upgradePolicy");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.virtualMachineProfile) {
subItemPath = (options.path + "/virtualMachineProfile");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.provisioningState) {
subItemPath = (options.path + "/provisioningState");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.overProvision) {
subItemPath = (options.path + "/overProvision");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.id) {
subItemPath = (options.path + "/id");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.name) {
subItemPath = (options.path + "/name");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.type) {
subItemPath = (options.path + "/type");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.location) {
subItemPath = (options.path + "/location");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.tags) {
subItemPath = (options.path + "/tags");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ; }
else {
jsonpatch.apply(parametersObj, [{ op: options.operation, path: options.path },]); } ;
updatedContent = JSON.stringify(parametersObj);
cli.output.verbose("=====================================");
cli.output.verbose("JSON object (updated):");
cli.output.verbose(JSON.stringify(parametersObj));
cli.output.verbose("=====================================");
fs.writeFileSync(options.parameterFile, beautify(updatedContent));
cli.output.verbose("=====================================");
cli.output.verbose(("Parameter file updated at: " + options.parameterFile));
cli.output.verbose("====================================="); _(); }); }, true)); }); });
var catparametersCreateOrUpdateVirtualMachineScaleSetsSku0 = cli.category("vmss");
var parametersCreateOrUpdateVirtualMachineScaleSetsSku0 = catparametersCreateOrUpdateVirtualMachineScaleSetsSku0.category("config").description($("Commands to manage configuration of virtual-machine-scale-sets in the parameter file."));
var setparametersCreateOrUpdateVirtualMachineScaleSetsSku0 = parametersCreateOrUpdateVirtualMachineScaleSetsSku0.category("sku").description($("Commands to configure sku of vmss in config file."));
setparametersCreateOrUpdateVirtualMachineScaleSetsSku0.command("set").description($("Set sku in config string or files, e.g. \r\n {\r\n ...\r\n \"sku\" : {\r\n \"name\":\"\",\r\n \"tier\":\"\",\r\n \"capacity\":null\r\n }\r\n ...\r\n }\r\n\r\n There are two sets of commands:\r\n 1) function commands that are used to manage Azure resources in the cloud, and \r\n 2) parameter commands that generate & edit input files for the other set of commands.\r\n For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n file as for the VM scale set configuration, and creates it online.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).option("--parse", $("Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str).")).option("--name <name>", $("Set the name value.")).option("--tier <tier>", $("Set the tier value.")).option("--capacity <capacity>", $("Set the capacity value.")).execute(function __6(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__6", line: 1102 }; return __func(_, this, arguments, __6, 1, __frame, function __$__6() {
return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__6() { return (function __$__6(__then) {
if (!options.parameterFile) {
return cli.interaction.promptIfNotGiven($("parameter-file : "), options.parameterFile, __cb(_, __frame, 3, 46, function ___(__0, __1) { options.parameterFile = __1; __then(); }, true)); } else { __then(); } ; })(function __$__6() {
cli.output.verbose("=====================================");
cli.output.verbose((("Reading file content from: \"" + options.parameterFile) + "\""));
cli.output.verbose("=====================================");
fileContent = fs.readFileSync(options.parameterFile, "utf8");
parametersObj = JSON.parse(fileContent);
cli.output.verbose("JSON object:");
cli.output.verbose(JSON.stringify(parametersObj));
options.operation = "replace";
options.path = "/sku";
error = jsonpatch.validate([{ op: "remove", path: options.path },], parametersObj);
if ((typeof error !== "undefined")) {
jsonpatch.apply(parametersObj, [{ op: "add", path: options.path, value: { } },]); } ;
paramPath = ((options.path + "/") + "name");
if (options.name) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.name));
cli.output.verbose("================================================");
if ((options.parse && options.name)) {
options.name = JSON.parse(options.name); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.name },]); } ;
paramPath = ((options.path + "/") + "tier");
if (options.tier) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.tier));
cli.output.verbose("================================================");
if ((options.parse && options.tier)) {
options.tier = JSON.parse(options.tier); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.tier },]); } ;
paramPath = ((options.path + "/") + "capacity");
if (options.capacity) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.capacity));
cli.output.verbose("================================================");
if ((options.parse && options.capacity)) {
options.capacity = JSON.parse(options.capacity); } ;
options.capacity = JSON.parse(options.capacity);
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.capacity },]); } ;
updatedContent = JSON.stringify(parametersObj);
cli.output.verbose("=====================================");
cli.output.verbose("JSON object (updated):");
cli.output.verbose(JSON.stringify(parametersObj));
cli.output.verbose("=====================================");
fs.writeFileSync(options.parameterFile, beautify(updatedContent));
cli.output.verbose("=====================================");
cli.output.verbose(("Parameter file updated at: " + options.parameterFile));
cli.output.verbose("====================================="); _(); }); }, true)); }); });
var catparametersCreateOrUpdateVirtualMachineScaleSetsSku1 = cli.category("vmss");
var parametersCreateOrUpdateVirtualMachineScaleSetsSku1 = catparametersCreateOrUpdateVirtualMachineScaleSetsSku1.category("config").description($("Commands to manage configuration of virtual-machine-scale-sets in the parameter file."));
var deleteparametersCreateOrUpdateVirtualMachineScaleSetsSku1 = parametersCreateOrUpdateVirtualMachineScaleSetsSku1.category("sku").description($("Commands to configure sku of vmss in config file."));
deleteparametersCreateOrUpdateVirtualMachineScaleSetsSku1.command("delete").description($("Remove sku in config string or files, e.g. \r\n {\r\n ...\r\n \"sku\" : {\r\n \"name\":\"\",\r\n \"tier\":\"\",\r\n \"capacity\":null\r\n }\r\n ...\r\n }\r\n\r\n There are two sets of commands:\r\n 1) function commands that are used to manage Azure resources in the cloud, and \r\n 2) parameter commands that generate & edit input files for the other set of commands.\r\n For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n file as for the VM scale set configuration, and creates it online.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).option("--name", $("Remove the name value.")).option("--tier", $("Remove the tier value.")).option("--capacity", $("Remove the capacity value.")).execute(function __7(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__7", line: 1179 }; return __func(_, this, arguments, __7, 1, __frame, function __$__7() {
return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__7() { return (function __$__7(__then) {
if (!options.parameterFile) {
return cli.interaction.promptIfNotGiven($("parameter-file : "), options.parameterFile, __cb(_, __frame, 3, 46, function ___(__0, __1) { options.parameterFile = __1; __then(); }, true)); } else { __then(); } ; })(function __$__7() {
cli.output.verbose("=====================================");
cli.output.verbose((("Reading file content from: \"" + options.parameterFile) + "\""));
cli.output.verbose("=====================================");
fileContent = fs.readFileSync(options.parameterFile, "utf8");
parametersObj = JSON.parse(fileContent);
cli.output.verbose("JSON object:");
cli.output.verbose(JSON.stringify(parametersObj));
options.operation = "remove";
options.path = "/sku";
anySubItem = (((false || options.name) || options.tier) || options.capacity);
if (anySubItem) {
subItemPath = null;
if (options.name) {
subItemPath = (options.path + "/name");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.tier) {
subItemPath = (options.path + "/tier");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;
if (options.capacity) {
subItemPath = (options.path + "/capacity");
jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ; }
else {
jsonpatch.apply(parametersObj, [{ op: options.operation, path: options.path },]); } ;
updatedContent = JSON.stringify(parametersObj);
cli.output.verbose("=====================================");
cli.output.verbose("JSON object (updated):");
cli.output.verbose(JSON.stringify(parametersObj));
cli.output.verbose("=====================================");
fs.writeFileSync(options.parameterFile, beautify(updatedContent));
cli.output.verbose("=====================================");
cli.output.verbose(("Parameter file updated at: " + options.parameterFile));
cli.output.verbose("====================================="); _(); }); }, true)); }); });
var catparametersCreateOrUpdateVirtualMachineScaleSetsUpgradePolicy0 = cli.category("vmss");
var parametersCreateOrUpdateVirtualMachineScaleSetsUpgradePolicy0 = catparametersCreateOrUpdateVirtualMachineScaleSetsUpgradePolicy0.category("config").description($("Commands to manage configuration of virtual-machine-scale-sets in the parameter file."));
var setparametersCreateOrUpdateVirtualMachineScaleSetsUpgradePolicy0 = parametersCreateOrUpdateVirtualMachineScaleSetsUpgradePolicy0.category("upgrade-policy").description($("Commands to configure upgrade-policy of vmss in config file."));
setparametersCreateOrUpdateVirtualMachineScaleSetsUpgradePolicy0.command("set").description($("Set upgrade-policy in config string or files, e.g. \r\n {\r\n ...\r\n \"upgradePolicy\" : {\r\n \"mode\":null\r\n }\r\n ...\r\n }\r\n\r\n There are two sets of commands:\r\n 1) function commands that are used to manage Azure resources in the cloud, and \r\n 2) parameter commands that generate & edit input files for the other set of commands.\r\n For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n file as for the VM scale set configuration, and creates it online.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).option("--parse", $("Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str).")).option("--mode <mode>", $("Set the mode value.")).execute(function __8(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__8", line: 1236 }; return __func(_, this, arguments, __8, 1, __frame, function __$__8() {
return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__8() { return (function __$__8(__then) {
if (!options.parameterFile) {
return cli.interaction.promptIfNotGiven($("parameter-file : "), options.parameterFile, __cb(_, __frame, 3, 46, function ___(__0, __1) { options.parameterFile = __1; __then(); }, true)); } else