/*** 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 containerServiceCreateOrUpdate = cli.category("acs").description($("Commands to manage your container service.  "));

  containerServiceCreateOrUpdate.command("create [resource-group] [name] [parameters]").description($("The operation to create or update a container service.")).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: 309 }; 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.containerServiceOperations.createOrUpdate(resourceGroup, name, parametersObj, __cb(_, __frame, 24, 68, function ___(__0, __3) { result = __3;
            if (result) {
              cli.output.json(result); } ; _(); }, true)); }); }); }); });


  var containerServiceCreateOrUpdatecreateOrUpdateParameters2 = containerServiceCreateOrUpdate.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  containerServiceCreateOrUpdatecreateOrUpdateParameters2.command("create").description($("Generate containerServiceCreateOrUpdate 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: 344 }; return __func(_, this, arguments, __2, 1, __frame, function __$__2() {




      return cli.output.verbose("{\"provisioningState\":\"\",\"orchestratorProfile\":{\"orchestratorType\":null},\"masterProfile\":{\"count\":null,\"dnsPrefix\":\"\",\"fqdn\":\"\"},\"agentPoolProfiles\":[{\"name\":\"\",\"count\":null,\"vmSize\":\"\",\"dnsPrefix\":\"\",\"fqdn\":\"\"}],\"windowsProfile\":{\"adminUsername\":\"\",\"adminPassword\":\"\"},\"linuxProfile\":{\"adminUsername\":\"\",\"ssh\":{\"publicKeys\":[{\"keyData\":\"\"}]}},\"diagnosticsProfile\":{\"vmDiagnostics\":{\"enabled\":null,\"storageUri\":\"\"}},\"id\":null,\"name\":null,\"type\":null,\"location\":\"\",\"tags\":{}}", __cb(_, __frame, 1, 15, function __$__2() {
        filePath = "containerServiceCreateOrUpdate_createOrUpdate.json";
        if (options.parameterFile) {
          filePath = options.parameterFile; } ;

        fs.writeFileSync(filePath, beautify("{\r\n\"provisioningState\":\"\",\r\n\"orchestratorProfile\":{\r\n\"orchestratorType\":null\r\n},\r\n\"masterProfile\":{\r\n\"count\":null,\r\n\"dnsPrefix\":\"\",\r\n\"fqdn\":\"\"\r\n},\r\n\"agentPoolProfiles\":[\r\n{\r\n\"name\":\"\",\r\n\"count\":null,\r\n\"vmSize\":\"\",\r\n\"dnsPrefix\":\"\",\r\n\"fqdn\":\"\"\r\n}\r\n],\r\n\"windowsProfile\":{\r\n\"adminUsername\":\"\",\r\n\"adminPassword\":\"\"\r\n},\r\n\"linuxProfile\":{\r\n\"adminUsername\":\"\",\r\n\"ssh\":{\r\n\"publicKeys\":[\r\n{\r\n\"keyData\":\"\"\r\n}\r\n]\r\n}\r\n},\r\n\"diagnosticsProfile\":{\r\n\"vmDiagnostics\":{\r\n\"enabled\":null,\r\n\"storageUri\":\"\"\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)); }); });


  containerServiceCreateOrUpdatecreateOrUpdateParameters2.command("patch").description($("Command to patch containerServiceCreateOrUpdate 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: 364 }; 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 catparametersCreateOrUpdateContainerServiceContainerService0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceContainerService0 = catparametersCreateOrUpdateContainerServiceContainerService0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceContainerService0 = parametersCreateOrUpdateContainerServiceContainerService0.category("container-service").description($("Commands to configure container-service of acs in config file."));

  setparametersCreateOrUpdateContainerServiceContainerService0.command("set").description($("Set container-service in config string or files, e.g. \r\n{\r\n  \"provisioningState\":\"\",\r\n  \"orchestratorProfile\":{\r\n    \"orchestratorType\":null\r\n  },\r\n  \"masterProfile\":{\r\n    \"count\":null,\r\n    \"dnsPrefix\":\"\",\r\n    \"fqdn\":\"\"\r\n  },\r\n  \"agentPoolProfiles\":[\r\n    {\r\n      \"name\":\"\",\r\n      \"count\":null,\r\n      \"vmSize\":\"\",\r\n      \"dnsPrefix\":\"\",\r\n      \"fqdn\":\"\"\r\n    }\r\n  ],\r\n  \"windowsProfile\":{\r\n    \"adminUsername\":\"\",\r\n    \"adminPassword\":\"\"\r\n  },\r\n  \"linuxProfile\":{\r\n    \"adminUsername\":\"\",\r\n    \"ssh\":{\r\n      \"publicKeys\":[\r\n        {\r\n          \"keyData\":\"\"\r\n        }\r\n      ]\r\n    }\r\n  },\r\n  \"diagnosticsProfile\":{\r\n    \"vmDiagnostics\":{\r\n      \"enabled\":null,\r\n      \"storageUri\":\"\"\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("--provisioning-state <provisioningState>", $("Set the provisioning-state value.")).option("--orchestrator-profile <orchestratorProfile>", $("Set the orchestrator-profile value.")).option("--master-profile <masterProfile>", $("Set the master-profile value.")).option("--agent-pool-profiles <agentPoolProfiles>", $("Set the agent-pool-profiles value.")).option("--windows-profile <windowsProfile>", $("Set the windows-profile value.")).option("--linux-profile <linuxProfile>", $("Set the linux-profile value.")).option("--diagnostics-profile <diagnosticsProfile>", $("Set the diagnostics-profile 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: 424 }; 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 + "/") + "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 + "/") + "orchestratorProfile");
          if (options.orchestratorProfile) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.orchestratorProfile));
            cli.output.verbose("================================================");
            if ((options.parse && options.orchestratorProfile)) {
              options.orchestratorProfile = JSON.parse(options.orchestratorProfile); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.orchestratorProfile },]); } ;

          paramPath = ((options.path + "/") + "masterProfile");
          if (options.masterProfile) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.masterProfile));
            cli.output.verbose("================================================");
            if ((options.parse && options.masterProfile)) {
              options.masterProfile = JSON.parse(options.masterProfile); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.masterProfile },]); } ;

          paramPath = ((options.path + "/") + "agentPoolProfiles");
          if (options.agentPoolProfiles) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.agentPoolProfiles));
            cli.output.verbose("================================================");
            if ((options.parse && options.agentPoolProfiles)) {
              options.agentPoolProfiles = JSON.parse(options.agentPoolProfiles); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.agentPoolProfiles },]); } ;

          paramPath = ((options.path + "/") + "windowsProfile");
          if (options.windowsProfile) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.windowsProfile));
            cli.output.verbose("================================================");
            if ((options.parse && options.windowsProfile)) {
              options.windowsProfile = JSON.parse(options.windowsProfile); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.windowsProfile },]); } ;

          paramPath = ((options.path + "/") + "linuxProfile");
          if (options.linuxProfile) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.linuxProfile));
            cli.output.verbose("================================================");
            if ((options.parse && options.linuxProfile)) {
              options.linuxProfile = JSON.parse(options.linuxProfile); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.linuxProfile },]); } ;

          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 + "/") + "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 catparametersCreateOrUpdateContainerServiceContainerService1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceContainerService1 = catparametersCreateOrUpdateContainerServiceContainerService1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceContainerService1 = parametersCreateOrUpdateContainerServiceContainerService1.category("container-service").description($("Commands to configure container-service of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceContainerService1.command("delete").description($("Remove container-service in config string or files, e.g. \r\n{\r\n  \"provisioningState\":\"\",\r\n  \"orchestratorProfile\":{\r\n    \"orchestratorType\":null\r\n  },\r\n  \"masterProfile\":{\r\n    \"count\":null,\r\n    \"dnsPrefix\":\"\",\r\n    \"fqdn\":\"\"\r\n  },\r\n  \"agentPoolProfiles\":[\r\n    {\r\n      \"name\":\"\",\r\n      \"count\":null,\r\n      \"vmSize\":\"\",\r\n      \"dnsPrefix\":\"\",\r\n      \"fqdn\":\"\"\r\n    }\r\n  ],\r\n  \"windowsProfile\":{\r\n    \"adminUsername\":\"\",\r\n    \"adminPassword\":\"\"\r\n  },\r\n  \"linuxProfile\":{\r\n    \"adminUsername\":\"\",\r\n    \"ssh\":{\r\n      \"publicKeys\":[\r\n        {\r\n          \"keyData\":\"\"\r\n        }\r\n      ]\r\n    }\r\n  },\r\n  \"diagnosticsProfile\":{\r\n    \"vmDiagnostics\":{\r\n      \"enabled\":null,\r\n      \"storageUri\":\"\"\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("--provisioning-state", $("Remove the provisioning-state value.")).option("--orchestrator-profile", $("Remove the orchestrator-profile value.")).option("--master-profile", $("Remove the master-profile value.")).option("--agent-pool-profiles", $("Remove the agent-pool-profiles value.")).option("--windows-profile", $("Remove the windows-profile value.")).option("--linux-profile", $("Remove the linux-profile value.")).option("--diagnostics-profile", $("Remove the diagnostics-profile 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: 608 }; 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.provisioningState) || options.orchestratorProfile) || options.masterProfile) || options.agentPoolProfiles) || options.windowsProfile) || options.linuxProfile) || options.diagnosticsProfile) || options.id) || options.name) || options.type) || options.location) || options.tags);
          if (anySubItem) {
            subItemPath = null;
            if (options.provisioningState) {
              subItemPath = (options.path + "/provisioningState");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.orchestratorProfile) {
              subItemPath = (options.path + "/orchestratorProfile");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.masterProfile) {
              subItemPath = (options.path + "/masterProfile");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.agentPoolProfiles) {
              subItemPath = (options.path + "/agentPoolProfiles");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.windowsProfile) {
              subItemPath = (options.path + "/windowsProfile");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.linuxProfile) {
              subItemPath = (options.path + "/linuxProfile");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.diagnosticsProfile) {
              subItemPath = (options.path + "/diagnosticsProfile");
              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 catparametersCreateOrUpdateContainerServiceOrchestratorProfile0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceOrchestratorProfile0 = catparametersCreateOrUpdateContainerServiceOrchestratorProfile0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceOrchestratorProfile0 = parametersCreateOrUpdateContainerServiceOrchestratorProfile0.category("orchestrator-profile").description($("Commands to configure orchestrator-profile of acs in config file."));

  setparametersCreateOrUpdateContainerServiceOrchestratorProfile0.command("set").description($("Set orchestrator-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"orchestratorProfile\" : {\r\n             \"orchestratorType\":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("--orchestrator-type <orchestratorType>", $("Set the orchestrator-type value.")).execute(function __6(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__6", line: 701 }; 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 = "/orchestratorProfile";
          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 + "/") + "orchestratorType");
          if (options.orchestratorType) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.orchestratorType));
            cli.output.verbose("================================================");
            if ((options.parse && options.orchestratorType)) {
              options.orchestratorType = JSON.parse(options.orchestratorType); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.orchestratorType },]); } ;

          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 catparametersCreateOrUpdateContainerServiceOrchestratorProfile1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceOrchestratorProfile1 = catparametersCreateOrUpdateContainerServiceOrchestratorProfile1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceOrchestratorProfile1 = parametersCreateOrUpdateContainerServiceOrchestratorProfile1.category("orchestrator-profile").description($("Commands to configure orchestrator-profile of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceOrchestratorProfile1.command("delete").description($("Remove orchestrator-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"orchestratorProfile\" : {\r\n             \"orchestratorType\":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("--orchestrator-type", $("Remove the orchestrator-type value.")).execute(function __7(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__7", line: 753 }; 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 = "/orchestratorProfile";
          anySubItem = (false || options.orchestratorType);
          if (anySubItem) {
            subItemPath = null;
            if (options.orchestratorType) {
              subItemPath = (options.path + "/orchestratorType");
              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 catparametersCreateOrUpdateContainerServiceMasterProfile0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceMasterProfile0 = catparametersCreateOrUpdateContainerServiceMasterProfile0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceMasterProfile0 = parametersCreateOrUpdateContainerServiceMasterProfile0.category("master-profile").description($("Commands to configure master-profile of acs in config file."));

  setparametersCreateOrUpdateContainerServiceMasterProfile0.command("set").description($("Set master-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"masterProfile\" : {\r\n             \"count\":null,\r\n             \"dnsPrefix\":\"\",\r\n             \"fqdn\":\"\"\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("--count <count>", $("Set the count value.")).option("--dns-prefix <dnsPrefix>", $("Set the dns-prefix value.")).option("--fqdn <fqdn>", $("Set the fqdn value.")).execute(function __8(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__8", line: 804 }; 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 { __then(); } ; })(function __$__8() {


          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 = "/masterProfile";
          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 + "/") + "count");
          if (options.count) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.count));
            cli.output.verbose("================================================");
            if ((options.parse && options.count)) {
              options.count = JSON.parse(options.count); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.count },]); } ;

          paramPath = ((options.path + "/") + "dnsPrefix");
          if (options.dnsPrefix) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.dnsPrefix));
            cli.output.verbose("================================================");
            if ((options.parse && options.dnsPrefix)) {
              options.dnsPrefix = JSON.parse(options.dnsPrefix); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.dnsPrefix },]); } ;

          paramPath = ((options.path + "/") + "fqdn");
          if (options.fqdn) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.fqdn));
            cli.output.verbose("================================================");
            if ((options.parse && options.fqdn)) {
              options.fqdn = JSON.parse(options.fqdn); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.fqdn },]); } ;

          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 catparametersCreateOrUpdateContainerServiceMasterProfile1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceMasterProfile1 = catparametersCreateOrUpdateContainerServiceMasterProfile1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceMasterProfile1 = parametersCreateOrUpdateContainerServiceMasterProfile1.category("master-profile").description($("Commands to configure master-profile of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceMasterProfile1.command("delete").description($("Remove master-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"masterProfile\" : {\r\n             \"count\":null,\r\n             \"dnsPrefix\":\"\",\r\n             \"fqdn\":\"\"\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("--count", $("Remove the count value.")).option("--dns-prefix", $("Remove the dns-prefix value.")).option("--fqdn", $("Remove the fqdn value.")).execute(function __9(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__9", line: 880 }; return __func(_, this, arguments, __9, 1, __frame, function __$__9() {







      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__9() { return (function __$__9(__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 __$__9() {


          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 = "/masterProfile";
          anySubItem = (((false || options.count) || options.dnsPrefix) || options.fqdn);
          if (anySubItem) {
            subItemPath = null;
            if (options.count) {
              subItemPath = (options.path + "/count");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.dnsPrefix) {
              subItemPath = (options.path + "/dnsPrefix");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.fqdn) {
              subItemPath = (options.path + "/fqdn");
              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 catparametersCreateOrUpdateContainerServiceAgentPoolProfiles0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceAgentPoolProfiles0 = catparametersCreateOrUpdateContainerServiceAgentPoolProfiles0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceAgentPoolProfiles0 = parametersCreateOrUpdateContainerServiceAgentPoolProfiles0.category("agent-pool-profiles").description($("Commands to configure agent-pool-profiles of acs in config file."));

  setparametersCreateOrUpdateContainerServiceAgentPoolProfiles0.command("set").description($("Set agent-pool-profiles in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"agentPoolProfiles\" : {\r\n             \"name\":\"\",\r\n             \"count\":null,\r\n             \"vmSize\":\"\",\r\n             \"dnsPrefix\":\"\",\r\n             \"fqdn\":\"\"\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("--index <index>", $("Indexer: index.")).option("--value <value>", $("The input string value for the indexed item.")).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("--count <count>", $("Set the count value.")).option("--vm-size <vmSize>", $("Set the vm-size value.")).option("--dns-prefix <dnsPrefix>", $("Set the dns-prefix value.")).option("--fqdn <fqdn>", $("Set the fqdn value.")).execute(function __10(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__10", line: 943 }; return __func(_, this, arguments, __10, 1, __frame, function __$__10() {












      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__10() { return (function __$__10(__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 __$__10() {


          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 = ("/agentPoolProfiles" + ((options.index ? (("/" + options.index)) : "")));
          error = jsonpatch.validate([{ op: "remove", path: options.path },], parametersObj);
          if ((typeof error !== "undefined")) {
            jsonpatch.apply(parametersObj, [{ op: "add", path: options.path, value: { } },]); } ;

          if (options.value) {
            cli.output.verbose(options.value);
            jsonpatch.apply(parametersObj, [{ op: options.operation, path: options.path, value: options.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 + "/") + "count");
          if (options.count) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.count));
            cli.output.verbose("================================================");
            if ((options.parse && options.count)) {
              options.count = JSON.parse(options.count); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.count },]); } ;

          paramPath = ((options.path + "/") + "vmSize");
          if (options.vmSize) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.vmSize));
            cli.output.verbose("================================================");
            if ((options.parse && options.vmSize)) {
              options.vmSize = JSON.parse(options.vmSize); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.vmSize },]); } ;

          paramPath = ((options.path + "/") + "dnsPrefix");
          if (options.dnsPrefix) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.dnsPrefix));
            cli.output.verbose("================================================");
            if ((options.parse && options.dnsPrefix)) {
              options.dnsPrefix = JSON.parse(options.dnsPrefix); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.dnsPrefix },]); } ;

          paramPath = ((options.path + "/") + "fqdn");
          if (options.fqdn) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.fqdn));
            cli.output.verbose("================================================");
            if ((options.parse && options.fqdn)) {
              options.fqdn = JSON.parse(options.fqdn); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.fqdn },]); } ;

          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 catparametersCreateOrUpdateContainerServiceAgentPoolProfiles1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceAgentPoolProfiles1 = catparametersCreateOrUpdateContainerServiceAgentPoolProfiles1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceAgentPoolProfiles1 = parametersCreateOrUpdateContainerServiceAgentPoolProfiles1.category("agent-pool-profiles").description($("Commands to configure agent-pool-profiles of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceAgentPoolProfiles1.command("delete").description($("Remove agent-pool-profiles in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"agentPoolProfiles\" : {\r\n             \"name\":\"\",\r\n             \"count\":null,\r\n             \"vmSize\":\"\",\r\n             \"dnsPrefix\":\"\",\r\n             \"fqdn\":\"\"\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("--index <index>", $("Indexer: index.")).option("--name", $("Remove the name value.")).option("--count", $("Remove the count value.")).option("--vm-size", $("Remove the vm-size value.")).option("--dns-prefix", $("Remove the dns-prefix value.")).option("--fqdn", $("Remove the fqdn value.")).execute(function __11(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__11", line: 1048 }; return __func(_, this, arguments, __11, 1, __frame, function __$__11() {










      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__11() { return (function __$__11(__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 __$__11() {


          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 = ("/agentPoolProfiles" + ((options.index ? (("/" + options.index)) : "")));
          anySubItem = (((((false || options.name) || options.count) || options.vmSize) || options.dnsPrefix) || options.fqdn);
          if (anySubItem) {
            subItemPath = null;
            if (options.name) {
              subItemPath = (options.path + "/name");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.count) {
              subItemPath = (options.path + "/count");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.vmSize) {
              subItemPath = (options.path + "/vmSize");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.dnsPrefix) {
              subItemPath = (options.path + "/dnsPrefix");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.fqdn) {
              subItemPath = (options.path + "/fqdn");
              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 catparametersCreateOrUpdateContainerServiceWindowsProfile0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceWindowsProfile0 = catparametersCreateOrUpdateContainerServiceWindowsProfile0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceWindowsProfile0 = parametersCreateOrUpdateContainerServiceWindowsProfile0.category("windows-profile").description($("Commands to configure windows-profile of acs in config file."));

  setparametersCreateOrUpdateContainerServiceWindowsProfile0.command("set").description($("Set windows-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"windowsProfile\" : {\r\n             \"adminUsername\":\"\",\r\n             \"adminPassword\":\"\"\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("--admin-username <adminUsername>", $("Set the admin-username value.")).option("--admin-password <adminPassword>", $("Set the admin-password value.")).execute(function __12(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__12", line: 1114 }; return __func(_, this, arguments, __12, 1, __frame, function __$__12() {







      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__12() { return (function __$__12(__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 __$__12() {


          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 = "/windowsProfile";
          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 + "/") + "adminUsername");
          if (options.adminUsername) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.adminUsername));
            cli.output.verbose("================================================");
            if ((options.parse && options.adminUsername)) {
              options.adminUsername = JSON.parse(options.adminUsername); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.adminUsername },]); } ;

          paramPath = ((options.path + "/") + "adminPassword");
          if (options.adminPassword) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.adminPassword));
            cli.output.verbose("================================================");
            if ((options.parse && options.adminPassword)) {
              options.adminPassword = JSON.parse(options.adminPassword); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.adminPassword },]); } ;

          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 catparametersCreateOrUpdateContainerServiceWindowsProfile1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceWindowsProfile1 = catparametersCreateOrUpdateContainerServiceWindowsProfile1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceWindowsProfile1 = parametersCreateOrUpdateContainerServiceWindowsProfile1.category("windows-profile").description($("Commands to configure windows-profile of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceWindowsProfile1.command("delete").description($("Remove windows-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"windowsProfile\" : {\r\n             \"adminUsername\":\"\",\r\n             \"adminPassword\":\"\"\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("--admin-username", $("Remove the admin-username value.")).option("--admin-password", $("Remove the admin-password value.")).execute(function __13(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__13", line: 1178 }; return __func(_, this, arguments, __13, 1, __frame, function __$__13() {






      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__13() { return (function __$__13(__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 __$__13() {


          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 = "/windowsProfile";
          anySubItem = ((false || options.adminUsername) || options.adminPassword);
          if (anySubItem) {
            subItemPath = null;
            if (options.adminUsername) {
              subItemPath = (options.path + "/adminUsername");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.adminPassword) {
              subItemPath = (options.path + "/adminPassword");
              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 catparametersCreateOrUpdateContainerServiceLinuxProfile0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceLinuxProfile0 = catparametersCreateOrUpdateContainerServiceLinuxProfile0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceLinuxProfile0 = parametersCreateOrUpdateContainerServiceLinuxProfile0.category("linux-profile").description($("Commands to configure linux-profile of acs in config file."));

  setparametersCreateOrUpdateContainerServiceLinuxProfile0.command("set").description($("Set linux-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"linuxProfile\" : {\r\n             \"adminUsername\":\"\",\r\n             \"ssh\":{\r\n               \"publicKeys\":[\r\n                 {\r\n                   \"keyData\":\"\"\r\n                 }\r\n               ]\r\n             }\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("--admin-username <adminUsername>", $("Set the admin-username value.")).option("--ssh <ssh>", $("Set the ssh value.")).execute(function __14(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__14", line: 1232 }; return __func(_, this, arguments, __14, 1, __frame, function __$__14() {







      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__14() { return (function __$__14(__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 __$__14() {


          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 = "/linuxProfile";
          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 + "/") + "adminUsername");
          if (options.adminUsername) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.adminUsername));
            cli.output.verbose("================================================");
            if ((options.parse && options.adminUsername)) {
              options.adminUsername = JSON.parse(options.adminUsername); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.adminUsername },]); } ;

          paramPath = ((options.path + "/") + "ssh");
          if (options.ssh) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.ssh));
            cli.output.verbose("================================================");
            if ((options.parse && options.ssh)) {
              options.ssh = JSON.parse(options.ssh); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.ssh },]); } ;

          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 catparametersCreateOrUpdateContainerServiceLinuxProfile1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceLinuxProfile1 = catparametersCreateOrUpdateContainerServiceLinuxProfile1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceLinuxProfile1 = parametersCreateOrUpdateContainerServiceLinuxProfile1.category("linux-profile").description($("Commands to configure linux-profile of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceLinuxProfile1.command("delete").description($("Remove linux-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"linuxProfile\" : {\r\n             \"adminUsername\":\"\",\r\n             \"ssh\":{\r\n               \"publicKeys\":[\r\n                 {\r\n                   \"keyData\":\"\"\r\n                 }\r\n               ]\r\n             }\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("--admin-username", $("Remove the admin-username value.")).option("--ssh", $("Remove the ssh value.")).execute(function __15(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__15", line: 1296 }; return __func(_, this, arguments, __15, 1, __frame, function __$__15() {






      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__15() { return (function __$__15(__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 __$__15() {


          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 = "/linuxProfile";
          anySubItem = ((false || options.adminUsername) || options.ssh);
          if (anySubItem) {
            subItemPath = null;
            if (options.adminUsername) {
              subItemPath = (options.path + "/adminUsername");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.ssh) {
              subItemPath = (options.path + "/ssh");
              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 catparametersCreateOrUpdateContainerServiceSsh0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceSsh0 = catparametersCreateOrUpdateContainerServiceSsh0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceSsh0 = parametersCreateOrUpdateContainerServiceSsh0.category("ssh").description($("Commands to configure ssh of acs in config file."));

  setparametersCreateOrUpdateContainerServiceSsh0.command("set").description($("Set ssh in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"ssh\" : {\r\n             \"publicKeys\":[\r\n               {\r\n                 \"keyData\":\"\"\r\n               }\r\n             ]\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("--public-keys <publicKeys>", $("Set the public-keys value.")).execute(function __16(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__16", line: 1349 }; return __func(_, this, arguments, __16, 1, __frame, function __$__16() {






      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__16() { return (function __$__16(__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 __$__16() {


          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 = "/linuxProfile/ssh";
          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 + "/") + "publicKeys");
          if (options.publicKeys) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.publicKeys));
            cli.output.verbose("================================================");
            if ((options.parse && options.publicKeys)) {
              options.publicKeys = JSON.parse(options.publicKeys); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.publicKeys },]); } ;

          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 catparametersCreateOrUpdateContainerServiceSsh1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceSsh1 = catparametersCreateOrUpdateContainerServiceSsh1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceSsh1 = parametersCreateOrUpdateContainerServiceSsh1.category("ssh").description($("Commands to configure ssh of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceSsh1.command("delete").description($("Remove ssh in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"ssh\" : {\r\n             \"publicKeys\":[\r\n               {\r\n                 \"keyData\":\"\"\r\n               }\r\n             ]\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("--public-keys", $("Remove the public-keys value.")).execute(function __17(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__17", line: 1401 }; return __func(_, this, arguments, __17, 1, __frame, function __$__17() {





      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__17() { return (function __$__17(__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 __$__17() {


          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 = "/linuxProfile/ssh";
          anySubItem = (false || options.publicKeys);
          if (anySubItem) {
            subItemPath = null;
            if (options.publicKeys) {
              subItemPath = (options.path + "/publicKeys");
              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 catparametersCreateOrUpdateContainerServicePublicKeys0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServicePublicKeys0 = catparametersCreateOrUpdateContainerServicePublicKeys0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServicePublicKeys0 = parametersCreateOrUpdateContainerServicePublicKeys0.category("public-keys").description($("Commands to configure public-keys of acs in config file."));

  setparametersCreateOrUpdateContainerServicePublicKeys0.command("set").description($("Set public-keys in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"publicKeys\" : {\r\n             \"keyData\":\"\"\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("--index <index>", $("Indexer: index.")).option("--value <value>", $("The input string value for the indexed item.")).option("--parse", $("Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str).")).option("--key-data <keyData>", $("Set the key-data value.")).execute(function __18(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__18", line: 1452 }; return __func(_, this, arguments, __18, 1, __frame, function __$__18() {








      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__18() { return (function __$__18(__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 __$__18() {


          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 = ("/linuxProfile/ssh/publicKeys" + ((options.index ? (("/" + options.index)) : "")));
          error = jsonpatch.validate([{ op: "remove", path: options.path },], parametersObj);
          if ((typeof error !== "undefined")) {
            jsonpatch.apply(parametersObj, [{ op: "add", path: options.path, value: { } },]); } ;

          if (options.value) {
            cli.output.verbose(options.value);
            jsonpatch.apply(parametersObj, [{ op: options.operation, path: options.path, value: options.value },]); } ;

          paramPath = ((options.path + "/") + "keyData");
          if (options.keyData) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.keyData));
            cli.output.verbose("================================================");
            if ((options.parse && options.keyData)) {
              options.keyData = JSON.parse(options.keyData); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.keyData },]); } ;

          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 catparametersCreateOrUpdateContainerServicePublicKeys1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServicePublicKeys1 = catparametersCreateOrUpdateContainerServicePublicKeys1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServicePublicKeys1 = parametersCreateOrUpdateContainerServicePublicKeys1.category("public-keys").description($("Commands to configure public-keys of acs in config file."));

  deleteparametersCreateOrUpdateContainerServicePublicKeys1.command("delete").description($("Remove public-keys in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"publicKeys\" : {\r\n             \"keyData\":\"\"\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("--index <index>", $("Indexer: index.")).option("--key-data", $("Remove the key-data value.")).execute(function __19(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__19", line: 1509 }; return __func(_, this, arguments, __19, 1, __frame, function __$__19() {






      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__19() { return (function __$__19(__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 __$__19() {


          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 = ("/linuxProfile/ssh/publicKeys" + ((options.index ? (("/" + options.index)) : "")));
          anySubItem = (false || options.keyData);
          if (anySubItem) {
            subItemPath = null;
            if (options.keyData) {
              subItemPath = (options.path + "/keyData");
              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 catparametersCreateOrUpdateContainerServiceDiagnosticsProfile0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceDiagnosticsProfile0 = catparametersCreateOrUpdateContainerServiceDiagnosticsProfile0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceDiagnosticsProfile0 = parametersCreateOrUpdateContainerServiceDiagnosticsProfile0.category("diagnostics-profile").description($("Commands to configure diagnostics-profile of acs in config file."));

  setparametersCreateOrUpdateContainerServiceDiagnosticsProfile0.command("set").description($("Set diagnostics-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"diagnosticsProfile\" : {\r\n             \"vmDiagnostics\":{\r\n               \"enabled\":null,\r\n               \"storageUri\":\"\"\r\n             }\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("--vm-diagnostics <vmDiagnostics>", $("Set the vm-diagnostics value.")).execute(function __20(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__20", line: 1558 }; return __func(_, this, arguments, __20, 1, __frame, function __$__20() {






      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__20() { return (function __$__20(__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 __$__20() {


          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 = "/diagnosticsProfile";
          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 + "/") + "vmDiagnostics");
          if (options.vmDiagnostics) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.vmDiagnostics));
            cli.output.verbose("================================================");
            if ((options.parse && options.vmDiagnostics)) {
              options.vmDiagnostics = JSON.parse(options.vmDiagnostics); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.vmDiagnostics },]); } ;

          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 catparametersCreateOrUpdateContainerServiceDiagnosticsProfile1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceDiagnosticsProfile1 = catparametersCreateOrUpdateContainerServiceDiagnosticsProfile1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceDiagnosticsProfile1 = parametersCreateOrUpdateContainerServiceDiagnosticsProfile1.category("diagnostics-profile").description($("Commands to configure diagnostics-profile of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceDiagnosticsProfile1.command("delete").description($("Remove diagnostics-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"diagnosticsProfile\" : {\r\n             \"vmDiagnostics\":{\r\n               \"enabled\":null,\r\n               \"storageUri\":\"\"\r\n             }\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("--vm-diagnostics", $("Remove the vm-diagnostics value.")).execute(function __21(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__21", line: 1610 }; return __func(_, this, arguments, __21, 1, __frame, function __$__21() {





      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__21() { return (function __$__21(__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 __$__21() {


          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 = "/diagnosticsProfile";
          anySubItem = (false || options.vmDiagnostics);
          if (anySubItem) {
            subItemPath = null;
            if (options.vmDiagnostics) {
              subItemPath = (options.path + "/vmDiagnostics");
              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 catparametersCreateOrUpdateContainerServiceVmDiagnostics0 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceVmDiagnostics0 = catparametersCreateOrUpdateContainerServiceVmDiagnostics0.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var setparametersCreateOrUpdateContainerServiceVmDiagnostics0 = parametersCreateOrUpdateContainerServiceVmDiagnostics0.category("vm-diagnostics").description($("Commands to configure vm-diagnostics of acs in config file."));

  setparametersCreateOrUpdateContainerServiceVmDiagnostics0.command("set").description($("Set vm-diagnostics in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"vmDiagnostics\" : {\r\n             \"enabled\":null,\r\n             \"storageUri\":\"\"\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("--enabled <enabled>", $("Set the enabled value.")).option("--storage-uri <storageUri>", $("Set the storage-uri value.")).execute(function __22(options, _) { var fileContent, parametersObj, error, paramPath, updatedContent; var __frame = { name: "__22", line: 1660 }; return __func(_, this, arguments, __22, 1, __frame, function __$__22() {







      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__22() { return (function __$__22(__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 __$__22() {


          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 = "/diagnosticsProfile/vmDiagnostics";
          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 + "/") + "enabled");
          if (options.enabled) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.enabled));
            cli.output.verbose("================================================");
            if ((options.parse && options.enabled)) {
              options.enabled = JSON.parse(options.enabled); } ;

            options.enabled = JSON.parse(options.enabled);
            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.enabled },]); } ;

          paramPath = ((options.path + "/") + "storageUri");
          if (options.storageUri) {
            cli.output.verbose("================================================");
            cli.output.verbose(("Path  : " + paramPath));
            cli.output.verbose(("Value : " + options.storageUri));
            cli.output.verbose("================================================");
            if ((options.parse && options.storageUri)) {
              options.storageUri = JSON.parse(options.storageUri); } ;

            jsonpatch.apply(parametersObj, [{ op: options.operation, path: paramPath, value: options.storageUri },]); } ;

          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 catparametersCreateOrUpdateContainerServiceVmDiagnostics1 = cli.category("acs");
  var parametersCreateOrUpdateContainerServiceVmDiagnostics1 = catparametersCreateOrUpdateContainerServiceVmDiagnostics1.category("config").description($("Commands to manage configuration of container-service in the parameter file."));

  var deleteparametersCreateOrUpdateContainerServiceVmDiagnostics1 = parametersCreateOrUpdateContainerServiceVmDiagnostics1.category("vm-diagnostics").description($("Commands to configure vm-diagnostics of acs in config file."));

  deleteparametersCreateOrUpdateContainerServiceVmDiagnostics1.command("delete").description($("Remove vm-diagnostics in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"vmDiagnostics\" : {\r\n             \"enabled\":null,\r\n             \"storageUri\":\"\"\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("--enabled", $("Remove the enabled value.")).option("--storage-uri", $("Remove the storage-uri value.")).execute(function __23(options, _) { var fileContent, parametersObj, anySubItem, subItemPath, updatedContent; var __frame = { name: "__23", line: 1725 }; return __func(_, this, arguments, __23, 1, __frame, function __$__23() {






      return cli.output.verbose(JSON.stringify(options), __cb(_, __frame, 1, 15, function __$__23() { return (function __$__23(__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 __$__23() {


          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 = "/diagnosticsProfile/vmDiagnostics";
          anySubItem = ((false || options.enabled) || options.storageUri);
          if (anySubItem) {
            subItemPath = null;
            if (options.enabled) {
              subItemPath = (options.path + "/enabled");
              jsonpatch.apply(parametersObj, [{ op: options.operation, path: subItemPath },]); } ;

            if (options.storageUri) {
              subItemPath = (options.path + "/storageUri");
              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 containerServiceDelete = cli.category("acs").description($("Commands to manage your container service.  "));

  containerServiceDelete.command("delete [resource-group] [name]").description($("The operation to delete a container service.")).usage("[options] <resource-group> <name>").option("-g, --resource-group <resource-group>", $("resource-group")).option("-n, --name <name>", $("name")).option("-s, --subscription <subscription>", $("The subscription identifier")).execute(function __24(resourceGroup, name, options, _) { var subscription, computeManagementClient, result; var __frame = { name: "__24", line: 1780 }; return __func(_, this, arguments, __24, 3, __frame, function __$__24() { return (function __$__24(__then) {






        if (!resourceGroup) {
          return cli.interaction.promptIfNotGiven($("resource-group : "), resourceGroup, __cb(_, __frame, 2, 38, function ___(__0, __1) { resourceGroup = __1; __then(); }, true)); } else { __then(); } ; })(function __$__24() {


        cli.output.verbose(("resourceGroup = " + resourceGroup)); return (function __$__24(__then) {
          if (!name) {
            return cli.interaction.promptIfNotGiven($("name : "), name, __cb(_, __frame, 7, 29, function ___(__0, __2) { name = __2; __then(); }, true)); } else { __then(); } ; })(function __$__24() {


          cli.output.verbose(("name = " + name));
          subscription = profile.current.getSubscription(options.subscription);
          computeManagementClient = utils.createComputeManagementClient(subscription);
          return computeManagementClient.containerServiceOperations.deleteMethod(resourceGroup, name, __cb(_, __frame, 13, 68, function ___(__0, __3) { result = __3;
            if (result) {
              cli.output.json(result); } ; _(); }, true)); }); }); }); });







  var containerServiceGet = cli.category("acs").description($("Commands to manage your container service.  "));

  containerServiceGet.command("show [resource-group] [name]").description($("The operation to get a container service.")).usage("[options] <resource-group> <name>").option("-g, --resource-group <resource-group>", $("resource-group")).option("-n, --name <name>", $("name")).option("-s, --subscription <subscription>", $("The subscription identifier")).execute(function __25(resourceGroup, name, options, _) { var subscription, computeManagementClient, result; var __frame = { name: "__25", line: 1811 }; return __func(_, this, arguments, __25, 3, __frame, function __$__25() { return (function __$__25(__then) {






        if (!resourceGroup) {
          return cli.interaction.promptIfNotGiven($("resource-group : "), resourceGroup, __cb(_, __frame, 2, 38, function ___(__0, __1) { resourceGroup = __1; __then(); }, true)); } else { __then(); } ; })(function __$__25() {


        cli.output.verbose(("resourceGroup = " + resourceGroup)); return (function __$__25(__then) {
          if (!name) {
            return cli.interaction.promptIfNotGiven($("name : "), name, __cb(_, __frame, 7, 29, function ___(__0, __2) { name = __2; __then(); }, true)); } else { __then(); } ; })(function __$__25() {


          cli.output.verbose(("name = " + name));
          subscription = profile.current.getSubscription(options.subscription);
          computeManagementClient = utils.createComputeManagementClient(subscription);
          return computeManagementClient.containerServiceOperations.get(resourceGroup, name, __cb(_, __frame, 13, 68, function ___(__0, __3) { result = __3;
            if (cli.output.format().json) {
              cli.output.json(result); }

             else {
              display(cli, result); } ; _(); }, true)); }); }); }); });






  var containerServiceList = cli.category("acs").description($("Commands to manage your container service.  "));

  containerServiceList.command("list [resource-group]").description($("The operation to list container services.")).usage("[options] <resource-group>").option("-g, --resource-group <resource-group>", $("resource-group")).option("-s, --subscription <subscription>", $("The subscription identifier")).execute(function __26(resourceGroup, options, _) { var subscription, computeManagementClient, result; var __frame = { name: "__26", line: 1843 }; return __func(_, this, arguments, __26, 2, __frame, function __$__26() { return (function __$__26(__then) {





        if (!resourceGroup) {
          return cli.interaction.promptIfNotGiven($("resource-group : "), resourceGroup, __cb(_, __frame, 2, 38, function ___(__0, __1) { resourceGroup = __1; __then(); }, true)); } else { __then(); } ; })(function __$__26() {


        cli.output.verbose(("resourceGroup = " + resourceGroup));
        subscription = profile.current.getSubscription(options.subscription);
        computeManagementClient = utils.createComputeManagementClient(subscription);
        return computeManagementClient.containerServiceOperations.list(resourceGroup, __cb(_, __frame, 8, 68, function ___(__0, __2) { result = __2;
          if (result) {
            cli.output.json(result); } ; _(); }, true)); }); }); });};
