azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
1,762 lines (288 loc) • 766 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);};
exports.init = function(cli) {
var virtualMachinesConvertToManagedDisks = cli.category("vm").description($("Commands to manage your virtual machines. "));
virtualMachinesConvertToManagedDisks.command("convert-to-managed-disks [resource-group] [vm-name]").description($("Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.")).usage("[options] <resource-group> <vm-name>").option("-g, --resource-group <resource-group>", $("resource-group")).option("-n, --vm-name <vm-name>", $("vm-name")).option("-s, --subscription <subscription>", $("The subscription identifier")).execute(function __1(resourceGroup, vMName, options, _) { var subscription, computeManagementClient, result; var __frame = { name: "__1", line: 1053 }; return __func(_, this, arguments, __1, 3, __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 (!vMName) {
return cli.interaction.promptIfNotGiven($("vm-name : "), vMName, __cb(_, __frame, 7, 31, function ___(__0, __2) { vMName = __2; __then(); }, true)); } else { __then(); } ; })(function __$__1() {
cli.output.verbose(("vMName = " + vMName));
subscription = profile.current.getSubscription(options.subscription);
computeManagementClient = utils.createComputeManagementClient(subscription);
return computeManagementClient.virtualMachines.convertToManagedDisks(resourceGroup, vMName, __cb(_, __frame, 13, 57, function ___(__0, __3) { result = __3;
if (result) {
cli.output.json(result); } ; _(); }, true)); }); }); }); });
var virtualMachinesCreateOrUpdate = cli.category("vm").description($("Commands to manage your virtual machines. "));
virtualMachinesCreateOrUpdate.command("create-or-update [resource-group] [vm-name] [parameters]").description($("The operation to create or update a virtual machine.")).usage("[options] <resource-group> <vm-name> <parameters>").option("-g, --resource-group <resource-group>", $("resource-group")).option("-n, --vm-name <vm-name>", $("vm-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 __2(resourceGroup, vMName, parameters, options, _) { var parametersObj, fileContent, subscription, computeManagementClient, result; var __frame = { name: "__2", line: 1395 }; return __func(_, this, arguments, __2, 4, __frame, function __$__2() { return (function __$__2(__then) {
if (!resourceGroup) {
return cli.interaction.promptIfNotGiven($("resource-group : "), resourceGroup, __cb(_, __frame, 2, 38, function ___(__0, __1) { resourceGroup = __1; __then(); }, true)); } else { __then(); } ; })(function __$__2() {
cli.output.verbose(("resourceGroup = " + resourceGroup)); return (function __$__2(__then) {
if (!vMName) {
return cli.interaction.promptIfNotGiven($("vm-name : "), vMName, __cb(_, __frame, 7, 31, function ___(__0, __2) { vMName = __2; __then(); }, true)); } else { __then(); } ; })(function __$__2() {
cli.output.verbose(("vMName = " + vMName));
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.virtualMachines.createOrUpdate(resourceGroup, vMName, parametersObj, __cb(_, __frame, 24, 57, function ___(__0, __3) { result = __3;
if (result) {
cli.output.json(result); } ; _(); }, true)); }); }); }); });
var virtualMachinesCreateOrUpdatecreateOrUpdateParameters2 = virtualMachinesCreateOrUpdate.category("config").description($("Commands to manage configuration of virtual-machines in the parameter file."));
virtualMachinesCreateOrUpdatecreateOrUpdateParameters2.command("create").description($("Generate virtualMachinesCreateOrUpdate parameter string or files.")).usage("[options]").option("--parameter-file <parameter-file>", $("The parameter file path.")).execute(function __3(options, _) { var filePath; var __frame = { name: "__3", line: 1430 }; return __func(_, this, arguments, __3, 1, __frame, function __$__3() {
return cli.output.verbose("{\"plan\":{\"name\":\"\",\"publisher\":\"\",\"product\":\"\",\"promotionCode\":\"\"},\"hardwareProfile\":{\"vmSize\":\"\"},\"storageProfile\":{\"imageReference\":{\"publisher\":\"\",\"offer\":\"\",\"sku\":\"\",\"version\":\"\",\"id\":\"\"},\"osDisk\":{\"osType\":null,\"encryptionSettings\":{\"diskEncryptionKey\":{\"secretUrl\":\"\",\"sourceVault\":{\"id\":\"\"}},\"keyEncryptionKey\":{\"keyUrl\":\"\",\"sourceVault\":{\"id\":\"\"}},\"enabled\":null},\"name\":\"\",\"vhd\":{\"uri\":\"\"},\"image\":{\"uri\":\"\"},\"caching\":null,\"createOption\":\"\",\"diskSizeGB\":null,\"managedDisk\":{\"storageAccountType\":null,\"id\":\"\"}},\"dataDisks\":[{\"lun\":\"\",\"name\":\"\",\"vhd\":{\"uri\":\"\"},\"image\":{\"uri\":\"\"},\"caching\":null,\"createOption\":\"\",\"diskSizeGB\":null,\"managedDisk\":{\"storageAccountType\":null,\"id\":\"\"}}]},\"osProfile\":{\"computerName\":\"\",\"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\":\"\"}]}]},\"networkProfile\":{\"networkInterfaces\":[{\"primary\":null,\"id\":\"\"}]},\"diagnosticsProfile\":{\"bootDiagnostics\":{\"enabled\":null,\"storageUri\":\"\"}},\"availabilitySet\":{\"id\":\"\"},\"provisioningState\":\"\",\"instanceView\":{\"platformUpdateDomain\":null,\"platformFaultDomain\":null,\"rdpThumbPrint\":\"\",\"vmAgent\":{\"vmAgentVersion\":\"\",\"extensionHandlers\":[{\"type\":\"\",\"typeHandlerVersion\":\"\",\"status\":{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}}],\"statuses\":[{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}]},\"maintenanceRedeployStatus\":{\"isCustomerInitiatedMaintenanceAllowed\":null,\"preMaintenanceWindowStartTime\":null,\"preMaintenanceWindowEndTime\":null,\"maintenanceWindowStartTime\":null,\"maintenanceWindowEndTime\":null,\"lastOperationResultCode\":null,\"lastOperationMessage\":\"\"},\"disks\":[{\"name\":\"\",\"encryptionSettings\":[{\"diskEncryptionKey\":{\"secretUrl\":\"\",\"sourceVault\":{\"id\":\"\"}},\"keyEncryptionKey\":{\"keyUrl\":\"\",\"sourceVault\":{\"id\":\"\"}},\"enabled\":null}],\"statuses\":[{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}]}],\"extensions\":[{\"name\":\"\",\"type\":\"\",\"typeHandlerVersion\":\"\",\"substatuses\":[{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}],\"statuses\":[{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}]}],\"bootDiagnostics\":{\"consoleScreenshotBlobUri\":\"\",\"serialConsoleLogBlobUri\":\"\"},\"statuses\":[{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}]},\"licenseType\":\"\",\"vmId\":\"\",\"resources\":[{\"forceUpdateTag\":\"\",\"publisher\":\"\",\"virtualMachineExtensionType\":\"\",\"typeHandlerVersion\":\"\",\"autoUpgradeMinorVersion\":null,\"settings\":{},\"protectedSettings\":{},\"provisioningState\":\"\",\"instanceView\":{\"name\":\"\",\"type\":\"\",\"typeHandlerVersion\":\"\",\"substatuses\":[{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}],\"statuses\":[{\"code\":\"\",\"level\":null,\"displayStatus\":\"\",\"message\":\"\",\"time\":null}]},\"id\":null,\"name\":null,\"type\":null,\"location\":\"\",\"tags\":{}}],\"identity\":{\"principalId\":\"\",\"tenantId\":\"\",\"type\":null},\"zones\":[\"\"],\"id\":null,\"name\":null,\"type\":null,\"location\":\"\",\"tags\":{}}", __cb(_, __frame, 1, 15, function __$__3() {
filePath = "virtualMachinesCreateOrUpdate_createOrUpdate.json";
if (options.parameterFile) {
filePath = options.parameterFile; } ;
fs.writeFileSync(filePath, beautify("{\r\n\"plan\":{\r\n\"name\":\"\",\r\n\"publisher\":\"\",\r\n\"product\":\"\",\r\n\"promotionCode\":\"\"\r\n},\r\n\"hardwareProfile\":{\r\n\"vmSize\":\"\"\r\n},\r\n\"storageProfile\":{\r\n\"imageReference\":{\r\n\"publisher\":\"\",\r\n\"offer\":\"\",\r\n\"sku\":\"\",\r\n\"version\":\"\",\r\n\"id\":\"\"\r\n},\r\n\"osDisk\":{\r\n\"osType\":null,\r\n\"encryptionSettings\":{\r\n\"diskEncryptionKey\":{\r\n\"secretUrl\":\"\",\r\n\"sourceVault\":{\r\n\"id\":\"\"\r\n}\r\n},\r\n\"keyEncryptionKey\":{\r\n\"keyUrl\":\"\",\r\n\"sourceVault\":{\r\n\"id\":\"\"\r\n}\r\n},\r\n\"enabled\":null\r\n},\r\n\"name\":\"\",\r\n\"vhd\":{\r\n\"uri\":\"\"\r\n},\r\n\"image\":{\r\n\"uri\":\"\"\r\n},\r\n\"caching\":null,\r\n\"createOption\":\"\",\r\n\"diskSizeGB\":null,\r\n\"managedDisk\":{\r\n\"storageAccountType\":null,\r\n\"id\":\"\"\r\n}\r\n},\r\n\"dataDisks\":[\r\n{\r\n\"lun\":\"\",\r\n\"name\":\"\",\r\n\"vhd\":{\r\n\"uri\":\"\"\r\n},\r\n\"image\":{\r\n\"uri\":\"\"\r\n},\r\n\"caching\":null,\r\n\"createOption\":\"\",\r\n\"diskSizeGB\":null,\r\n\"managedDisk\":{\r\n\"storageAccountType\":null,\r\n\"id\":\"\"\r\n}\r\n}\r\n]\r\n},\r\n\"osProfile\":{\r\n\"computerName\":\"\",\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\"networkProfile\":{\r\n\"networkInterfaces\":[\r\n{\r\n\"primary\":null,\r\n\"id\":\"\"\r\n}\r\n]\r\n},\r\n\"diagnosticsProfile\":{\r\n\"bootDiagnostics\":{\r\n\"enabled\":null,\r\n\"storageUri\":\"\"\r\n}\r\n},\r\n\"availabilitySet\":{\r\n\"id\":\"\"\r\n},\r\n\"provisioningState\":\"\",\r\n\"instanceView\":{\r\n\"platformUpdateDomain\":null,\r\n\"platformFaultDomain\":null,\r\n\"rdpThumbPrint\":\"\",\r\n\"vmAgent\":{\r\n\"vmAgentVersion\":\"\",\r\n\"extensionHandlers\":[\r\n{\r\n\"type\":\"\",\r\n\"typeHandlerVersion\":\"\",\r\n\"status\":{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n}\r\n],\r\n\"statuses\":[\r\n{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n]\r\n},\r\n\"maintenanceRedeployStatus\":{\r\n\"isCustomerInitiatedMaintenanceAllowed\":null,\r\n\"preMaintenanceWindowStartTime\":null,\r\n\"preMaintenanceWindowEndTime\":null,\r\n\"maintenanceWindowStartTime\":null,\r\n\"maintenanceWindowEndTime\":null,\r\n\"lastOperationResultCode\":null,\r\n\"lastOperationMessage\":\"\"\r\n},\r\n\"disks\":[\r\n{\r\n\"name\":\"\",\r\n\"encryptionSettings\":[\r\n{\r\n\"diskEncryptionKey\":{\r\n\"secretUrl\":\"\",\r\n\"sourceVault\":{\r\n\"id\":\"\"\r\n}\r\n},\r\n\"keyEncryptionKey\":{\r\n\"keyUrl\":\"\",\r\n\"sourceVault\":{\r\n\"id\":\"\"\r\n}\r\n},\r\n\"enabled\":null\r\n}\r\n],\r\n\"statuses\":[\r\n{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n]\r\n}\r\n],\r\n\"extensions\":[\r\n{\r\n\"name\":\"\",\r\n\"type\":\"\",\r\n\"typeHandlerVersion\":\"\",\r\n\"substatuses\":[\r\n{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n],\r\n\"statuses\":[\r\n{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n]\r\n}\r\n],\r\n\"bootDiagnostics\":{\r\n\"consoleScreenshotBlobUri\":\"\",\r\n\"serialConsoleLogBlobUri\":\"\"\r\n},\r\n\"statuses\":[\r\n{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n]\r\n},\r\n\"licenseType\":\"\",\r\n\"vmId\":\"\",\r\n\"resources\":[\r\n{\r\n\"forceUpdateTag\":\"\",\r\n\"publisher\":\"\",\r\n\"virtualMachineExtensionType\":\"\",\r\n\"typeHandlerVersion\":\"\",\r\n\"autoUpgradeMinorVersion\":null,\r\n\"settings\":{\r\n},\r\n\"protectedSettings\":{\r\n},\r\n\"provisioningState\":\"\",\r\n\"instanceView\":{\r\n\"name\":\"\",\r\n\"type\":\"\",\r\n\"typeHandlerVersion\":\"\",\r\n\"substatuses\":[\r\n{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n],\r\n\"statuses\":[\r\n{\r\n\"code\":\"\",\r\n\"level\":null,\r\n\"displayStatus\":\"\",\r\n\"message\":\"\",\r\n\"time\":null\r\n}\r\n]\r\n},\r\n\"id\":null,\r\n\"name\":null,\r\n\"type\":null,\r\n\"location\":\"\",\r\n\"tags\":{\r\n}\r\n}\r\n],\r\n\"identity\":{\r\n\"principalId\":\"\",\r\n\"tenantId\":\"\",\r\n\"type\":null\r\n},\r\n\"zones\":[\r\n\"\"\r\n],\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)); }); });
virtualMachinesCreateOrUpdatecreateOrUpdateParameters2.command("patch").description($("Command to patch virtualMachinesCreateOrUpdate 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 __4(options, _) { var fileContent, parametersObj, updatedContent; var __frame = { name: "__4", line: 1450 }; return __func(_, this, arguments, __4, 1, __frame, function __$__4() {
return cli.output.verbose(options.parameterFile, __cb(_, __frame, 1, 15, function __$__4() {
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 catparametersCreateOrUpdateVirtualMachinesVirtualMachine01 = cli.category("vm");
var parametersCreateOrUpdateVirtualMachinesVirtualMachine01 = catparametersCreateOrUpdateVirtualMachinesVirtualMachine01.category("config").description($("Commands to manage configuration of virtual-machines in the parameter file."));
var setparametersCreateOrUpdateVirtualMachinesVirtualMachine01 = parametersCreateOrUpdateVirtualMachinesVirtualMachine01.category("virtual-machine").description($("Commands to configure virtual-machine of vm in config file."));
setparametersCreateOrUpdateVirtualMachinesVirtualMachine01.command("set").description($("Set virtual-machine in config string or files, e.g. \r\n{\r\n \"plan\":{\r\n \"name\":\"\",\r\n \"publisher\":\"\",\r\n \"product\":\"\",\r\n \"promotionCode\":\"\"\r\n },\r\n \"hardwareProfile\":{\r\n \"vmSize\":\"\"\r\n },\r\n \"storageProfile\":{\r\n \"imageReference\":{\r\n \"publisher\":\"\",\r\n \"offer\":\"\",\r\n \"sku\":\"\",\r\n \"version\":\"\",\r\n \"id\":\"\"\r\n },\r\n \"osDisk\":{\r\n \"osType\":null,\r\n \"encryptionSettings\":{\r\n \"diskEncryptionKey\":{\r\n \"secretUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"keyEncryptionKey\":{\r\n \"keyUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"enabled\":null\r\n },\r\n \"name\":\"\",\r\n \"vhd\":{\r\n \"uri\":\"\"\r\n },\r\n \"image\":{\r\n \"uri\":\"\"\r\n },\r\n \"caching\":null,\r\n \"createOption\":\"\",\r\n \"diskSizeGB\":null,\r\n \"managedDisk\":{\r\n \"storageAccountType\":null,\r\n \"id\":\"\"\r\n }\r\n },\r\n \"dataDisks\":[\r\n {\r\n \"lun\":\"\",\r\n \"name\":\"\",\r\n \"vhd\":{\r\n \"uri\":\"\"\r\n },\r\n \"image\":{\r\n \"uri\":\"\"\r\n },\r\n \"caching\":null,\r\n \"createOption\":\"\",\r\n \"diskSizeGB\":null,\r\n \"managedDisk\":{\r\n \"storageAccountType\":null,\r\n \"id\":\"\"\r\n }\r\n }\r\n ]\r\n },\r\n \"osProfile\":{\r\n \"computerName\":\"\",\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 \"networkProfile\":{\r\n \"networkInterfaces\":[\r\n {\r\n \"primary\":null,\r\n \"id\":\"\"\r\n }\r\n ]\r\n },\r\n \"diagnosticsProfile\":{\r\n \"bootDiagnostics\":{\r\n \"enabled\":null,\r\n \"storageUri\":\"\"\r\n }\r\n },\r\n \"availabilitySet\":{\r\n \"id\":\"\"\r\n },\r\n \"provisioningState\":\"\",\r\n \"instanceView\":{\r\n \"platformUpdateDomain\":null,\r\n \"platformFaultDomain\":null,\r\n \"rdpThumbPrint\":\"\",\r\n \"vmAgent\":{\r\n \"vmAgentVersion\":\"\",\r\n \"extensionHandlers\":[\r\n {\r\n \"type\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"status\":{\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n }\r\n ],\r\n \"statuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ]\r\n },\r\n \"maintenanceRedeployStatus\":{\r\n \"isCustomerInitiatedMaintenanceAllowed\":null,\r\n \"preMaintenanceWindowStartTime\":null,\r\n \"preMaintenanceWindowEndTime\":null,\r\n \"maintenanceWindowStartTime\":null,\r\n \"maintenanceWindowEndTime\":null,\r\n \"lastOperationResultCode\":null,\r\n \"lastOperationMessage\":\"\"\r\n },\r\n \"disks\":[\r\n {\r\n \"name\":\"\",\r\n \"encryptionSettings\":[\r\n {\r\n \"diskEncryptionKey\":{\r\n \"secretUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"keyEncryptionKey\":{\r\n \"keyUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"enabled\":null\r\n }\r\n ],\r\n \"statuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ]\r\n }\r\n ],\r\n \"extensions\":[\r\n {\r\n \"name\":\"\",\r\n \"type\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"substatuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ],\r\n \"statuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ]\r\n }\r\n ],\r\n \"bootDiagnostics\":{\r\n \"consoleScreenshotBlobUri\":\"\",\r\n \"serialConsoleLogBlobUri\":\"\"\r\n },\r\n \"statuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ]\r\n },\r\n \"licenseType\":\"\",\r\n \"vmId\":\"\",\r\n \"resources\":[\r\n {\r\n \"forceUpdateTag\":\"\",\r\n \"publisher\":\"\",\r\n \"virtualMachineExtensionType\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"autoUpgradeMinorVersion\":null,\r\n \"settings\":{\r\n },\r\n \"protectedSettings\":{\r\n },\r\n \"provisioningState\":\"\",\r\n \"instanceView\":{\r\n \"name\":\"\",\r\n \"type\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"substatuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ],\r\n \"statuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ]\r\n },\r\n \"id\":null,\r\n \"name\":null,\r\n \"type\":null,\r\n \"location\":\"\",\r\n \"tags\":{\r\n }\r\n }\r\n ],\r\n \"identity\":{\r\n \"principalId\":\"\",\r\n \"tenantId\":\"\",\r\n \"type\":null\r\n },\r\n \"zones\":[\r\n \"\"\r\n ],\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("--plan <plan>", $("Set the plan value.")).option("--hardware-profile <hardwareProfile>", $("Set the hardware-profile value.")).option("--storage-profile <storageProfile>", $("Set the storage-profile value.")).option("--os-profile <osProfile>", $("Set the os-profile value.")).option("--network-profile <networkProfile>", $("Set the network-profile value.")).option("--diagnostics-profile <diagnosticsProfile>", $("Set the diagnostics-profile value.")).option("--availability-set <availabilitySet>", $("Set the availability-set value.")).option("--provisioning-state <provisioningState>", $("Set the provisioning-state value.")).option("--instance-view <instanceView>", $("Set the instance-view value.")).option("--license-type <licenseType>", $("Set the license-type value.")).option("--vm-id <vmId>", $("Set the vm-id value.")).option("--resources <resources>", $("Set the resources value.")).option("--identity <identity>", $("Set the identity value.")).option("--zones <zones>", $("Set the zones 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 __5(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__5", line: 1517 }; 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 = "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 + "/") + "plan");
if (options.plan) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.plan));
cli.output.verbose("================================================");
if ((options.parse && options.plan)) {
options.plan = JSON.parse(options.plan); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.plan },]); } ;
paramPath = ((options.path + "/") + "hardwareProfile");
if (options.hardwareProfile) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.hardwareProfile));
cli.output.verbose("================================================");
if ((options.parse && options.hardwareProfile)) {
options.hardwareProfile = JSON.parse(options.hardwareProfile); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.hardwareProfile },]); } ;
paramPath = ((options.path + "/") + "storageProfile");
if (options.storageProfile) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.storageProfile));
cli.output.verbose("================================================");
if ((options.parse && options.storageProfile)) {
options.storageProfile = JSON.parse(options.storageProfile); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.storageProfile },]); } ;
paramPath = ((options.path + "/") + "osProfile");
if (options.osProfile) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.osProfile));
cli.output.verbose("================================================");
if ((options.parse && options.osProfile)) {
options.osProfile = JSON.parse(options.osProfile); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.osProfile },]); } ;
paramPath = ((options.path + "/") + "networkProfile");
if (options.networkProfile) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.networkProfile));
cli.output.verbose("================================================");
if ((options.parse && options.networkProfile)) {
options.networkProfile = JSON.parse(options.networkProfile); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.networkProfile },]); } ;
paramPath = ((options.path + "/") + "diagnosticsProfile");
if (options.diagnosticsProfile) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.diagnosticsProfile));
cli.output.verbose("================================================");
if ((options.parse && options.diagnosticsProfile)) {
options.diagnosticsProfile = JSON.parse(options.diagnosticsProfile); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.diagnosticsProfile },]); } ;
paramPath = ((options.path + "/") + "availabilitySet");
if (options.availabilitySet) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.availabilitySet));
cli.output.verbose("================================================");
if ((options.parse && options.availabilitySet)) {
options.availabilitySet = JSON.parse(options.availabilitySet); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.availabilitySet },]); } ;
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 + "/") + "instanceView");
if (options.instanceView) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.instanceView));
cli.output.verbose("================================================");
if ((options.parse && options.instanceView)) {
options.instanceView = JSON.parse(options.instanceView); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.instanceView },]); } ;
paramPath = ((options.path + "/") + "licenseType");
if (options.licenseType) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.licenseType));
cli.output.verbose("================================================");
if ((options.parse && options.licenseType)) {
options.licenseType = JSON.parse(options.licenseType); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.licenseType },]); } ;
paramPath = ((options.path + "/") + "vmId");
if (options.vmId) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.vmId));
cli.output.verbose("================================================");
if ((options.parse && options.vmId)) {
options.vmId = JSON.parse(options.vmId); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.vmId },]); } ;
paramPath = ((options.path + "/") + "resources");
if (options.resources) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.resources));
cli.output.verbose("================================================");
if ((options.parse && options.resources)) {
options.resources = JSON.parse(options.resources); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.resources },]); } ;
paramPath = ((options.path + "/") + "identity");
if (options.identity) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.identity));
cli.output.verbose("================================================");
if ((options.parse && options.identity)) {
options.identity = JSON.parse(options.identity); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.identity },]); } ;
paramPath = ((options.path + "/") + "zones");
if (options.zones) {
cli.output.verbose("================================================");
cli.output.verbose(("Path : " + paramPath));
cli.output.verbose(("Value : " + options.zones));
cli.output.verbose("================================================");
if ((options.parse && options.zones)) {
options.zones = JSON.parse(options.zones); } ;
jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.zones },]); } ;
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 catparametersCreateOrUpdateVirtualMachinesVirtualMachine11 = cli.category("vm");
var parametersCreateOrUpdateVirtualMachinesVirtualMachine11 = catparametersCreateOrUpdateVirtualMachinesVirtualMachine11.category("config").description($("Commands to manage configuration of virtual-machines in the parameter file."));
var deleteparametersCreateOrUpdateVirtualMachinesVirtualMachine11 = parametersCreateOrUpdateVirtualMachinesVirtualMachine11.category("virtual-machine").description($("Commands to configure virtual-machine of vm in config file."));
deleteparametersCreateOrUpdateVirtualMachinesVirtualMachine11.command("delete").description($("Remove virtual-machine in config string or files, e.g. \r\n{\r\n \"plan\":{\r\n \"name\":\"\",\r\n \"publisher\":\"\",\r\n \"product\":\"\",\r\n \"promotionCode\":\"\"\r\n },\r\n \"hardwareProfile\":{\r\n \"vmSize\":\"\"\r\n },\r\n \"storageProfile\":{\r\n \"imageReference\":{\r\n \"publisher\":\"\",\r\n \"offer\":\"\",\r\n \"sku\":\"\",\r\n \"version\":\"\",\r\n \"id\":\"\"\r\n },\r\n \"osDisk\":{\r\n \"osType\":null,\r\n \"encryptionSettings\":{\r\n \"diskEncryptionKey\":{\r\n \"secretUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"keyEncryptionKey\":{\r\n \"keyUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"enabled\":null\r\n },\r\n \"name\":\"\",\r\n \"vhd\":{\r\n \"uri\":\"\"\r\n },\r\n \"image\":{\r\n \"uri\":\"\"\r\n },\r\n \"caching\":null,\r\n \"createOption\":\"\",\r\n \"diskSizeGB\":null,\r\n \"managedDisk\":{\r\n \"storageAccountType\":null,\r\n \"id\":\"\"\r\n }\r\n },\r\n \"dataDisks\":[\r\n {\r\n \"lun\":\"\",\r\n \"name\":\"\",\r\n \"vhd\":{\r\n \"uri\":\"\"\r\n },\r\n \"image\":{\r\n \"uri\":\"\"\r\n },\r\n \"caching\":null,\r\n \"createOption\":\"\",\r\n \"diskSizeGB\":null,\r\n \"managedDisk\":{\r\n \"storageAccountType\":null,\r\n \"id\":\"\"\r\n }\r\n }\r\n ]\r\n },\r\n \"osProfile\":{\r\n \"computerName\":\"\",\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 \"networkProfile\":{\r\n \"networkInterfaces\":[\r\n {\r\n \"primary\":null,\r\n \"id\":\"\"\r\n }\r\n ]\r\n },\r\n \"diagnosticsProfile\":{\r\n \"bootDiagnostics\":{\r\n \"enabled\":null,\r\n \"storageUri\":\"\"\r\n }\r\n },\r\n \"availabilitySet\":{\r\n \"id\":\"\"\r\n },\r\n \"provisioningState\":\"\",\r\n \"instanceView\":{\r\n \"platformUpdateDomain\":null,\r\n \"platformFaultDomain\":null,\r\n \"rdpThumbPrint\":\"\",\r\n \"vmAgent\":{\r\n \"vmAgentVersion\":\"\",\r\n \"extensionHandlers\":[\r\n {\r\n \"type\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"status\":{\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n }\r\n ],\r\n \"statuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ]\r\n },\r\n \"maintenanceRedeployStatus\":{\r\n \"isCustomerInitiatedMaintenanceAllowed\":null,\r\n \"preMaintenanceWindowStartTime\":null,\r\n \"preMaintenanceWindowEndTime\":null,\r\n \"maintenanceWindowStartTime\":null,\r\n \"maintenanceWindowEndTime\":null,\r\n \"lastOperationResultCode\":null,\r\n \"lastOperationMessage\":\"\"\r\n },\r\n \"disks\":[\r\n {\r\n \"name\":\"\",\r\n \"encryptionSettings\":[\r\n {\r\n \"diskEncryptionKey\":{\r\n \"secretUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"keyEncryptionKey\":{\r\n \"keyUrl\":\"\",\r\n \"sourceVault\":{\r\n \"id\":\"\"\r\n }\r\n },\r\n \"enabled\":null\r\n }\r\n ],\r\n \"statuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n \"time\":null\r\n }\r\n ]\r\n }\r\n ],\r\n \"extensions\":[\r\n {\r\n \"name\":\"\",\r\n \"type\":\"\",\r\n \"typeHandlerVersion\":\"\",\r\n \"substatuses\":[\r\n {\r\n \"code\":\"\",\r\n \"level\":null,\r\n \"displayStatus\":\"\",\r\n \"message\":\"\",\r\n