{
  "fullName": null,
  "usage": "[options] [command]",
  "options": [
    {
      "flags": "-v, --version",
      "required": 0,
      "optional": 0,
      "bool": true,
      "short": "-v",
      "long": "--version",
      "description": "output the application version"
    }
  ],
  "commands": [
    {
      "name": "help",
      "description": "Display help for a given command",
      "fullName": "help",
      "usage": "[options] [command]",
      "filePath": "commands/help.js",
      "options": [
        {
          "flags": "-v, --verbose",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-v",
          "long": "--verbose",
          "description": "use verbose output"
        },
        {
          "flags": "-vv",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "-vv",
          "description": "more verbose with debug output"
        },
        {
          "flags": "--json",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "--json",
          "description": "use json output"
        }
      ]
    },
    {
      "name": "login",
      "description": "Log in to an Azure subscription using Active Directory or a Microsoft account identity.",
      "fullName": "login",
      "usage": "[options]",
      "filePath": "commands/login.js",
      "options": [
        {
          "flags": "-v, --verbose",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-v",
          "long": "--verbose",
          "description": "use verbose output"
        },
        {
          "flags": "-vv",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "-vv",
          "description": "more verbose with debug output"
        },
        {
          "flags": "--json",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "--json",
          "description": "use json output"
        },
        {
          "flags": "-u --username <username>",
          "required": -15,
          "optional": 0,
          "bool": true,
          "short": "-u",
          "long": "--username",
          "description": "user name or service principal ID. If multifactor authentication is required, you will be prompted to use the login command without parameters for interactive support."
        },
        {
          "flags": "-e --environment [environment]",
          "required": 0,
          "optional": -18,
          "bool": true,
          "short": "-e",
          "long": "--environment",
          "description": "Environment to authenticate against, such as AzureChinaCloud; must support Active Directory."
        },
        {
          "flags": "-p --password <password>",
          "required": -15,
          "optional": 0,
          "bool": true,
          "short": "-p",
          "long": "--password",
          "description": "user password or service principal secret, will prompt if not given."
        },
        {
          "flags": "--service-principal",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "--service-principal",
          "description": "If given, log in as a service principal rather than a user."
        },
        {
          "flags": "--certificate-file <certificateFile>",
          "required": -20,
          "optional": 0,
          "bool": true,
          "long": "--certificate-file",
          "description": "A PEM encoded certificate private key file."
        },
        {
          "flags": "--thumbprint <thumbprint>",
          "required": -14,
          "optional": 0,
          "bool": true,
          "long": "--thumbprint",
          "description": "A hex encoded thumbprint of the certificate."
        },
        {
          "flags": "--tenant <tenant>",
          "required": -10,
          "optional": 0,
          "bool": true,
          "long": "--tenant",
          "description": "Tenant domain or ID to log into."
        },
        {
          "flags": "-q --quiet",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-q",
          "long": "--quiet",
          "description": "do not prompt for confirmation of PII storage."
        }
      ]
    },
    {
      "name": "logout",
      "description": "Log out from Azure subscription using Active Directory. Currently, the user can log out only via Microsoft organizational account",
      "fullName": "logout",
      "usage": "[options] [username]",
      "filePath": "commands/login.js",
      "options": [
        {
          "flags": "-v, --verbose",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-v",
          "long": "--verbose",
          "description": "use verbose output"
        },
        {
          "flags": "-vv",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "-vv",
          "description": "more verbose with debug output"
        },
        {
          "flags": "--json",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "--json",
          "description": "use json output"
        },
        {
          "flags": "-u --username <username>",
          "required": -15,
          "optional": 0,
          "bool": true,
          "short": "-u",
          "long": "--username",
          "description": "Required. User name used to log out from Azure Active Directory."
        }
      ]
    },
    {
      "name": "portal",
      "description": "Open the portal in a browser",
      "fullName": "portal",
      "usage": "[options]",
      "filePath": "commands/portal.js",
      "options": [
        {
          "flags": "-v, --verbose",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-v",
          "long": "--verbose",
          "description": "use verbose output"
        },
        {
          "flags": "-vv",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "-vv",
          "description": "more verbose with debug output"
        },
        {
          "flags": "--json",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "--json",
          "description": "use json output"
        },
        {
          "flags": "-e, --environment <environment>",
          "required": -19,
          "optional": 0,
          "bool": true,
          "short": "-e",
          "long": "--environment",
          "description": "the publish settings download environment"
        },
        {
          "flags": "-r, --realm <realm>",
          "required": -13,
          "optional": 0,
          "bool": true,
          "short": "-r",
          "long": "--realm",
          "description": "the organization's realm"
        }
      ]
    },
    {
      "name": "telemetry",
      "description": "Manages the data collection preference.",
      "fullName": "telemetry",
      "usage": "[options]",
      "filePath": "commands/telemetry.js",
      "options": [
        {
          "flags": "-v, --verbose",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-v",
          "long": "--verbose",
          "description": "use verbose output"
        },
        {
          "flags": "-vv",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "-vv",
          "description": "more verbose with debug output"
        },
        {
          "flags": "--json",
          "required": 0,
          "optional": 0,
          "bool": true,
          "long": "--json",
          "description": "use json output"
        },
        {
          "flags": "-e, --enable",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-e",
          "long": "--enable",
          "description": "use this flag to enable telemetry"
        },
        {
          "flags": "-d, --disable",
          "required": 0,
          "optional": 0,
          "bool": true,
          "short": "-d",
          "long": "--disable",
          "description": "use this flag to disable telemetry"
        }
      ]
    }
  ],
  "categories": {
    "account": {
      "name": "account",
      "description": "Commands to manage your account information and publish settings",
      "fullName": "account",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "List the imported subscriptions",
          "fullName": "account list",
          "usage": "[options]",
          "filePath": "commands/account.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            }
          ]
        },
        {
          "name": "show",
          "description": "Show details about a subscription",
          "fullName": "account show",
          "usage": "[options] [subscriptionNameOrId]",
          "filePath": "commands/account.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-s --subscriptionNameOrId <subscriptionNameOrId>",
              "required": -27,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscriptionNameOrId",
              "description": "The subscription to show"
            },
            {
              "flags": "-d --details",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--details",
              "description": "Show extra information about the subscription"
            }
          ]
        },
        {
          "name": "set",
          "description": "Set the current subscription",
          "fullName": "account set",
          "usage": "[options] <subscriptionNameOrId>",
          "filePath": "commands/account.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            }
          ]
        },
        {
          "name": "clear",
          "description": "Remove a subscription or environment, or clear all of the stored account and environment info",
          "fullName": "account clear",
          "usage": "[options]",
          "filePath": "commands/account.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-s --subscription <subscriptionNameOrId>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "Subscription name or id to remove"
            },
            {
              "flags": "-e --environment <environmentName>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--environment",
              "description": "Environment name to remove"
            },
            {
              "flags": "-q --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode, do not ask for delete confirmation"
            }
          ]
        }
      ],
      "categories": {
        "env": {
          "name": "env",
          "description": "Commands to manage your account environment",
          "fullName": "account env",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List the environments",
              "fullName": "account env list",
              "usage": "[options]",
              "filePath": "commands/account.environment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show an environment",
              "fullName": "account env show",
              "usage": "[options] [environment]",
              "filePath": "commands/account.environment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--environment <environment>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--environment",
                  "description": "the environment name"
                }
              ]
            },
            {
              "name": "add",
              "description": "Add an environment",
              "fullName": "account env add",
              "usage": "[options] [environment]",
              "filePath": "commands/account.environment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--environment <environment>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--environment",
                  "description": "the environment name"
                },
                {
                  "flags": "--portal-url <portalUrl>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--portal-url",
                  "description": "the management portal URL"
                },
                {
                  "flags": "--azure-data-lake-analytics-catalog-and-job-endpoint-suffix <azureDataLakeAnalyticsCatalogAndJobEndpointSuffix>",
                  "required": -61,
                  "optional": 0,
                  "bool": true,
                  "long": "--azure-data-lake-analytics-catalog-and-job-endpoint-suffix",
                  "description": "the data lake analytics job and catalog service dns suffix"
                },
                {
                  "flags": "--management-endpoint-url <managementEndpointUrl>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "long": "--management-endpoint-url",
                  "description": "the management service endpoint"
                },
                {
                  "flags": "--resource-manager-endpoint-url <resourceManagerEndpointUrl>",
                  "required": -33,
                  "optional": 0,
                  "bool": true,
                  "long": "--resource-manager-endpoint-url",
                  "description": "the resource management endpoint"
                },
                {
                  "flags": "--sql-management-endpoint-url <sqlManagementEndpointUrl>",
                  "required": -31,
                  "optional": 0,
                  "bool": true,
                  "long": "--sql-management-endpoint-url",
                  "description": "the sql server management endpoint for mobile commands"
                },
                {
                  "flags": "--sql-server-hostname-suffix <sqlServerHostnameSuffix>",
                  "required": -30,
                  "optional": 0,
                  "bool": true,
                  "long": "--sql-server-hostname-suffix",
                  "description": "the dns suffix for sql servers"
                },
                {
                  "flags": "--active-directory-endpoint-url <activeDirectoryEndpointUrl>",
                  "required": -33,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-endpoint-url",
                  "description": "the Active Directory login endpoint"
                },
                {
                  "flags": "--publishing-profile-url <publishingProfileUrl>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "long": "--publishing-profile-url",
                  "description": "the publish settings file URL"
                },
                {
                  "flags": "--gallery-endpoint-url <galleryEndpointUrl>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--gallery-endpoint-url",
                  "description": "the template gallery endpoint"
                },
                {
                  "flags": "--active-directory-graph-resource-id <activeDirectoryGraphResourceId>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-graph-resource-id",
                  "description": "the Active Directory resource ID"
                },
                {
                  "flags": "--active-directory-graph-api-version <activeDirectoryGraphApiVersion>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-graph-api-version",
                  "description": "the Active Directory api version"
                },
                {
                  "flags": "--storage-endpoint-suffix <storageEndpointSuffix>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "long": "--storage-endpoint-suffix",
                  "description": "the endpoint suffix for storage accounts"
                },
                {
                  "flags": "--key-vault-dns-suffix <keyVaultDnsSuffix>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-vault-dns-suffix",
                  "description": "the keyvault service dns suffix"
                },
                {
                  "flags": "--azure-data-lake-store-file-system-endpoint-suffix <azureDataLakeStoreFileSystemEndpointSuffix>",
                  "required": -53,
                  "optional": 0,
                  "bool": true,
                  "long": "--azure-data-lake-store-file-system-endpoint-suffix",
                  "description": "the data lake store filesystem service dns suffix"
                },
                {
                  "flags": "--active-directory-resource-id <activeDirectoryResourceId>",
                  "required": -32,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-resource-id",
                  "description": "The resource ID to obtain AD tokens for"
                }
              ]
            },
            {
              "name": "set",
              "description": "Update an environment",
              "fullName": "account env set",
              "usage": "[options] [environment]",
              "filePath": "commands/account.environment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--environment <environment>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--environment",
                  "description": "the environment name"
                },
                {
                  "flags": "--portal-url <portalUrl>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--portal-url",
                  "description": "the management portal URL"
                },
                {
                  "flags": "--active-directory-resource-id <activeDirectoryResourceId>",
                  "required": -32,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-resource-id",
                  "description": "The resource ID to obtain AD tokens for"
                },
                {
                  "flags": "--management-endpoint-url <managementEndpointUrl>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "long": "--management-endpoint-url",
                  "description": "the management service endpoint"
                },
                {
                  "flags": "--resource-manager-endpoint-url <resourceManagerEndpointUrl>",
                  "required": -33,
                  "optional": 0,
                  "bool": true,
                  "long": "--resource-manager-endpoint-url",
                  "description": "the resource management endpoint"
                },
                {
                  "flags": "--sql-management-endpoint-url <sqlManagementEndpointUrl>",
                  "required": -31,
                  "optional": 0,
                  "bool": true,
                  "long": "--sql-management-endpoint-url",
                  "description": "the sql server management endpoint for mobile commands"
                },
                {
                  "flags": "--sql-server-hostname-suffix <sqlServerHostnameSuffix>",
                  "required": -30,
                  "optional": 0,
                  "bool": true,
                  "long": "--sql-server-hostname-suffix",
                  "description": "the dns suffix for sql servers"
                },
                {
                  "flags": "--active-directory-endpoint-url <activeDirectoryEndpointUrl>",
                  "required": -33,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-endpoint-url",
                  "description": "the Active Directory login endpoint"
                },
                {
                  "flags": "--azure-data-lake-analytics-catalog-and-job-endpoint-suffix <azureDataLakeAnalyticsCatalogAndJobEndpointSuffix>",
                  "required": -61,
                  "optional": 0,
                  "bool": true,
                  "long": "--azure-data-lake-analytics-catalog-and-job-endpoint-suffix",
                  "description": "the data lake analytics job and catalog service dns suffix"
                },
                {
                  "flags": "--gallery-endpoint-url <galleryEndpointUrl>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--gallery-endpoint-url",
                  "description": "the template gallery endpoint"
                },
                {
                  "flags": "--active-directory-graph-resource-id <activeDirectoryGraphResourceId>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-graph-resource-id",
                  "description": "the Active Directory resource ID"
                },
                {
                  "flags": "--active-directory-graph-api-version <activeDirectoryGraphApiVersion>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "long": "--active-directory-graph-api-version",
                  "description": "the Active Directory api version"
                },
                {
                  "flags": "--storage-endpoint-suffix <storageEndpointSuffix>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "long": "--storage-endpoint-suffix",
                  "description": "the endpoint suffix for storage accounts"
                },
                {
                  "flags": "--key-vault-dns-suffix <keyVaultDnsSuffix>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-vault-dns-suffix",
                  "description": "the keyvault service dns suffix"
                },
                {
                  "flags": "--azure-data-lake-store-file-system-endpoint-suffix <azureDataLakeStoreFileSystemEndpointSuffix>",
                  "required": -53,
                  "optional": 0,
                  "bool": true,
                  "long": "--azure-data-lake-store-file-system-endpoint-suffix",
                  "description": "the data lake store filesystem service dns suffix"
                },
                {
                  "flags": "--publishing-profile-url <publishingProfileUrl>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "long": "--publishing-profile-url",
                  "description": "the publish settings file URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete an environment",
              "fullName": "account env delete",
              "usage": "[options] [environment]",
              "filePath": "commands/account.environment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--environment <environment>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--environment",
                  "description": "the environment name"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "batch": {
      "name": "batch",
      "description": "Commands to manage your Batch objects",
      "fullName": "batch",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "account": {
          "name": "account",
          "description": "Commands to manage your Batch accounts",
          "fullName": "batch account",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List the Batch accounts associated with the subscription or resource group",
              "fullName": "batch account list",
              "usage": "[options]",
              "filePath": "commands/batch/batch.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show detailed information about the specified Batch account",
              "fullName": "batch account show",
              "usage": "[options] <name>",
              "filePath": "commands/batch/batch.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "create",
              "description": "Creates a new Batch account with the specified parameters",
              "fullName": "batch account create",
              "usage": "[options] <name>",
              "filePath": "commands/batch/batch.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "--tags <tags>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--tags",
                  "description": "the account tags. Tags are key=value pairs and separated with semicolon(;)"
                },
                {
                  "flags": "--autostorage-account-id <autostorageAccountId>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "long": "--autostorage-account-id",
                  "description": "the resource id of the storage account to be used for auto storage"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "set",
              "description": "Updates the properties of an existing Batch account in the specified resource group",
              "fullName": "batch account set",
              "usage": "[options] <name>",
              "filePath": "commands/batch/batch.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--tags <tags>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--tags",
                  "description": "the account tags. Tags are key=value pairs and separated with semicolon(;)"
                },
                {
                  "flags": "--autostorage-account-id <autostorageAccountId>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "long": "--autostorage-account-id",
                  "description": "the resource id of the storage account to be used for auto storage"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes the specified Batch account",
              "fullName": "batch account delete",
              "usage": "[options] <name>",
              "filePath": "commands/batch/batch.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                }
              ]
            },
            {
              "name": "sync-autostorage-keys",
              "description": "Synchronizes access keys for the auto storage account configured for the specified Batch account",
              "fullName": "batch account sync-autostorage-keys",
              "usage": "[options] <name>",
              "filePath": "commands/batch/batch.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            }
          ],
          "categories": {
            "keys": {
              "name": "keys",
              "description": "Commands to manage your Batch account keys",
              "fullName": "batch account keys",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Gets the account keys for the given Batch account",
                  "fullName": "batch account keys list",
                  "usage": "[options] <name>",
                  "filePath": "commands/batch/batch.account.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                },
                {
                  "name": "renew",
                  "description": "Regenerates the specified account key for the given Batch account",
                  "fullName": "batch account keys renew",
                  "usage": "[options] <name>",
                  "filePath": "commands/batch/batch.account.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--primary",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--primary",
                      "description": "Update the primary key"
                    },
                    {
                      "flags": "--secondary",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--secondary",
                      "description": "Update the secondary key"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "application": {
          "name": "application",
          "description": "Commands to manage your Batch Application",
          "fullName": "batch application",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Adds an application to the specified Batch account",
              "fullName": "batch application create",
              "usage": "[options] [resource-group] [account-name] [application-id]",
              "filePath": "commands/batch/batch.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--account-name <account-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--account-name",
                  "description": "the name of the Batch account"
                },
                {
                  "flags": "--application-id <application-id>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--application-id",
                  "description": "the id of the application"
                },
                {
                  "flags": "--allow-updates <allow-updates>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--allow-updates",
                  "description": "whether packages within the application may be overwritten using the same version string"
                },
                {
                  "flags": "--display-name <display-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--display-name",
                  "description": "the disaply name for the application"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "set",
              "description": "Updates an application to the specified Batch account",
              "fullName": "batch application set",
              "usage": "[options] [resource-group] [account-name] [application-id]",
              "filePath": "commands/batch/batch.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--account-name <account-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--account-name",
                  "description": "the name of the Batch account"
                },
                {
                  "flags": "--application-id <application-id>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--application-id",
                  "description": "the id of the application"
                },
                {
                  "flags": "--allow-updates <allow-updates>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--allow-updates",
                  "description": "whether packages within the application may be overwritten using the same version string"
                },
                {
                  "flags": "--display-name <display-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--display-name",
                  "description": "the disaply name for the application"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes an application",
              "fullName": "batch application delete",
              "usage": "[options] [resource-group] [account-name] [application-id]",
              "filePath": "commands/batch/batch.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--account-name <account-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--account-name",
                  "description": "the name of the Batch account"
                },
                {
                  "flags": "--application-id <application-id>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--application-id",
                  "description": "the id of the application"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "delete the specified application without confirmation"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show details of the Batch application",
              "fullName": "batch application show",
              "usage": "[options] [resource-group] [account-name] [application-id]",
              "filePath": "commands/batch/batch.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--account-name <account-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--account-name",
                  "description": "the name of the Batch account"
                },
                {
                  "flags": "--application-id <application-id>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--application-id",
                  "description": "the id of the application"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists all of the applications in the specified account",
              "fullName": "batch application list",
              "usage": "[options] [resource-group] [account-name]",
              "filePath": "commands/batch/batch.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--account-name <account-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--account-name",
                  "description": "the name of the Batch account"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "list-summary",
              "description": "Lists all of the applications available in the specified account",
              "fullName": "batch application list-summary",
              "usage": "[options]",
              "filePath": "commands/batch/batch.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show-summary",
              "description": "Show details of the application in the specified account",
              "fullName": "batch application show-summary",
              "usage": "[options] [application-id]",
              "filePath": "commands/batch/batch.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--application-id <application-id>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--application-id",
                  "description": "the id of the application"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {
            "package": {
              "name": "package",
              "description": "Commands to manage your Batch Application Package",
              "fullName": "batch application package",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Creates an application package record",
                  "fullName": "batch application package create",
                  "usage": "[options] [resource-group] [account-name] [application-id] [version] [package-file]",
                  "filePath": "commands/batch/batch.application.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--account-name <account-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--account-name",
                      "description": "the name of the Batch account"
                    },
                    {
                      "flags": "--application-id <application-id>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--application-id",
                      "description": "the id of the application"
                    },
                    {
                      "flags": "--version <version>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--version",
                      "description": "the version of the application"
                    },
                    {
                      "flags": "--package-file <package-file>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--package-file",
                      "description": "the application package in zip format"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Deletes an application package record",
                  "fullName": "batch application package delete",
                  "usage": "[options] [resource-group] [account-name] [application-id] [version]",
                  "filePath": "commands/batch/batch.application.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--account-name <account-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--account-name",
                      "description": "the name of the Batch account"
                    },
                    {
                      "flags": "--application-id <application-id>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--application-id",
                      "description": "the id of the application"
                    },
                    {
                      "flags": "--version <version>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--version",
                      "description": "the version of the application to delete"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "delete the specified application package without confirmation"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show details of the Batch application package",
                  "fullName": "batch application package show",
                  "usage": "[options] [resource-group] [account-name] [application-id] [version]",
                  "filePath": "commands/batch/batch.application.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--account-name <account-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--account-name",
                      "description": "the name of the Batch account"
                    },
                    {
                      "flags": "--application-id <application-id>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--application-id",
                      "description": "the id of the application"
                    },
                    {
                      "flags": "--version <version>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--version",
                      "description": "the version of the application to show"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                },
                {
                  "name": "activate",
                  "description": "Activate an application package",
                  "fullName": "batch application package activate",
                  "usage": "[options] [resource-group] [account-name] [application-id] [version] [format]",
                  "filePath": "commands/batch/batch.application.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--account-name <account-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--account-name",
                      "description": "the name of the Batch account"
                    },
                    {
                      "flags": "--application-id <application-id>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--application-id",
                      "description": "the id of the application"
                    },
                    {
                      "flags": "--version <version>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--version",
                      "description": "the version of the application to activate"
                    },
                    {
                      "flags": "--format <format>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--format",
                      "description": "the format of the application package binary file"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "certificate": {
          "name": "certificate",
          "description": "Commands to manage your Batch certificate",
          "fullName": "batch certificate",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Add a certificate",
              "fullName": "batch certificate create",
              "usage": "[options] [thumbprint] [cert-file]",
              "filePath": "commands/batch/batch.certificate.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-t, --thumbprint <thumbprint>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--thumbprint",
                  "description": "the certificate thumbprint"
                },
                {
                  "flags": "-f, --cert-file <cert-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--cert-file",
                  "description": "the certificate file: cer file or pfx file"
                },
                {
                  "flags": "--thumbprint-algorithm <thumbprint-algorithm>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--thumbprint-algorithm",
                  "description": "the certificate thumbprint algorithm"
                },
                {
                  "flags": "-p, --password <password>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "the password to access the certificate's private key"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified Batch certificate",
              "fullName": "batch certificate delete",
              "usage": "[options] [thumbprint]",
              "filePath": "commands/batch/batch.certificate.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-t, --thumbprint <thumbprint>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--thumbprint",
                  "description": "the certificate thumbprint"
                },
                {
                  "flags": "--thumbprint-algorithm <thumbprint-algorithm>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--thumbprint-algorithm",
                  "description": "the certificate thumbprint algorithm"
                },
                {
                  "flags": "--abort",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--abort",
                  "description": "cancel the deletion"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "delete the specified certificate without confirmation"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show details of the Batch certificate",
              "fullName": "batch certificate show",
              "usage": "[options] [thumbprint]",
              "filePath": "commands/batch/batch.certificate.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-t, --thumbprint <thumbprint>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--thumbprint",
                  "description": "the certificate thumbprint"
                },
                {
                  "flags": "--thumbprint-algorithm <thumbprint-algorithm>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--thumbprint-algorithm",
                  "description": "the certificate thumbprint algorithm"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "List Batch certificates",
              "fullName": "batch certificate list",
              "usage": "[options]",
              "filePath": "commands/batch/batch.certificate.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {}
        },
        "task-file": {
          "name": "task-file",
          "description": "Commands to manage your Batch task files",
          "fullName": "batch task-file",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "delete",
              "description": "Deletes the specified task file from the compute node where the task ran",
              "fullName": "batch task-file delete",
              "usage": "[options] [job-id] [task-id] [file-name]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <job-Id>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the id of the job that contains the task"
                },
                {
                  "flags": "-i, --task-id <task-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--task-id",
                  "description": "the id of the task whose file you want to delete"
                },
                {
                  "flags": "-f, --file-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--file-name",
                  "description": "the path to the task file that you want to delete"
                },
                {
                  "flags": "-r, --recursive",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--recursive",
                  "description": "whether to delete children of a directory"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "delete file(s) without confirmation"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "download",
              "description": "Download a Batch task file",
              "fullName": "batch task-file download",
              "usage": "[options] [job-id] [task-id] [file-name] [destination]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <job-Id>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the batch job id"
                },
                {
                  "flags": "-i, --task-id <task-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--task-id",
                  "description": "the batch task id"
                },
                {
                  "flags": "-f, --file-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--file-name",
                  "description": "the path to the file that you want to download"
                },
                {
                  "flags": "-d, --destination <destination>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--destination",
                  "description": "path to the destination file or directory"
                },
                {
                  "flags": "--range <range>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--range",
                  "description": "the byte range to be retrieved, the default is to retrieve the entire file"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "overwrite the destination file without confirmation"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show",
              "description": "Gets the properties of the specified task file",
              "fullName": "batch task-file show",
              "usage": "[options] [job-id] [task-id] [file-name]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <job-Id>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the id of the job that contains the task"
                },
                {
                  "flags": "-i, --task-id <task-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--task-id",
                  "description": "the id of the task whose file you want to get the properties of"
                },
                {
                  "flags": "-f, --file-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--file-name",
                  "description": "the path to the file that you want to get the properties of"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists the files in a task's directory on its compute node",
              "fullName": "batch task-file list",
              "usage": "[options] [job-id] [task-id]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <job-Id>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the id of the job that contains the task"
                },
                {
                  "flags": "-i, --task-id <task-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--task-id",
                  "description": "the id of the task whose files you want to list"
                },
                {
                  "flags": "-r, --recursive",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--recursive",
                  "description": "whether to list children of a directory"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {}
        },
        "node-file": {
          "name": "node-file",
          "description": "Commands to manage your Batch compute node files",
          "fullName": "batch node-file",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "delete",
              "description": "Deletes the specified file from the compute node",
              "fullName": "batch node-file delete",
              "usage": "[options] [pool-id] [node-id] [file-name]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the compute node from which you want to delete the file"
                },
                {
                  "flags": "-f, --file-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--file-name",
                  "description": "the path to the file that you want to delete"
                },
                {
                  "flags": "-r, --recursive",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--recursive",
                  "description": "whether to delete children of a directory"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "delete file(s) without confirmation"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "download",
              "description": "Download a file from a Batch compute node",
              "fullName": "batch node-file download",
              "usage": "[options] [pool-id] [node-id] [file-name] [destination]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the compute node that contains the file"
                },
                {
                  "flags": "-f, --file-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--file-name",
                  "description": "the path to the file that you want to download"
                },
                {
                  "flags": "-d, --destination <destination>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--destination",
                  "description": "path to the destination file or directory"
                },
                {
                  "flags": "--range <range>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--range",
                  "description": "the byte range to be retrieved, the default is to retrieve the entire file"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "overwrite the destination file without confirmation"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get the properties of the specified compute node file",
              "fullName": "batch node-file show",
              "usage": "[options] [pool-id] [node-id] [file-name]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the compute node that contains the file"
                },
                {
                  "flags": "-f, --file-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--file-name",
                  "description": "the path to the file that you want to get the properties of"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists all of the files in task directories on the specified compute node",
              "fullName": "batch node-file list",
              "usage": "[options] [pool-id] [node-id]",
              "filePath": "commands/batch/batch.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the compute node whose files you want to list"
                },
                {
                  "flags": "-r, --recursive",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--recursive",
                  "description": "whether to list children of a directory"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {}
        },
        "job": {
          "name": "job",
          "description": "Commands to manage your Batch jobs",
          "fullName": "batch job",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Adds a job to the specified account",
              "fullName": "batch job create",
              "usage": "[options] [json-file]",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-f, --json-file <json-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--json-file",
                  "description": "the file containing the job object to create in JSON format; if this parameter is specified, all other job parameters are ignored."
                },
                {
                  "flags": "-i, --id <jobId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch job id"
                },
                {
                  "flags": "-p, --pool-id <poolId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of an existing pool; all the tasks of the job will run on the speicfied pool"
                },
                {
                  "flags": "--metadata <--metadata>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--metadata",
                  "description": "the semicolon separated list of name-value pairs associated with the job as metadata, ex: name1=value1;name2=value2"
                },
                {
                  "flags": "--priority <priority>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--priority",
                  "description": "the priority of the job, ranging from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority; the default value is 0."
                },
                {
                  "flags": "--max-wall-clock-time <max-wall-clock-time>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-wall-clock-time",
                  "description": "the maximum elapsed time that a job may run, in ISO 8601 duration formation"
                },
                {
                  "flags": "--max-task-retry-count <max-task-retry-count>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-task-retry-count",
                  "description": "the maximum number of times each task may be retried"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists all of the jobs in the specified account",
              "fullName": "batch job list",
              "usage": "[options]",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --job-schedule-id [jobScheduleId]",
                  "required": 0,
                  "optional": -23,
                  "bool": true,
                  "short": "-i",
                  "long": "--job-schedule-id",
                  "description": "the id of the job schedule from which you want to get a list of jobs"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show information about the specified job",
              "fullName": "batch job show",
              "usage": "[options] [jobId]",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <jobId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the id of the job"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified job",
              "fullName": "batch job delete",
              "usage": "[options] [jobId]",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <jobId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the id of the job to delete"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified job without confirmation"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "set",
              "description": "Patch/Update the properties of a job",
              "fullName": "batch job set",
              "usage": "[options] [jobId] [json-file]",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <jobId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the id of the job whose properties you want to patch/update"
                },
                {
                  "flags": "-p, --pool-id <poolId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of an existing pool; all the tasks of the job will run on the speicfied pool"
                },
                {
                  "flags": "--metadata <--metadata>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--metadata",
                  "description": "the semicolon separated list of name-value pairs associated with the job as metadata, ex: name1=value1;name2=value2"
                },
                {
                  "flags": "--priority <priority>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--priority",
                  "description": "the priority of the job, ranging from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority; the default value is 0."
                },
                {
                  "flags": "--max-wall-clock-time <max-wall-clock-time>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-wall-clock-time",
                  "description": "the maximum elapsed time that a job may run, in ISO 8601 duration formation"
                },
                {
                  "flags": "--max-task-retry-count <max-task-retry-count>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-task-retry-count",
                  "description": "the maximum number of times each task may be retried"
                },
                {
                  "flags": "-f, --json-file <json-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--json-file",
                  "description": "the file containing the job properties to patch/update in JSON format; if this parameter is specified, all other job parameters are ignored."
                },
                {
                  "flags": "-r, --replace",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--replace",
                  "description": "uses update instead of patch"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "enable",
              "description": "Enables the specified job, allowing new tasks to run",
              "fullName": "batch job enable",
              "usage": "[options] <jobId>",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "disable",
              "description": "Disables the specified job.  Disabled jobs do not run new tasks, but may be re-enabled later.",
              "fullName": "batch job disable",
              "usage": "[options] <jobId>",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o, --disable-option <disableOption>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--disable-option",
                  "description": "specifies what to do with active tasks during a disable job operation, available options include \"requeue\", \"terminate\", and \"wait\""
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "stop",
              "description": "Terminates the specified job, marking it as completed",
              "fullName": "batch job stop",
              "usage": "[options] <jobId>",
              "filePath": "commands/batch/batch.job.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-r, --reason [reason]",
                  "required": 0,
                  "optional": -14,
                  "bool": true,
                  "short": "-r",
                  "long": "--reason",
                  "description": "the text you want to appear as the job's terminate reason"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {
            "prep-release-status": {
              "name": "prep-release-status",
              "description": "Commands to manage the status of your job preparation and release tasks",
              "fullName": "batch job prep-release-status",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Lists the execution status of the job preparation and job release task for the specified job across the compute nodes where the job has run",
                  "fullName": "batch job prep-release-status list",
                  "usage": "[options] <jobId>",
                  "filePath": "commands/batch/batch.job.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--select-clause <select-clause>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--select-clause",
                      "description": "list of a subset of properties to select"
                    },
                    {
                      "flags": "--filter-clause <filter-clause>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--filter-clause",
                      "description": "an OData expression by which the results will be filtered"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "job-schedule": {
          "name": "job-schedule",
          "description": "Commands to manage your Batch job schedules",
          "fullName": "batch job-schedule",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Adds a job schedule to the specified account",
              "fullName": "batch job-schedule create",
              "usage": "[options] [json-file]",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-f, --json-file <json-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--json-file",
                  "description": "the file containing the job schedule object to create in JSON format; if this parameter is specified, all other job schedule parameters are ignored."
                },
                {
                  "flags": "-i, --id <jobScheduleId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch job schedule id"
                },
                {
                  "flags": "-p, --pool-id <poolId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of an existing pool; all the tasks of jobs created under this schedule will run on the speicfied pool"
                },
                {
                  "flags": "--priority <priority>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--priority",
                  "description": "the priority of the jobs created under this schedule, ranging from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority; the default value is 0."
                },
                {
                  "flags": "--max-wall-clock-time <max-wall-clock-time>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-wall-clock-time",
                  "description": "the maximum elapsed time that a job created under this schedule may run, in ISO 8601 duration formation"
                },
                {
                  "flags": "--max-task-retry-count <max-task-retry-count>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-task-retry-count",
                  "description": "the maximum number of times each task may be retried"
                },
                {
                  "flags": "--do-not-run-until <do-not-run-until>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--do-not-run-until",
                  "description": "the earliest time at which any ob may be created under this job schedule; if you do not specify a time, the scheudle becomes ready to create jobs immediately."
                },
                {
                  "flags": "--do-not-run-after <do-not-run-after>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--do-not-run-after",
                  "description": "the time after which no job will be created under this job schedule; if you do not specify a time, and you are creating a recurring job schedule, the job schedule will remain active until you explicitly terminate it."
                },
                {
                  "flags": "--start-window <start-window>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--start-window",
                  "description": "the time interval, starting from the time at which the schedule indicates a job should be created, within which a job must be created, specified in ISO 8601 duration format."
                },
                {
                  "flags": "--recurrence-interval <recurrence-interval>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--recurrence-interval",
                  "description": "the time interval between the start times of two successive jobs under the job schedule, specified in ISO 8601 duration format; the default is that the schedule does not recur."
                },
                {
                  "flags": "--metadata <--metadata>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--metadata",
                  "description": "the semicolon separated list of name-value pairs associated with the job schedule as metadata, ex: name1=value1;name2=value2"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists all of the job schedules in the specified account",
              "fullName": "batch job-schedule list",
              "usage": "[options]",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show information about the specified job schedule",
              "fullName": "batch job-schedule show",
              "usage": "[options] [jobScheduleId]",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <jobScheduleId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the id of the job schedule to get"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes a job schedule from the specified account",
              "fullName": "batch job-schedule delete",
              "usage": "[options] [jobScheduleId]",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <jobScheduleId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the id of the job schedule to delete"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified job schedule without confirmation"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "set",
              "description": "Patch/Update the properties of the specified job schedule",
              "fullName": "batch job-schedule set",
              "usage": "[options] [jobScheduleId] [json-file]",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <jobScheduleId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the id of the job schedule to patch/update"
                },
                {
                  "flags": "-p, --pool-id <poolId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of an existing pool; all the tasks of jobs created under this schedule will run on the speicfied pool"
                },
                {
                  "flags": "--priority <priority>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--priority",
                  "description": "the priority of the jobs created under this schedule, ranging from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority; the default value is 0."
                },
                {
                  "flags": "--max-wall-clock-time <max-wall-clock-time>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-wall-clock-time",
                  "description": "the maximum elapsed time that a job created under this schedule may run, in ISO 8601 duration formation"
                },
                {
                  "flags": "--max-task-retry-count <max-task-retry-count>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-task-retry-count",
                  "description": "the maximum number of times each task may be retried"
                },
                {
                  "flags": "--do-not-run-until <do-not-run-until>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--do-not-run-until",
                  "description": "the earliest time at which any ob may be created under this job schedule; if you do not specify a time, the scheudle becomes ready to create jobs immediately."
                },
                {
                  "flags": "--do-not-run-after <do-not-run-after>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--do-not-run-after",
                  "description": "the time after which no job will be created under this job schedule; if you do not specify a time, and you are creating a recurring job schedule, the job schedule will remain active until you explicitly terminate it."
                },
                {
                  "flags": "--start-window <start-window>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--start-window",
                  "description": "the time interval, starting from the time at which the schedule indicates a job should be created, within which a job must be created, specified in ISO 8601 duration format."
                },
                {
                  "flags": "--recurrence-interval <recurrence-interval>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--recurrence-interval",
                  "description": "the time interval between the start times of two successive jobs under the job schedule, specified in ISO 8601 duration format; the default is that the schedule does not recur."
                },
                {
                  "flags": "-f, --json-file <json-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--json-file",
                  "description": "the file containing the job schedule properties to patch/update in JSON format; if this parameter is specified, all other job schedule parameters are ignored."
                },
                {
                  "flags": "-r, --replace",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--replace",
                  "description": "uses update instead of patch"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "enable",
              "description": "Enables the specified job schedule, allowing jobs to be created according to its schedule",
              "fullName": "batch job-schedule enable",
              "usage": "[options] <jobScheduleId>",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "disable",
              "description": "Disables the specified job schedule. Disabled schedules do not create new jobs, but may be re-enabled later.",
              "fullName": "batch job-schedule disable",
              "usage": "[options] <jobScheduleId>",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "stop",
              "description": "Terminates the specified job schedule",
              "fullName": "batch job-schedule stop",
              "usage": "[options] <jobScheduleId>",
              "filePath": "commands/batch/batch.jobSchedule.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {}
        },
        "node": {
          "name": "node",
          "description": "Commands to manage your Batch compute nodes",
          "fullName": "batch node",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "show",
              "description": "Show information about the specified compute node",
              "fullName": "batch node show",
              "usage": "[options] [pool-id] [node-id]",
              "filePath": "commands/batch/batch.node.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the compute node that you want to get information about"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists the compute nodes in the specified pool",
              "fullName": "batch node list",
              "usage": "[options] [pool-id]",
              "filePath": "commands/batch/batch.node.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool from which you want to list nodes"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "reboot",
              "description": "Restarts the specified compute node",
              "fullName": "batch node reboot",
              "usage": "[options] [pool-id] [node-id]",
              "filePath": "commands/batch/batch.node.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the compute node that you want to restart"
                },
                {
                  "flags": "-o, --reboot-option <reboot-option>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--reboot-option",
                  "description": "when to reboot the compute node and what to do with currently running tasks"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "reboot the specified compute node without confirmation"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "reimage",
              "description": "Reinstalls the operating system on the specified compute node",
              "fullName": "batch node reimage",
              "usage": "[options] [pool-id] [node-id]",
              "filePath": "commands/batch/batch.node.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the compute node that you want to reimage"
                },
                {
                  "flags": "-o, --reimage-option <reimage-option>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--reimage-option",
                  "description": "when to reimage the compute node and what to do with currently running tasks"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "reimage the specified compute node without confirmation"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Remove nodes from the Batch pool",
              "fullName": "batch node delete",
              "usage": "[options] [pool-id] [node-list]",
              "filePath": "commands/batch/batch.pool.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <pool-id>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch pool id"
                },
                {
                  "flags": "-l, --node-list <node-list>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--node-list",
                  "description": "the list of node ids"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove nodes from the specified Batch pool without confirmation"
                },
                {
                  "flags": "--resize-timeout <resize-timeout>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--resize-timeout",
                  "description": "the timeout for removal of compute nodes from the pool, in ISO 8601 duration format"
                },
                {
                  "flags": "-o, --deallocate-option <deallocate-option>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--deallocate-option",
                  "description": "sets when nodes may be removed from the pool"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {
            "remote-login-settings": {
              "name": "remote-login-settings",
              "description": "The remote login settings for a Batch compute node",
              "fullName": "batch node remote-login-settings",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "show",
                  "description": "Gets the remote login settings for the specified node",
                  "fullName": "batch node remote-login-settings show",
                  "usage": "[options] [pool-id] [node-id]",
                  "filePath": "commands/batch/batch.node.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-p, --pool-id <pool-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--pool-id",
                      "description": "the id of the pool that contains the compute node"
                    },
                    {
                      "flags": "-i, --node-id <node-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--node-id",
                      "description": "the id of the compute node for which you want to get the remote login settings"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "remote-desktop": {
              "name": "remote-desktop",
              "description": "The remote desktop protocol for a Batch compute node",
              "fullName": "batch node remote-desktop",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "show",
                  "description": "Gets the Remote Desktop Protocol file for the specified compute node",
                  "fullName": "batch node remote-desktop show",
                  "usage": "[options] [pool-id] [node-id] [rdp-file]",
                  "filePath": "commands/batch/batch.node.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-p, --pool-id <pool-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--pool-id",
                      "description": "the id of the pool that contains the compute node"
                    },
                    {
                      "flags": "-i, --node-id <node-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--node-id",
                      "description": "the id of the compute node for which you want to get the Remote Desktop Protocol file"
                    },
                    {
                      "flags": "-f, --rdp-file <rdp-file>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--rdp-file",
                      "description": "the path where you would like to save the Remote Desktop Protocol file"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "overwrite the destination Remote Desktop Protocol file without confirmation"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "scheduling": {
              "name": "scheduling",
              "description": "The scheduling property for a Batch compute node",
              "fullName": "batch node scheduling",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "disable",
                  "description": "Disable scheduling on the Batch compute node",
                  "fullName": "batch node scheduling disable",
                  "usage": "[options] [pool-id] [node-id]",
                  "filePath": "commands/batch/batch.node.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-p, --pool-id <pool-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--pool-id",
                      "description": "the id of the pool that contains the compute node"
                    },
                    {
                      "flags": "-i, --node-id <node-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--node-id",
                      "description": "the id of the compute node that you want to disable scheduling"
                    },
                    {
                      "flags": "-o, --disable-option <disable-option>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--disable-option",
                      "description": "option of what to do with currently running tasks when to disable scheduling on the compute node"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                },
                {
                  "name": "enable",
                  "description": "Enable scheduling on the Batch compute node",
                  "fullName": "batch node scheduling enable",
                  "usage": "[options] [pool-id] [node-id]",
                  "filePath": "commands/batch/batch.node.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-p, --pool-id <pool-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--pool-id",
                      "description": "the id of the pool that contains the compute node"
                    },
                    {
                      "flags": "-i, --node-id <node-Id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--node-id",
                      "description": "the id of the compute node that you want to enable scheduling"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "node-user": {
          "name": "node-user",
          "description": "Commands to manage your Batch compute node users",
          "fullName": "batch node-user",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Adds a user account to the specified compute node",
              "fullName": "batch node-user create",
              "usage": "[options] [pool-id] [node-id] [user-name]",
              "filePath": "commands/batch/batch.node.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the machine on which you want to create a user account"
                },
                {
                  "flags": "-n, --user-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--user-name",
                  "description": "the name of the user account to be created"
                },
                {
                  "flags": "-w, --user-password [user-password]",
                  "required": 0,
                  "optional": -21,
                  "bool": true,
                  "short": "-w",
                  "long": "--user-password",
                  "description": "the password of the user account"
                },
                {
                  "flags": "--ssh-public-key [ssh-public-key]",
                  "required": 0,
                  "optional": -18,
                  "bool": true,
                  "long": "--ssh-public-key",
                  "description": "the ssh public key that can be used for remote login to the compute node; can only be specified for Linux nodes"
                },
                {
                  "flags": "--admin",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--admin",
                  "description": "whether the account should be an administrator on the compute node"
                },
                {
                  "flags": "--expiry-time [expiry-time]",
                  "required": 0,
                  "optional": -15,
                  "bool": true,
                  "long": "--expiry-time",
                  "description": "the time at which the account should expire"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes a user account from the specified compute node",
              "fullName": "batch node-user delete",
              "usage": "[options] [pool-id] [node-id] [user-name]",
              "filePath": "commands/batch/batch.node.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the machine on which you want to delete a user account"
                },
                {
                  "flags": "-n, --user-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--user-name",
                  "description": "the name of user account to delete"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified user without confirmation"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "set",
              "description": "Update the properties of a user account on the specified compute node",
              "fullName": "batch node-user set",
              "usage": "[options] [pool-id] [node-id] [user-name]",
              "filePath": "commands/batch/batch.node.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --pool-id <pool-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pool-id",
                  "description": "the id of the pool that contains the compute node"
                },
                {
                  "flags": "-i, --node-id <node-Id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--node-id",
                  "description": "the id of the machine on which you want to update a user account"
                },
                {
                  "flags": "-n, --user-name <user-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--user-name",
                  "description": "the name of the user account to update"
                },
                {
                  "flags": "-w, --user-password [user-password]",
                  "required": 0,
                  "optional": -21,
                  "bool": true,
                  "short": "-w",
                  "long": "--user-password",
                  "description": "the password of the user account"
                },
                {
                  "flags": "--ssh-public-key [ssh-public-key]",
                  "required": 0,
                  "optional": -18,
                  "bool": true,
                  "long": "--ssh-public-key",
                  "description": "the ssh public key that can be used for remote login to the compute node; can only be specified for Linux nodes"
                },
                {
                  "flags": "--expiry-time [expiry-time]",
                  "required": 0,
                  "optional": -15,
                  "bool": true,
                  "long": "--expiry-time",
                  "description": "the time at which the account should expire"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {}
        },
        "pool": {
          "name": "pool",
          "description": "Commands to manage your Batch pools",
          "fullName": "batch pool",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a Batch pool",
              "fullName": "batch pool create",
              "usage": "[options] [json-file]",
              "filePath": "commands/batch/batch.pool.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-f, --json-file <json-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--json-file",
                  "description": "the file containing the pool object to create in JSON format, if this parameter is specified, all other pool parameters are ignored"
                },
                {
                  "flags": "-i, --id <pool-id>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch pool id"
                },
                {
                  "flags": "-S, --vm-size <vm-size>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-S",
                  "long": "--vm-size",
                  "description": "the size of virtual machines in the pool, ex: small, Standard_D14"
                },
                {
                  "flags": "-t, --target-dedicated <target-dedicated>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--target-dedicated",
                  "description": "the desired number of compute nodes in the pool"
                },
                {
                  "flags": "-F, --autoscale-formula <autoscale-formula>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-F",
                  "long": "--autoscale-formula",
                  "description": "the formula for the desired number of compute nodes in the pool, see https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling/ for more detail"
                },
                {
                  "flags": "-o, --os-family <os-family>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--os-family",
                  "description": "the Azure Guest OS family to be installed on the virtual machines in the pool, this parameter cannot be used with the --image-publisher, --image-offer, --image-sku and --node-agent-id parameters"
                },
                {
                  "flags": "-p, --image-publisher <image-publisher>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--image-publisher",
                  "description": "the publisher of the Azure Virtual Machines Marketplace image, ex: Canonical or MicrosoftWindowsServer"
                },
                {
                  "flags": "-O, --image-offer <image-offer>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-O",
                  "long": "--image-offer",
                  "description": "the offer type of the Azure Virtual Machines Marketplace image, ex: UbuntuServer or WindowsServer"
                },
                {
                  "flags": "-K, --image-sku <image-sku>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-K",
                  "long": "--image-sku",
                  "description": "the SKU of the Azure Virtual Machines Marketplace image, ex: 14.04.0-LTS or 2012-R2-Datacenter"
                },
                {
                  "flags": "-n, --node-agent-id <node-agent-id>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--node-agent-id",
                  "description": "the SKU of Batch Node Agent to be provisioned on the compute node"
                },
                {
                  "flags": "--resize-timeout <resize-timeout>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--resize-timeout",
                  "description": "the timeout for allocation of compute nodes to the pool, in ISO 8601 duration formation"
                },
                {
                  "flags": "-c, --start-task-cmd <start-task-cmd>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--start-task-cmd",
                  "description": "the command line of the start task"
                },
                {
                  "flags": "--certificate-ref <certificate-ref>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "long": "--certificate-ref",
                  "description": "the semicolon separated list of thumbprints specifying the certificates to be installed on each compute node in the pool"
                },
                {
                  "flags": "--app-package-ref <app-package-ref>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "long": "--app-package-ref",
                  "description": "the semicolon separated list of ids specifying the application packages to be installed on each compute node in the pool"
                },
                {
                  "flags": "--metadata <metadata>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--metadata",
                  "description": "the semicolon separated list of name-value pairs associated with the pool as metadata, ex: name1=value1;name2=value"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "List Batch pools",
              "fullName": "batch pool list",
              "usage": "[options]",
              "filePath": "commands/batch/batch.pool.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show information about the specified Batch pool",
              "fullName": "batch pool show",
              "usage": "[options] [pool-id]",
              "filePath": "commands/batch/batch.pool.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <pool-id>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch pool id"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified Batch pool",
              "fullName": "batch pool delete",
              "usage": "[options] [pool-id]",
              "filePath": "commands/batch/batch.pool.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <pool-Id>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch pool id"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified Batch pool without confirmation"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "set",
              "description": "Patch/Update the properties of the specified Batch pool",
              "fullName": "batch pool set",
              "usage": "[options] [pool-id] [json-file]",
              "filePath": "commands/batch/batch.pool.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <pool-id>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch pool id"
                },
                {
                  "flags": "-f, --json-file <json-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--json-file",
                  "description": "the file containing the patch/update pool properties to apply in JSON format, if this parameter is specified, all other pool property parameters are ignored"
                },
                {
                  "flags": "-c, --start-task-cmd <start-task-cmd>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--start-task-cmd",
                  "description": "the command line of the start task"
                },
                {
                  "flags": "--certificate-ref <certificate-ref>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "long": "--certificate-ref",
                  "description": "the semicolon separated list of thumbprints specifying the certificates to be installed on each compute node in the pool"
                },
                {
                  "flags": "--app-package-ref <app-package-ref>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "long": "--app-package-ref",
                  "description": "the semicolon separated list of ids specifying the application packages to be installed on each compute node in the pool"
                },
                {
                  "flags": "--metadata <metadata>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--metadata",
                  "description": "the semicolon separated list of name-value pairs associated with the pool as metadata, ex: name1=value1;name2=value"
                },
                {
                  "flags": "-r, --replace",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--replace",
                  "description": "uses update instead of patch"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "resize",
              "description": "Resize (or stop resizing) the Batch pool",
              "fullName": "batch pool resize",
              "usage": "[options] [pool-id] [target-dedicated]",
              "filePath": "commands/batch/batch.pool.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --id <pool-id>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch pool id"
                },
                {
                  "flags": "--abort",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--abort",
                  "description": "stop resizing"
                },
                {
                  "flags": "-t, --target-dedicated <target-dedicated>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--target-dedicated",
                  "description": "the dedicated VM count to resize"
                },
                {
                  "flags": "--resize-timeout <resize-timeout>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--resize-timeout",
                  "description": "the timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool, in ISO 8601 duration formation"
                },
                {
                  "flags": "-o, --deallocate-option <deallocate-option>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--deallocate-option",
                  "description": "sets when nodes may be removed from the pool, if the pool size is decreasing"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {
            "autoscale": {
              "name": "autoscale",
              "description": "Commands to manage autoscale of your Batch pools",
              "fullName": "batch pool autoscale",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "disable",
                  "description": "Disable autoscale at the Batch pool",
                  "fullName": "batch pool autoscale disable",
                  "usage": "[options] [pool-id]",
                  "filePath": "commands/batch/batch.pool.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-i, --id <pool-id>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--id",
                      "description": "the Batch pool id"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                },
                {
                  "name": "enable",
                  "description": "Enable autoscale at the Batch pool",
                  "fullName": "batch pool autoscale enable",
                  "usage": "[options] [pool-id]",
                  "filePath": "commands/batch/batch.pool.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-i, --id <pool-id>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--id",
                      "description": "the Batch pool id"
                    },
                    {
                      "flags": "-f, --autoscale-formula <autoscale-formula>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--autoscale-formula",
                      "description": "the autoscale formula, see https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling/ for more detail"
                    },
                    {
                      "flags": "--autoscale-evaluation-interval <autoscale-evaluation-interval>",
                      "required": -33,
                      "optional": 0,
                      "bool": true,
                      "long": "--autoscale-evaluation-interval",
                      "description": "the time interval for the desired autoscale evaluation period, in ISO 8601 duration formation"
                    },
                    {
                      "flags": "--if-match <if-match>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--if-match",
                      "description": "only perform if resource's ETag is an exact match to the specified value"
                    },
                    {
                      "flags": "--if-none-match <if-none-match>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--if-none-match",
                      "description": "only perform if resource's ETag does not match the specified value"
                    },
                    {
                      "flags": "--if-modified-since <if-modified-since>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "long": "--if-modified-since",
                      "description": "only perform if the resource has been modified since the specified time"
                    },
                    {
                      "flags": "--if-unmodified-since <if-unmodified-since>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "long": "--if-unmodified-since",
                      "description": "only perform if the resource has not been modified since the specified time"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                },
                {
                  "name": "evaluate",
                  "description": "Evaluate autoscale at the Batch pool",
                  "fullName": "batch pool autoscale evaluate",
                  "usage": "[options] [pool-id] [autoscale-formula]",
                  "filePath": "commands/batch/batch.pool.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-i, --id <pool-id>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--id",
                      "description": "the Batch pool id"
                    },
                    {
                      "flags": "-f, --autoscale-formula <autoscale-formula>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--autoscale-formula",
                      "description": "the autoscale formula, see https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling/ for more detail"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "all-stats": {
              "name": "all-stats",
              "description": "Commands to manage all the pools under your Batch account",
              "fullName": "batch pool all-stats",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "show",
                  "description": "Show lifetime summary statistics for all of the pools",
                  "fullName": "batch pool all-stats show",
                  "usage": "[options]",
                  "filePath": "commands/batch/batch.pool.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "usage-metrics": {
              "name": "usage-metrics",
              "description": "Commands to manage usage metrics of your Batch pools",
              "fullName": "batch pool usage-metrics",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List Batch pool usage metrics",
                  "fullName": "batch pool usage-metrics list",
                  "usage": "[options]",
                  "filePath": "commands/batch/batch.pool.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-s, --start-time <start-time>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--start-time",
                      "description": "the earliest time from which to include metrics"
                    },
                    {
                      "flags": "-e, --end-time <end-time>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--end-time",
                      "description": "the latest time from which to include metrics"
                    },
                    {
                      "flags": "--filter-clause <filter-clause>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--filter-clause",
                      "description": "an OData expression by which the results will be filtered"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "node-agent-skus": {
              "name": "node-agent-skus",
              "description": "Commands to manage node agent skus of IaaS pools",
              "fullName": "batch pool node-agent-skus",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Lists the node agent SKUs supported by the Azure Batch service",
                  "fullName": "batch pool node-agent-skus list",
                  "usage": "[options]",
                  "filePath": "commands/batch/batch.pool.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--filter-clause <filter-clause>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--filter-clause",
                      "description": "an OData expression by which the results will be filtered"
                    },
                    {
                      "flags": "-a, --account-name <account-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the Batch account name"
                    },
                    {
                      "flags": "-k, --account-key <account-key>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the Batch account key"
                    },
                    {
                      "flags": "-u, --account-endpoint <account-endpoint>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--account-endpoint",
                      "description": "the Batch account URL"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "subscription": {
          "name": "subscription",
          "description": "Commands to manage Batch options at the subscription level",
          "fullName": "batch subscription",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list-quotas",
              "description": "List the subscription level Batch quotas in the specified region",
              "fullName": "batch subscription list-quotas",
              "usage": "[options] <location>",
              "filePath": "commands/batch/batch.subscription.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            }
          ],
          "categories": {}
        },
        "task": {
          "name": "task",
          "description": "Commands to manage your Batch tasks",
          "fullName": "batch task",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a Batch task",
              "fullName": "batch task create",
              "usage": "[options] [jobId] [json-file]",
              "filePath": "commands/batch/batch.task.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <jobId>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the id of the job to which the task is to be added"
                },
                {
                  "flags": "-f, --json-file <json-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--json-file",
                  "description": "the file containing either a single task object or an array of task objects in JSON format, if this parameter is specified, --id and --command-line parameters are ignored"
                },
                {
                  "flags": "-i, --id <taskId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch task id"
                },
                {
                  "flags": "-c, --command-line <command-line>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--command-line",
                  "description": "the command line of the task"
                },
                {
                  "flags": "--affinity-id <affinity-id>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--affinity-id",
                  "description": "the opaque string representing the location of compute node or a task that has run previously"
                },
                {
                  "flags": "--max-wall-clock-time <max-wall-clock-time>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-wall-clock-time",
                  "description": "the maximum elapsed time that the task may run, measured from the time the task starts, in ISO 8601 duration formation"
                },
                {
                  "flags": "--max-task-retry-count <max-task-retry-count>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-task-retry-count",
                  "description": "the maximum number of times the task may be retried"
                },
                {
                  "flags": "--retention-time <retention-time>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--retention-time",
                  "description": "the time in which the working directory for the task is retained, in ISO 8601 duration formation"
                },
                {
                  "flags": "-e, --environment-settings <environment-settings>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--environment-settings",
                  "description": "the semicolon separated list of environment variable settings for the task, ex: name1=value1;name2=value2"
                },
                {
                  "flags": "-r, --resources-files <resources-files>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--resources-files",
                  "description": "the semicolon separated list of files that Batch will download to the compute node before running the command line, ex: blob1=file1;blob2=file2"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "list",
              "description": "List Batch tasks under a job",
              "fullName": "batch task list",
              "usage": "[options] [jobId]",
              "filePath": "commands/batch/batch.task.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <jobId>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the id of the job from which you want to get a list of tasks"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--filter-clause <filter-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--filter-clause",
                  "description": "an OData expression by which the results will be filtered"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show information on the specified Batch task",
              "fullName": "batch task show",
              "usage": "[options] [jobId] [taskId]",
              "filePath": "commands/batch/batch.task.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <jobId>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the Batch job id"
                },
                {
                  "flags": "-i, --id <taskId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch task id"
                },
                {
                  "flags": "--subtasks",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--subtasks",
                  "description": "display information about the subtasks of a multi-instance task"
                },
                {
                  "flags": "--select-clause <select-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--select-clause",
                  "description": "list of a subset of properties to select"
                },
                {
                  "flags": "--expand-clause <expand-clause>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--expand-clause",
                  "description": "list of related entites by which the results can be expanded"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified Batch task",
              "fullName": "batch task delete",
              "usage": "[options] [jobId] [taskId]",
              "filePath": "commands/batch/batch.task.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <jobId>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the Batch job id"
                },
                {
                  "flags": "-i, --id <taskId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch task id"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified Batch task without confirmation"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "set",
              "description": "Update the properties of the specified Batch task",
              "fullName": "batch task set",
              "usage": "[options] [jobId] [taskId]",
              "filePath": "commands/batch/batch.task.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <jobId>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the Batch job id"
                },
                {
                  "flags": "-i, --id <taskId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch task id"
                },
                {
                  "flags": "--max-wall-clock-time <max-wall-clock-time>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-wall-clock-time",
                  "description": "the maximum elapsed time that the task may run, measured from the time the task starts, in ISO 8601 duration formation"
                },
                {
                  "flags": "--max-task-retry-count <max-task-retry-count>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "long": "--max-task-retry-count",
                  "description": "the maximum number of times the task may be retried"
                },
                {
                  "flags": "--retention-time <retention-time>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--retention-time",
                  "description": "the time in which the working directory for the task is retained, in ISO 8601 duration formation"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            },
            {
              "name": "stop",
              "description": "Terminate the specified Batch task",
              "fullName": "batch task stop",
              "usage": "[options] [jobId] [taskId]",
              "filePath": "commands/batch/batch.task.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-j, --job-id <jobId>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--job-id",
                  "description": "the Batch job id"
                },
                {
                  "flags": "-i, --id <taskId>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--id",
                  "description": "the Batch task id"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "terminate the specified Batch task without confirmation"
                },
                {
                  "flags": "--if-match <if-match>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-match",
                  "description": "only perform if resource's ETag is an exact match to the specified value"
                },
                {
                  "flags": "--if-none-match <if-none-match>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-none-match",
                  "description": "only perform if resource's ETag does not match the specified value"
                },
                {
                  "flags": "--if-modified-since <if-modified-since>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-modified-since",
                  "description": "only perform if the resource has been modified since the specified time"
                },
                {
                  "flags": "--if-unmodified-since <if-unmodified-since>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--if-unmodified-since",
                  "description": "only perform if the resource has not been modified since the specified time"
                },
                {
                  "flags": "-a, --account-name <account-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the Batch account name"
                },
                {
                  "flags": "-k, --account-key <account-key>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the Batch account key"
                },
                {
                  "flags": "-u, --account-endpoint <account-endpoint>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--account-endpoint",
                  "description": "the Batch account URL"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "config": {
      "name": "config",
      "description": "Commands to manage your local settings",
      "fullName": "config",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "List config settings",
          "fullName": "config list",
          "usage": "[options]",
          "filePath": "commands/config.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Delete a config setting",
          "fullName": "config delete",
          "usage": "[options] <name>",
          "filePath": "commands/config.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            }
          ]
        },
        {
          "name": "set",
          "description": "Update a config setting",
          "fullName": "config set",
          "usage": "<name> <value>",
          "filePath": "commands/config.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            }
          ]
        },
        {
          "name": "mode",
          "description": "Sets the cli working mode, valid names are 'arm' for resource manager and 'asm' for service management",
          "fullName": "config mode",
          "usage": "[options] <name>",
          "filePath": "commands/config.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            }
          ]
        }
      ],
      "categories": {}
    },
    "storage": {
      "name": "storage",
      "description": "Commands to manage your Storage objects",
      "fullName": "storage",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "account": {
          "name": "account",
          "description": "Commands to manage your Storage accounts",
          "fullName": "storage account",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List storage accounts",
              "fullName": "storage account list",
              "usage": "[options]",
              "filePath": "commands/storage/storage.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resourceGroup>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show a storage account",
              "fullName": "storage account show",
              "usage": "[options] <name>",
              "filePath": "commands/storage/storage.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resourceGroup>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "create",
              "description": "Create a storage account",
              "fullName": "storage account create",
              "usage": "[options] <name>",
              "filePath": "commands/storage/storage.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--sku-name <skuName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--sku-name",
                  "description": "the SKU name (LRS/ZRS/GRS/RAGRS/PLRS)"
                },
                {
                  "flags": "--kind <kind>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--kind",
                  "description": "the account kind (Storage/BlobStorage)"
                },
                {
                  "flags": "--access-tier <accessTier>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--access-tier",
                  "description": "the access tier for Blob storage accounts (Hot/Cool)"
                },
                {
                  "flags": "--enable-encryption-service <enableEncryptionService>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "long": "--enable-encryption-service",
                  "description": "specifies the service which needs to enable encryption settings"
                },
                {
                  "flags": "--custom-domain <customDomain>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--custom-domain",
                  "description": "the custom domain"
                },
                {
                  "flags": "--subdomain",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--subdomain",
                  "description": "whether uses the 'asverify' subdomain to preregister the custom domain"
                },
                {
                  "flags": "--tags <tags>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--tags",
                  "description": "the account tags. Tags are key=value pairs and separated with semicolon(;)"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-g, --resource-group <resourceGroup>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "set",
              "description": "Update a storage account",
              "fullName": "storage account set",
              "usage": "[options] <name>",
              "filePath": "commands/storage/storage.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--sku-name <skuName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--sku-name",
                  "description": "the SKU name (LRS/GRS/RAGRS)"
                },
                {
                  "flags": "--access-tier <accessTier>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--access-tier",
                  "description": "the access tier for Blob storage accounts (Hot/Cool)"
                },
                {
                  "flags": "--enable-encryption-service <enableEncryptionService>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "long": "--enable-encryption-service",
                  "description": "specifies the service which needs to enable encryption settings"
                },
                {
                  "flags": "--disable-encryption-service <disableEncryptionService>",
                  "required": -30,
                  "optional": 0,
                  "bool": true,
                  "long": "--disable-encryption-service",
                  "description": "specifies the service which needs to disable encryption settings"
                },
                {
                  "flags": "--custom-domain <customDomain>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--custom-domain",
                  "description": "the custom domain"
                },
                {
                  "flags": "--subdomain",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--subdomain",
                  "description": "whether uses the 'asverify' subdomain to preregister the custom domain"
                },
                {
                  "flags": "--tags <tags>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--tags",
                  "description": "the account tags. Tags are key=value pairs and separated with semicolon(;)"
                },
                {
                  "flags": "-g, --resource-group <resourceGroup>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a storage account",
              "fullName": "storage account delete",
              "usage": "[options] <name>",
              "filePath": "commands/storage/storage.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resourceGroup>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                }
              ]
            },
            {
              "name": "check",
              "description": "Check whether the account name is valid and is not in use.",
              "fullName": "storage account check",
              "usage": "[options] <name>",
              "filePath": "commands/storage/storage.account.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                }
              ]
            }
          ],
          "categories": {
            "sas": {
              "name": "sas",
              "description": "Commands to manage shared access signatures of your storage account",
              "fullName": "storage account sas",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Generate shared access signature of storage account",
                  "fullName": "storage account sas create",
                  "usage": "[options] [services] [resourceTypes] [permissions] [expiry]",
                  "filePath": "commands/storage/storage.account.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--services <services>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--services",
                      "description": "the storage services accessible with the account SAS combining symbols of b(Blob)/f(File)/q(Queue)/t(Table)"
                    },
                    {
                      "flags": "--resource-types <resourceTypes>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--resource-types",
                      "description": "the storage resource types accessible with the account SAS combining symbols of s(Service)/c(Container/o(Object)"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)/l(List)/a(Add)/c(Create)/u(Update)/p(Process)"
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "the protocol permitted for a request made with the SAS. Possible values are HttpsOnly and HttpsOrHttp"
                    },
                    {
                      "flags": "--ip-range <ipRange>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-range",
                      "description": "an IP address or a range of IP addresses from which to accept requests. When specifying a range of IP addresses, note that the range is inclusive. For example, specifying 168.1.5.65 or 168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses."
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the SAS becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the SAS expires"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "keys": {
              "name": "keys",
              "description": "Commands to manage your Storage account keys",
              "fullName": "storage account keys",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List the keys for a storage account",
                  "fullName": "storage account keys list",
                  "usage": "[options] <name>",
                  "filePath": "commands/storage/storage.account.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resourceGroup>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                },
                {
                  "name": "renew",
                  "description": "Renew a key for a storage account from your account",
                  "fullName": "storage account keys renew",
                  "usage": "[options] <name>",
                  "filePath": "commands/storage/storage.account.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--primary",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--primary",
                      "description": "Update the primary key"
                    },
                    {
                      "flags": "--secondary",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--secondary",
                      "description": "Update the secondary key"
                    },
                    {
                      "flags": "-g, --resource-group <resourceGroup>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "usage": {
              "name": "usage",
              "description": "Commands to manage your Storage accounts usage",
              "fullName": "storage account usage",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "show",
                  "description": "Show the current count and the limit of the storage accounts under the subscription.",
                  "fullName": "storage account usage show",
                  "usage": "[options] [subscription]",
                  "filePath": "commands/storage/storage.account.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "connectionstring": {
              "name": "connectionstring",
              "description": "Commands to show your Storage connection string",
              "fullName": "storage account connectionstring",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "show",
                  "description": "Show the connection string for your account",
                  "fullName": "storage account connectionstring show",
                  "usage": "[options] <name>",
                  "filePath": "commands/storage/storage.account.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resourceGroup>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group name"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription id"
                    },
                    {
                      "flags": "--use-http",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--use-http",
                      "description": "Use http as default endpoints protocol"
                    },
                    {
                      "flags": "--blob-endpoint <blobEndpoint>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--blob-endpoint",
                      "description": "the blob endpoint"
                    },
                    {
                      "flags": "--queue-endpoint <queueEndpoint>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--queue-endpoint",
                      "description": "the queue endpoint"
                    },
                    {
                      "flags": "--table-endpoint <tableEndpoint>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--table-endpoint",
                      "description": "the table endpoint"
                    },
                    {
                      "flags": "--file-endpoint <fileEndpoint>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--file-endpoint",
                      "description": "the file endpoint"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "container": {
          "name": "container",
          "description": "Commands to manage your storage containers",
          "fullName": "storage container",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List storage containers with wildcard",
              "fullName": "storage container list",
              "usage": "[options] [prefix]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --prefix <prefix>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--prefix",
                  "description": "the storage container name prefix"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show details of the specified storage container",
              "fullName": "storage container show",
              "usage": "[options] [container]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "--lease <leaseId>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--lease",
                  "description": "the lease ID"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "create",
              "description": "Create a storage container",
              "fullName": "storage container create",
              "usage": "[options] [container]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "-p, --permission <permission>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--permission",
                  "description": "the storage container ACL permission(Off/Blob/Container)"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified storage container",
              "fullName": "storage container delete",
              "usage": "[options] [container]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "--lease <leaseId>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--lease",
                  "description": "the lease ID"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified storage container without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set storage container ACL",
              "fullName": "storage container set",
              "usage": "[options] [container]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "--lease <leaseId>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--lease",
                  "description": "the lease ID"
                },
                {
                  "flags": "-p, --permission <permission>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--permission",
                  "description": "the storage container ACL permission(Off/Blob/Container)"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {
            "lease": {
              "name": "lease",
              "description": "Commands to manage leases of your storage container",
              "fullName": "storage container lease",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "acquire",
                  "description": "Acquire a new lease against your storage container",
                  "fullName": "storage container lease acquire",
                  "usage": "[options] [container] [duration] [proposedId]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--duration <duration>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--duration",
                      "description": "the lease duration in seconds (15-60) or not specify for a lease that never expires"
                    },
                    {
                      "flags": "--proposed-id <proposedId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--proposed-id",
                      "description": "the proposed lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "renew",
                  "description": "Renew an existing lease against your storage container",
                  "fullName": "storage container lease renew",
                  "usage": "[options] [container] [lease]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the existing lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "change",
                  "description": "Change an existing lease against your storage container",
                  "fullName": "storage container lease change",
                  "usage": "[options] [container] [lease] [proposedId]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the existing lease ID"
                    },
                    {
                      "flags": "--proposed-id <proposedId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--proposed-id",
                      "description": "the proposed lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "release",
                  "description": "Release an existing lease against your storage container",
                  "fullName": "storage container lease release",
                  "usage": "[options] [container] [lease]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the existing lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "break",
                  "description": "Break an existing lease against your storage container",
                  "fullName": "storage container lease break",
                  "usage": "[options] [container] [duration]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--duration <duration>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--duration",
                      "description": "the proposed duration the lease should continue before it is broken in seconds (0-60)"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "sas": {
              "name": "sas",
              "description": "Commands to manage shared access signatures of your storage container",
              "fullName": "storage container sas",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Generate shared access signature of storage container",
                  "fullName": "storage container sas create",
                  "usage": "[options] [container] [permissions] [expiry]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)/l(List)"
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "the protocol permitted for a request made with the SAS. Possible values are HttpsOnly and HttpsOrHttp"
                    },
                    {
                      "flags": "--ip-range <ipRange>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-range",
                      "description": "an IP address or a range of IP addresses from which to accept requests. When specifying a range of IP addresses, note that the range is inclusive. For example, specifying 168.1.5.65 or 168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses."
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the SAS becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the SAS expires"
                    },
                    {
                      "flags": "--policy <policy>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--policy",
                      "description": "the stored access policy identifier"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "policy": {
              "name": "policy",
              "description": "Commands to manage stored access policies of your storage container",
              "fullName": "storage container policy",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a stored access policy on the container",
                  "fullName": "storage container policy create",
                  "usage": "[options] [container] [name]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the lease ID"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)/l(List)"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show a stored access policy on the container",
                  "fullName": "storage container policy show",
                  "usage": "[options] [container] [name]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the lease ID"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "List stored access policies on the container",
                  "fullName": "storage container policy list",
                  "usage": "[options] [container]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the lease ID"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a stored access policy on the container",
                  "fullName": "storage container policy set",
                  "usage": "[options] [container] [name]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the lease ID"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)/l(List) and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a stored access policy on the container",
                  "fullName": "storage container policy delete",
                  "usage": "[options] [container] [name]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the lease ID"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "blob": {
          "name": "blob",
          "description": "Commands to manage your storage blobs",
          "fullName": "storage blob",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List storage blob in the specified storage container use wildcard and blob name prefix",
              "fullName": "storage blob list",
              "usage": "[options] [container] [prefix]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "-p, --prefix <prefix>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--prefix",
                  "description": "the blob name prefix"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show details of the specified storage blob",
              "fullName": "storage blob show",
              "usage": "[options] [container] [blob]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "-b, --blob <blobName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--blob",
                  "description": "the storage blob name"
                },
                {
                  "flags": "--lease <leaseId>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--lease",
                  "description": "the lease ID"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified storage blob",
              "fullName": "storage blob delete",
              "usage": "[options] [container] [blob]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "-b, --blob <blobName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--blob",
                  "description": "the storage blob name"
                },
                {
                  "flags": "--snapshot <snapshotId>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--snapshot",
                  "description": "the snapshot ID"
                },
                {
                  "flags": "--lease <leaseId>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--lease",
                  "description": "the lease ID"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature"
                },
                {
                  "flags": "--delete-snapshots <deleteSnapshots>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--delete-snapshots",
                  "description": "'include' to delete the base blob and all of its snapshots. 'only' to delete only the blob's snapshots and not the blob itself"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified storage blob without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "upload",
              "description": "Upload the specified file to storage blob",
              "fullName": "storage blob upload",
              "usage": "[options] [file] [container] [blob]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-f, --file <file>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--file",
                  "description": "the local file path"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "-b, --blob <blobName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--blob",
                  "description": "the storage blob name"
                },
                {
                  "flags": "-t, --blobtype <blobtype>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--blobtype",
                  "description": "the storage blob type(block, page, append)"
                },
                {
                  "flags": "-p, --properties <properties>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--properties",
                  "description": "the storage blob properties for uploaded file. Properties are key=value pairs and separated with semicolon(;). Available properties are contentType, contentEncoding, contentLanguage, cacheControl"
                },
                {
                  "flags": "-m, --metadata <metadata>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--metadata",
                  "description": "the storage blob metadata for uploaded file. Metadata are key=value pairs and separated with semicolon(;)"
                },
                {
                  "flags": "--concurrenttaskcount <concurrenttaskcount>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--concurrenttaskcount",
                  "description": "the maximum number of concurrent upload requests"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "overwrite the specified storage blob without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "download",
              "description": "Download the specified storage blob",
              "fullName": "storage blob download",
              "usage": "[options] [container] [blob] [destination]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "-b, --blob <blobName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--blob",
                  "description": "the storage blob name"
                },
                {
                  "flags": "--lease <leaseId>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--lease",
                  "description": "the lease ID"
                },
                {
                  "flags": "-d, --destination [destination]",
                  "required": 0,
                  "optional": -19,
                  "bool": true,
                  "short": "-d",
                  "long": "--destination",
                  "description": "download destination file or directory path"
                },
                {
                  "flags": "-m, --checkmd5",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--checkmd5",
                  "description": "check md5sum for the downloaded file"
                },
                {
                  "flags": "--concurrenttaskcount <concurrenttaskcount>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--concurrenttaskcount",
                  "description": "the maximum number of concurrent download requests"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "overwrite the destination file without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "snapshot",
              "description": "Creates a read-only snapshot of the blob",
              "fullName": "storage blob snapshot",
              "usage": "[options] [container] [blob]",
              "filePath": "commands/storage/storage.blob.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--container <container>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--container",
                  "description": "the storage container name"
                },
                {
                  "flags": "-b, --blob <blobName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--blob",
                  "description": "the storage blob name"
                },
                {
                  "flags": "--lease <leaseId>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--lease",
                  "description": "the lease ID"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {
            "lease": {
              "name": "lease",
              "description": "Commands to manage leases of your storage blob",
              "fullName": "storage blob lease",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "acquire",
                  "description": "Acquire a new lease against your storage blob",
                  "fullName": "storage blob lease acquire",
                  "usage": "[options] [container] [blob] [duration] [proposedId]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "-b, --blob <blobName>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--blob",
                      "description": "the storage blob name"
                    },
                    {
                      "flags": "--duration <duration>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--duration",
                      "description": "the lease duration in seconds (15-60) or negative one (-1) for a lease that never expires"
                    },
                    {
                      "flags": "--proposed-id <proposedId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--proposed-id",
                      "description": "the proposed lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "renew",
                  "description": "Renew an existing lease against your storage blob",
                  "fullName": "storage blob lease renew",
                  "usage": "[options] [container] [blob] [lease]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "-b, --blob <blobName>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--blob",
                      "description": "the storage blob name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the existing lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "change",
                  "description": "Change an existing lease against your storage blob",
                  "fullName": "storage blob lease change",
                  "usage": "[options] [container] [blob] [lease] [proposedId]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "-b, --blob <blobName>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--blob",
                      "description": "the storage blob name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the existing lease ID"
                    },
                    {
                      "flags": "--proposed-id <proposedId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--proposed-id",
                      "description": "the proposed lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "release",
                  "description": "Release an existing lease against your storage blob",
                  "fullName": "storage blob lease release",
                  "usage": "[options] [container] [blob] [lease]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "-b, --blob <blobName>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--blob",
                      "description": "the storage blob name"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the existing lease ID"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "break",
                  "description": "Break an existing lease against your storage blob",
                  "fullName": "storage blob lease break",
                  "usage": "[options] [container] [blob] [duration]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "-b, --blob <blobName>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--blob",
                      "description": "the storage blob name"
                    },
                    {
                      "flags": "--duration <duration>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--duration",
                      "description": "the proposed duration the lease should continue before it is broken in seconds (0-60)"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "copy": {
              "name": "copy",
              "description": "Commands to manage your blob copy operations",
              "fullName": "storage blob copy",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "start",
                  "description": "Start to copy the resource to the specified storage blob which completes asynchronously",
                  "fullName": "storage blob copy start",
                  "usage": "[options] [sourceUri] [destContainer]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--source-sas <sourceSas>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-sas",
                      "description": "the shared access signature of the source storage"
                    },
                    {
                      "flags": "--source-uri <sourceUri>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-uri",
                      "description": "the source storage blob or file absolute uri"
                    },
                    {
                      "flags": "--source-container <sourceContainer>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-container",
                      "description": "the source storage container name when copies a blob to a blob"
                    },
                    {
                      "flags": "--source-blob <sourceBlob>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-blob",
                      "description": "the source storage blob name when copies a blob to a blob"
                    },
                    {
                      "flags": "--snapshot <snapshot>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--snapshot",
                      "description": "the snapshot id if source is a snapshot"
                    },
                    {
                      "flags": "--source-lease <sourceLeaseId>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-lease",
                      "description": "the lease ID of the source blob "
                    },
                    {
                      "flags": "--source-share <sourceShare>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-share",
                      "description": "the source storage share name when copies a file to a blob"
                    },
                    {
                      "flags": "--source-path <sourcePath>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-path",
                      "description": "the source storage file path when copies a file to a blob"
                    },
                    {
                      "flags": "--dest-account-name <destAccountName>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-account-name",
                      "description": "the destination storage account name"
                    },
                    {
                      "flags": "--dest-account-key <destAccountKey>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-account-key",
                      "description": "the destination storage account key"
                    },
                    {
                      "flags": "--dest-connection-string <destConnectionString>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-connection-string",
                      "description": "the destination storage connection string"
                    },
                    {
                      "flags": "--dest-sas <destSas>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-sas",
                      "description": "the shared access signature of the destination storage container or blob"
                    },
                    {
                      "flags": "--dest-container <destContainer>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-container",
                      "description": "the destination storage container name"
                    },
                    {
                      "flags": "--dest-blob <destBlob>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-blob",
                      "description": "the destination storage blob name"
                    },
                    {
                      "flags": "--dest-lease <destLeaseId>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-lease",
                      "description": "the lease ID of the destination blob "
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "overwrite the destination blob without confirmation"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show the copy status",
                  "fullName": "storage blob copy show",
                  "usage": "[options] [container] [blob]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the destination container in the blob copy start operation"
                    },
                    {
                      "flags": "--blob <blob>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--blob",
                      "description": "the destination blob in the blob copy start operation"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the lease ID of the destination blob "
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature of the destination storage container or blob"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "stop",
                  "description": "Stop the copy operation",
                  "fullName": "storage blob copy stop",
                  "usage": "[options] [container] [blob] [copyid]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the destination container in the blob copy start operation"
                    },
                    {
                      "flags": "--blob <blob>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--blob",
                      "description": "the destination blob in the blob copy start operation"
                    },
                    {
                      "flags": "--lease <leaseId>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--lease",
                      "description": "the lease ID of the destination blob "
                    },
                    {
                      "flags": "--copyid <copyid>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--copyid",
                      "description": "the copy ID which is returned from blob copy start operation"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "sas": {
              "name": "sas",
              "description": "Commands to manage shared access signature of your storage blob",
              "fullName": "storage blob sas",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Generate shared access signature of storage blob",
                  "fullName": "storage blob sas create",
                  "usage": "[options] [container] [blob] [permissions] [expiry]",
                  "filePath": "commands/storage/storage.blob.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--container <container>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--container",
                      "description": "the storage container name"
                    },
                    {
                      "flags": "--blob <blobName>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--blob",
                      "description": "the storage blob name"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/a(Add)/c(Create)/w(Write)/d(Delete)"
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "the protocol permitted for a request made with the SAS. Possible values are HttpsOnly and HttpsOrHttp"
                    },
                    {
                      "flags": "--ip-range <ipRange>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-range",
                      "description": "an IP address or a range of IP addresses from which to accept requests. When specifying a range of IP addresses, note that the range is inclusive. For example, specifying 168.1.5.65 or 168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses."
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the SAS becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the SAS expires"
                    },
                    {
                      "flags": "--policy <policy>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--policy",
                      "description": "the stored access policy identifier"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "share": {
          "name": "share",
          "description": "Commands to manage your Storage file shares",
          "fullName": "storage share",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a storage file share",
              "fullName": "storage share create",
              "usage": "[options] [share]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage file share name"
                },
                {
                  "flags": "--quota <quota>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--quota",
                  "description": "the storage file share quota (in GB)"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show details of the storage file share",
              "fullName": "storage share show",
              "usage": "[options] [share]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage file share name"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set properties of the storage file share",
              "fullName": "storage share set",
              "usage": "[options] [share]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage file share name"
                },
                {
                  "flags": "--quota <quota>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--quota",
                  "description": "the storage file share quota (in GB)"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified storage file share",
              "fullName": "storage share delete",
              "usage": "[options] [share]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage file share name"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified storage file share without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "list",
              "description": "List storage shares with prefix",
              "fullName": "storage share list",
              "usage": "[options] [prefix]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --prefix <prefix>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--prefix",
                  "description": "the storage share name prefix"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {
            "sas": {
              "name": "sas",
              "description": "Commands to manage shared access signatures of your Storage file shares",
              "fullName": "storage share sas",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Generate shared access signature of storage share",
                  "fullName": "storage share sas create",
                  "usage": "[options] [share] [permissions] [expiry]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the storage share name"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)/l(List)"
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "the protocol permitted for a request made with the SAS. Possible values are HttpsOnly and HttpsOrHttp"
                    },
                    {
                      "flags": "--ip-range <ipRange>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-range",
                      "description": "an IP address or a range of IP addresses from which to accept requests. When specifying a range of IP addresses, note that the range is inclusive. For example, specifying 168.1.5.65 or 168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses."
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the SAS becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the SAS expires"
                    },
                    {
                      "flags": "--policy <policy>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--policy",
                      "description": "the stored access policy identifier"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "policy": {
              "name": "policy",
              "description": "Commands to manage stored access policies of your Storage file share",
              "fullName": "storage share policy",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a stored access policy on the share",
                  "fullName": "storage share policy create",
                  "usage": "[options] [share] [name]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the storage share name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)/l(List)"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show a stored access policy on the share",
                  "fullName": "storage share policy show",
                  "usage": "[options] [share] [name]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the storage share name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "List stored access policies on the share",
                  "fullName": "storage share policy list",
                  "usage": "[options] [share]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the storage share name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a stored access policy on the share",
                  "fullName": "storage share policy set",
                  "usage": "[options] [share] [name]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the storage share name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)/l(List) and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a stored access policy on the share",
                  "fullName": "storage share policy delete",
                  "usage": "[options] [share] [name]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the storage share name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "file": {
          "name": "file",
          "description": "Commands to manage your Storage files",
          "fullName": "storage file",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List storage files in the specified share under specific path",
              "fullName": "storage file list",
              "usage": "[options] [share] [path]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage share name"
                },
                {
                  "flags": "-p, --path <path>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--path",
                  "description": "the path to be listed"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature of the storage file share"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified storage file",
              "fullName": "storage file delete",
              "usage": "[options] [share] [path]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage share name"
                },
                {
                  "flags": "-p, --path <path>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--path",
                  "description": "the path to the storage file"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified storage file without confirmation"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature of the storage file share"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "upload",
              "description": "Upload the specified local file to storage",
              "fullName": "storage file upload",
              "usage": "[options] [source] [share] [path]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-s, --source <source>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--source",
                  "description": "the local file path"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage share name"
                },
                {
                  "flags": "-p, --path <path>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--path",
                  "description": "the path to the storage file"
                },
                {
                  "flags": "--concurrenttaskcount <concurrenttaskcount>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--concurrenttaskcount",
                  "description": "the maximum number of concurrent upload requests"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "overwrite the specified storage file without confirmation"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature of the storage file share"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "download",
              "description": "Download the specified storage file",
              "fullName": "storage file download",
              "usage": "[options] [share] [path] [destination]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage share name"
                },
                {
                  "flags": "-p, --path <path>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--path",
                  "description": "the path to the storage file"
                },
                {
                  "flags": "-d, --destination <destination>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--destination",
                  "description": "path to the destination file or directory"
                },
                {
                  "flags": "-m, --checkmd5",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--checkmd5",
                  "description": "check md5sum for the downloaded file"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "overwrite the destination file without confirmation"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature of the storage file share"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {
            "copy": {
              "name": "copy",
              "description": "Commands to manage your file copy operations",
              "fullName": "storage file copy",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "start",
                  "description": "Start to copy the resource to the specified storage file which completes asynchronously",
                  "fullName": "storage file copy start",
                  "usage": "[options] [sourceUri] [destShare]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--source-sas <sourceSas>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-sas",
                      "description": "the shared access signature of the source storage"
                    },
                    {
                      "flags": "--source-uri <sourceUri>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-uri",
                      "description": "the source storage blob or file absolute uri"
                    },
                    {
                      "flags": "--source-share <sourceShare>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-share",
                      "description": "the source storage share name when copies a file to a blob"
                    },
                    {
                      "flags": "--source-path <sourcePath>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-path",
                      "description": "the source storage file path when copies a file to a blob"
                    },
                    {
                      "flags": "--source-container <sourceContainer>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-container",
                      "description": "the source storage container name when copies a blob to a blob"
                    },
                    {
                      "flags": "--source-blob <sourceBlob>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-blob",
                      "description": "the source storage blob name when copies a blob to a blob"
                    },
                    {
                      "flags": "--dest-account-name <destAccountName>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-account-name",
                      "description": "the destination storage account name"
                    },
                    {
                      "flags": "--dest-account-key <destAccountKey>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-account-key",
                      "description": "the destination storage account key"
                    },
                    {
                      "flags": "--dest-connection-string <destConnectionString>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-connection-string",
                      "description": "the destination storage connection string"
                    },
                    {
                      "flags": "--dest-sas <destSas>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-sas",
                      "description": "the shared access signature of the destination storage share or file"
                    },
                    {
                      "flags": "--dest-share <destShare>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-share",
                      "description": "the destination storage share name"
                    },
                    {
                      "flags": "--dest-path <destPath>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--dest-path",
                      "description": "the destination storage file path"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "overwrite the destination file without confirmation"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show the copy status",
                  "fullName": "storage file copy show",
                  "usage": "[options] [share] [path]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the destination share in the file copy start operation"
                    },
                    {
                      "flags": "--path <path>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--path",
                      "description": "the destination file path in the file copy start operation"
                    },
                    {
                      "flags": "--sas <sas>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sas",
                      "description": "the shared access signature of the destination storage share or file"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "stop",
                  "description": "Stop the copy operation",
                  "fullName": "storage file copy stop",
                  "usage": "[options] [share] [path] [copyid]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the destination share in the file copy start operation"
                    },
                    {
                      "flags": "--path <path>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--path",
                      "description": "the destination file path in the file copy start operation"
                    },
                    {
                      "flags": "--copyid <copyid>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--copyid",
                      "description": "the copy ID which is returned from file copy start operation"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "sas": {
              "name": "sas",
              "description": "Commands to manage shared access signatures of your Storage file",
              "fullName": "storage file sas",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Generate shared access signature of storage file",
                  "fullName": "storage file sas create",
                  "usage": "[options] [share] [path] [permissions] [expiry]",
                  "filePath": "commands/storage/storage.file.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--share <share>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--share",
                      "description": "the storage share name"
                    },
                    {
                      "flags": "-p, --path <path>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the path to the storage file"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/w(Write)/d(Delete)"
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "the protocol permitted for a request made with the SAS. Possible values are HttpsOnly and HttpsOrHttp"
                    },
                    {
                      "flags": "--ip-range <ipRange>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-range",
                      "description": "an IP address or a range of IP addresses from which to accept requests. When specifying a range of IP addresses, note that the range is inclusive. For example, specifying 168.1.5.65 or 168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses."
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the SAS becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the SAS expires"
                    },
                    {
                      "flags": "--policy <policy>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--policy",
                      "description": "the stored access policy identifier"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "directory": {
          "name": "directory",
          "description": "Commands to manage your Storage file directory",
          "fullName": "storage directory",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a storage file directory",
              "fullName": "storage directory create",
              "usage": "[options] [share] [path]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage file share name"
                },
                {
                  "flags": "-p, --path <path>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--path",
                  "description": "the path to the storage file directory to be created"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature of the storage file share"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified storage file directory",
              "fullName": "storage directory delete",
              "usage": "[options] [share] [path]",
              "filePath": "commands/storage/storage.file.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--share <share>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--share",
                  "description": "the storage share name"
                },
                {
                  "flags": "-p, --path <path>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--path",
                  "description": "the path to the storage file directory to be deleted"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified storage file directory without confirmation"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature of the storage file share"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {}
        },
        "queue": {
          "name": "queue",
          "description": "Commands to manage your Storage queues",
          "fullName": "storage queue",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a storage queue",
              "fullName": "storage queue create",
              "usage": "[options] [queue]",
              "filePath": "commands/storage/storage.queue.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--queue <queue>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "the storage queue name"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "list",
              "description": "List storage queues with wildcard",
              "fullName": "storage queue list",
              "usage": "[options] [prefix]",
              "filePath": "commands/storage/storage.queue.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --prefix <prefix>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--prefix",
                  "description": "the storage queue name prefix"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show details of the storage able",
              "fullName": "storage queue show",
              "usage": "[options] [queue]",
              "filePath": "commands/storage/storage.queue.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--queue <queue>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "the storage queue name"
                },
                {
                  "flags": "--sas <sas>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--sas",
                  "description": "the shared access signature of the storage queue"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified storage queue",
              "fullName": "storage queue delete",
              "usage": "[options] [queue]",
              "filePath": "commands/storage/storage.queue.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--queue <queue>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "the storage queue name"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified storage queue without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {
            "sas": {
              "name": "sas",
              "description": "Commands to manage shared access signatures of your Storage queue",
              "fullName": "storage queue sas",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Generate shared access signature of storage queue",
                  "fullName": "storage queue sas create",
                  "usage": "[options] [queue] [permissions] [expiry]",
                  "filePath": "commands/storage/storage.queue.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--queue <queue>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--queue",
                      "description": "the storage queue name"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/a(Add)/u(Update)/p(Process)"
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "the protocol permitted for a request made with the SAS. Possible values are HttpsOnly and HttpsOrHttp"
                    },
                    {
                      "flags": "--ip-range <ipRange>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-range",
                      "description": "an IP address or a range of IP addresses from which to accept requests. When specifying a range of IP addresses, note that the range is inclusive. For example, specifying 168.1.5.65 or 168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses."
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the SAS becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the SAS expires"
                    },
                    {
                      "flags": "--policy <policy>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--policy",
                      "description": "the stored access policy identifier"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "policy": {
              "name": "policy",
              "description": "Commands to manage stored access policies of your Storage queue",
              "fullName": "storage queue policy",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a stored access policy on the queue",
                  "fullName": "storage queue policy create",
                  "usage": "[options] [queue] [name]",
                  "filePath": "commands/storage/storage.queue.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--queue <queue>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--queue",
                      "description": "the storage queue name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/a(Add)/u(Update)/p(Process)"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show a stored access policy on the queue",
                  "fullName": "storage queue policy show",
                  "usage": "[options] [queue] [name]",
                  "filePath": "commands/storage/storage.queue.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--queue <queue>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--queue",
                      "description": "the storage queue name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "List stored access policies on the queue",
                  "fullName": "storage queue policy list",
                  "usage": "[options] [queue]",
                  "filePath": "commands/storage/storage.queue.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--queue <queue>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--queue",
                      "description": "the storage queue name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a stored access policy on the queue",
                  "fullName": "storage queue policy set",
                  "usage": "[options] [queue] [name]",
                  "filePath": "commands/storage/storage.queue.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--queue <queue>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--queue",
                      "description": "the storage queue name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Read)/a(Add)/u(Update)/p(Process) and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a stored access policy on the queue",
                  "fullName": "storage queue policy delete",
                  "usage": "[options] [queue] [name]",
                  "filePath": "commands/storage/storage.queue.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--queue <queue>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--queue",
                      "description": "the storage queue name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "logging": {
          "name": "logging",
          "description": "Commands to manage your Storage logging properties",
          "fullName": "storage logging",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "show",
              "description": "Show the logging properties of the storage services ",
              "fullName": "storage logging show",
              "usage": "[options]",
              "filePath": "commands/storage/storage.service.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--blob",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--blob",
                  "description": "show logging properties for blob service"
                },
                {
                  "flags": "--table",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "show logging properties for table service"
                },
                {
                  "flags": "--queue",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "show logging properties for queue service"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set the logging properties of the storage service",
              "fullName": "storage logging set",
              "usage": "[options]",
              "filePath": "commands/storage/storage.service.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--blob",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--blob",
                  "description": "set logging properties for blob service"
                },
                {
                  "flags": "--table",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "set logging properties for table service"
                },
                {
                  "flags": "--queue",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "set logging properties for queue service"
                },
                {
                  "flags": "--version <version>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--version",
                  "description": "the version string"
                },
                {
                  "flags": "--retention <retention>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--retention",
                  "description": "set logging retention in days"
                },
                {
                  "flags": "--read",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--read",
                  "description": "enable logging for read requests"
                },
                {
                  "flags": "--read-off",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--read-off",
                  "description": "disable logging for read requests"
                },
                {
                  "flags": "--write",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--write",
                  "description": "enable logging for write requests"
                },
                {
                  "flags": "--write-off",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--write-off",
                  "description": "disable logging for write requests"
                },
                {
                  "flags": "--delete",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--delete",
                  "description": "enable logging for delete requests"
                },
                {
                  "flags": "--delete-off",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--delete-off",
                  "description": "disable logging for delete requests"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {}
        },
        "metrics": {
          "name": "metrics",
          "description": "Commands to manage your Storage metrics properties",
          "fullName": "storage metrics",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "show",
              "description": "Show the metrics properties of the storage services ",
              "fullName": "storage metrics show",
              "usage": "[options]",
              "filePath": "commands/storage/storage.service.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--blob",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--blob",
                  "description": "show metrics properties for blob service"
                },
                {
                  "flags": "--table",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "show metrics properties for table service"
                },
                {
                  "flags": "--queue",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "show metrics properties for queue service"
                },
                {
                  "flags": "--file",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--file",
                  "description": "show metrics properties for file service"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set the metrics properties of the storage service",
              "fullName": "storage metrics set",
              "usage": "[options]",
              "filePath": "commands/storage/storage.service.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--blob",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--blob",
                  "description": "set metrics properties for blob service"
                },
                {
                  "flags": "--table",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "set metrics properties for table service"
                },
                {
                  "flags": "--queue",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "set metrics properties for queue service"
                },
                {
                  "flags": "--file",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--file",
                  "description": "set metrics properties for file service"
                },
                {
                  "flags": "--version <version>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--version",
                  "description": "the version string"
                },
                {
                  "flags": "--retention <retention>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--retention",
                  "description": "set metrics retention in days"
                },
                {
                  "flags": "--hour",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--hour",
                  "description": "set hourly metrics properties"
                },
                {
                  "flags": "--hour-off",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--hour-off",
                  "description": "turn off hourly metrics properties"
                },
                {
                  "flags": "--minute",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--minute",
                  "description": "set minute metrics properties"
                },
                {
                  "flags": "--minute-off",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--minute-off",
                  "description": "turn off minute metrics properties"
                },
                {
                  "flags": "--api",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--api",
                  "description": "include API in metrics "
                },
                {
                  "flags": "--api-off",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--api-off",
                  "description": "exclude API from metrics"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {}
        },
        "cors": {
          "name": "cors",
          "description": "Commands to manage your Storage CORS (Cross-Origin Resource Sharing)",
          "fullName": "storage cors",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "set",
              "description": "Set the CORS rules of the storage service",
              "fullName": "storage cors set",
              "usage": "[options]",
              "filePath": "commands/storage/storage.service.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--blob",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--blob",
                  "description": "set CORS rules for blob service"
                },
                {
                  "flags": "--table",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "set CORS rules for table service"
                },
                {
                  "flags": "--queue",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "set CORS rules for queue service"
                },
                {
                  "flags": "--file",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--file",
                  "description": "set CORS rules for file service"
                },
                {
                  "flags": "--cors <cors>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--cors",
                  "description": "the CORS rules array in json format"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show the CORS rules of the storage service",
              "fullName": "storage cors show",
              "usage": "[options]",
              "filePath": "commands/storage/storage.service.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--blob",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--blob",
                  "description": "show CORS rules for blob service"
                },
                {
                  "flags": "--table",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "show CORS rules for table service"
                },
                {
                  "flags": "--queue",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "show CORS rules for queue service"
                },
                {
                  "flags": "--file",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--file",
                  "description": "show CORS rules for file service"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete all the CORS rules of the storage service",
              "fullName": "storage cors delete",
              "usage": "[options]",
              "filePath": "commands/storage/storage.service.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--blob",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--blob",
                  "description": "delete CORS rules for blob service"
                },
                {
                  "flags": "--table",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "delete CORS rules for table service"
                },
                {
                  "flags": "--queue",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--queue",
                  "description": "delete CORS rules for queue service"
                },
                {
                  "flags": "--file",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--file",
                  "description": "delete CORS rules for file service"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "delete the CORS rules without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {}
        },
        "table": {
          "name": "table",
          "description": "Commands to manage your Storage tables",
          "fullName": "storage table",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a storage table",
              "fullName": "storage table create",
              "usage": "[options] [table]",
              "filePath": "commands/storage/storage.table.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--table <table>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "the storage table name"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "list",
              "description": "List storage tables with wildcard",
              "fullName": "storage table list",
              "usage": "[options] [prefix]",
              "filePath": "commands/storage/storage.table.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p, --prefix <prefix>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--prefix",
                  "description": "the storage table name prefix"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show details of the storage able",
              "fullName": "storage table show",
              "usage": "[options] [table]",
              "filePath": "commands/storage/storage.table.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--table <table>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "the storage table name"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the specified storage table",
              "fullName": "storage table delete",
              "usage": "[options] [table]",
              "filePath": "commands/storage/storage.table.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--table <table>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--table",
                  "description": "the storage table name"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "remove the specified storage table without confirmation"
                },
                {
                  "flags": "-a, --account-name <accountName>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-k, --account-key <accountKey>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--account-key",
                  "description": "the storage account key"
                },
                {
                  "flags": "-c, --connection-string <connectionString>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-string",
                  "description": "the storage connection string"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "run storage command in debug mode"
                }
              ]
            }
          ],
          "categories": {
            "sas": {
              "name": "sas",
              "description": "Commands to manage shared access signatures of your Storage table",
              "fullName": "storage table sas",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Generate a shared access signature of storage table",
                  "fullName": "storage table sas create",
                  "usage": "[options] [table] [permissions] [expiry]",
                  "filePath": "commands/storage/storage.table.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--table <table>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--table",
                      "description": "the storage table name"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Query)/a(Add)/u(Update)/d(Delete)"
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "the protocol permitted for a request made with the SAS. Possible values are HttpsOnly and HttpsOrHttp"
                    },
                    {
                      "flags": "--ip-range <ipRange>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-range",
                      "description": "an IP address or a range of IP addresses from which to accept requests. When specifying a range of IP addresses, note that the range is inclusive. For example, specifying 168.1.5.65 or 168.1.5.60-168.1.5.70 on the SAS restricts the request to those IP addresses."
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the SAS becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the SAS expires"
                    },
                    {
                      "flags": "--policy <policy>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--policy",
                      "description": "the stored access policy identifier"
                    },
                    {
                      "flags": "--start-pk <startPk>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--start-pk",
                      "description": "the inclusive starting partition key"
                    },
                    {
                      "flags": "--end-pk <endPk>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--end-pk",
                      "description": "the inclusive ending partition key"
                    },
                    {
                      "flags": "--start-rk <startRk>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--start-rk",
                      "description": "the inclusive starting row key"
                    },
                    {
                      "flags": "--end-rk <endRk>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--end-rk",
                      "description": "the inclusive ending row key"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "policy": {
              "name": "policy",
              "description": "Commands to manage stored access policies of your Storage table",
              "fullName": "storage table policy",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a stored access policy on the table",
                  "fullName": "storage table policy create",
                  "usage": "[options] [table] [name]",
                  "filePath": "commands/storage/storage.table.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--table <table>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--table",
                      "description": "the storage table name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Query)/a(Add)/u(Update)/d(Delete)"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show a stored access policy on the table",
                  "fullName": "storage table policy show",
                  "usage": "[options] [table] [name]",
                  "filePath": "commands/storage/storage.table.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--table <table>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--table",
                      "description": "the storage table name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "List stored access policies on the table",
                  "fullName": "storage table policy list",
                  "usage": "[options] [table]",
                  "filePath": "commands/storage/storage.table.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--table <table>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--table",
                      "description": "the storage table name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a stored access policy on the table",
                  "fullName": "storage table policy set",
                  "usage": "[options] [table] [name]",
                  "filePath": "commands/storage/storage.table.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--table <table>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--table",
                      "description": "the storage table name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "--start <start>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--start",
                      "description": "the UTC time at which the policy becomes valid and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--expiry <expiry>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--expiry",
                      "description": "the UTC time at which the policy expires and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "--permissions <permissions>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--permissions",
                      "description": "the operation permissions combining symbols of r(Query)/a(Add)/u(Update)/d(Delete) and passing two spaces means to remove the existing setting"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a stored access policy on the table",
                  "fullName": "storage table policy delete",
                  "usage": "[options] [table] [name]",
                  "filePath": "commands/storage/storage.table.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--table <table>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--table",
                      "description": "the storage table name"
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "the policy name"
                    },
                    {
                      "flags": "-a, --account-name <accountName>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--account-name",
                      "description": "the storage account name"
                    },
                    {
                      "flags": "-k, --account-key <accountKey>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--account-key",
                      "description": "the storage account key"
                    },
                    {
                      "flags": "-c, --connection-string <connectionString>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--connection-string",
                      "description": "the storage connection string"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "run storage command in debug mode"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        }
      }
    },
    "acs": {
      "name": "acs",
      "description": "Commands to manage your container service.  ",
      "fullName": "acs",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "scale",
          "description": "The operation to scale a container service.",
          "fullName": "acs scale",
          "usage": "[options] <resource-group> <name> <new-agent-count>",
          "filePath": "commands/arm/acs/acs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-o, --new-agent-count <new-agent-count>",
              "required": -23,
              "optional": 0,
              "bool": true,
              "short": "-o",
              "long": "--new-agent-count",
              "description": "New agent count"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "create",
          "description": "The operation to create or update a container service.",
          "fullName": "acs create",
          "usage": "[options] <resource-group> <name> <parameters>",
          "filePath": "commands/arm/compute/containerService.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-p, --parameters <parameters>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--parameters",
              "description": "A string of parameters in JSON format"
            },
            {
              "flags": "--parameter-file <parameter-file>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "long": "--parameter-file",
              "description": "The text file that contains input parameter object in JSON format"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "The operation to delete a container service.",
          "fullName": "acs delete",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/containerService.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "The operation to get a container service.",
          "fullName": "acs show",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/containerService.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "The operation to list container services.",
          "fullName": "acs list",
          "usage": "[options] <resource-group>",
          "filePath": "commands/arm/compute/containerService.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        }
      ],
      "categories": {
        "config": {
          "name": "config",
          "description": "Commands to manage configuration of container-service in the parameter file.",
          "fullName": "acs config",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Generate containerServiceCreateOrUpdate parameter string or files.",
              "fullName": "acs config create",
              "usage": "[options]",
              "filePath": "commands/arm/compute/containerService.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--parameter-file <parameter-file>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--parameter-file",
                  "description": "The parameter file path."
                }
              ]
            },
            {
              "name": "patch",
              "description": "Command to patch containerServiceCreateOrUpdate parameter JSON file.",
              "fullName": "acs config patch",
              "usage": "[options]",
              "filePath": "commands/arm/compute/containerService.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--parameter-file <parameter-file>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--parameter-file",
                  "description": "The parameter file path."
                },
                {
                  "flags": "--operation <operation>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--operation",
                  "description": "The JSON patch operation: add, remove, or replace."
                },
                {
                  "flags": "--path <path>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--path",
                  "description": "The JSON data path, e.g.: \"foo/1\"."
                },
                {
                  "flags": "--value <value>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--value",
                  "description": "The JSON value."
                },
                {
                  "flags": "--parse",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--parse",
                  "description": "Parse the JSON value to object."
                }
              ]
            }
          ],
          "categories": {
            "container-service": {
              "name": "container-service",
              "description": "Commands to configure container-service of acs in config file.",
              "fullName": "acs config container-service",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config container-service set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--provisioning-state <provisioningState>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "long": "--provisioning-state",
                      "description": "Set the provisioning-state value."
                    },
                    {
                      "flags": "--orchestrator-profile <orchestratorProfile>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "long": "--orchestrator-profile",
                      "description": "Set the orchestrator-profile value."
                    },
                    {
                      "flags": "--master-profile <masterProfile>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--master-profile",
                      "description": "Set the master-profile value."
                    },
                    {
                      "flags": "--agent-pool-profiles <agentPoolProfiles>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "long": "--agent-pool-profiles",
                      "description": "Set the agent-pool-profiles value."
                    },
                    {
                      "flags": "--windows-profile <windowsProfile>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "long": "--windows-profile",
                      "description": "Set the windows-profile value."
                    },
                    {
                      "flags": "--linux-profile <linuxProfile>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--linux-profile",
                      "description": "Set the linux-profile value."
                    },
                    {
                      "flags": "--diagnostics-profile <diagnosticsProfile>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "long": "--diagnostics-profile",
                      "description": "Set the diagnostics-profile value."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--type <type>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--type",
                      "description": "Set the type value."
                    },
                    {
                      "flags": "--location <location>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--location",
                      "description": "Set the location value."
                    },
                    {
                      "flags": "--tags <tags>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--tags",
                      "description": "Set the tags value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config container-service delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--provisioning-state",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--provisioning-state",
                      "description": "Remove the provisioning-state value."
                    },
                    {
                      "flags": "--orchestrator-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--orchestrator-profile",
                      "description": "Remove the orchestrator-profile value."
                    },
                    {
                      "flags": "--master-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--master-profile",
                      "description": "Remove the master-profile value."
                    },
                    {
                      "flags": "--agent-pool-profiles",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--agent-pool-profiles",
                      "description": "Remove the agent-pool-profiles value."
                    },
                    {
                      "flags": "--windows-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--windows-profile",
                      "description": "Remove the windows-profile value."
                    },
                    {
                      "flags": "--linux-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--linux-profile",
                      "description": "Remove the linux-profile value."
                    },
                    {
                      "flags": "--diagnostics-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--diagnostics-profile",
                      "description": "Remove the diagnostics-profile value."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--type",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--type",
                      "description": "Remove the type value."
                    },
                    {
                      "flags": "--location",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--location",
                      "description": "Remove the location value."
                    },
                    {
                      "flags": "--tags",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--tags",
                      "description": "Remove the tags value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "orchestrator-profile": {
              "name": "orchestrator-profile",
              "description": "Commands to configure orchestrator-profile of acs in config file.",
              "fullName": "acs config orchestrator-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config orchestrator-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--orchestrator-type <orchestratorType>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "long": "--orchestrator-type",
                      "description": "Set the orchestrator-type value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config orchestrator-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--orchestrator-type",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--orchestrator-type",
                      "description": "Remove the orchestrator-type value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "master-profile": {
              "name": "master-profile",
              "description": "Commands to configure master-profile of acs in config file.",
              "fullName": "acs config master-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config master-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--count <count>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--count",
                      "description": "Set the count value."
                    },
                    {
                      "flags": "--dns-prefix <dnsPrefix>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--dns-prefix",
                      "description": "Set the dns-prefix value."
                    },
                    {
                      "flags": "--fqdn <fqdn>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--fqdn",
                      "description": "Set the fqdn value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config master-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--count",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--count",
                      "description": "Remove the count value."
                    },
                    {
                      "flags": "--dns-prefix",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--dns-prefix",
                      "description": "Remove the dns-prefix value."
                    },
                    {
                      "flags": "--fqdn",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--fqdn",
                      "description": "Remove the fqdn value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "agent-pool-profiles": {
              "name": "agent-pool-profiles",
              "description": "Commands to configure agent-pool-profiles of acs in config file.",
              "fullName": "acs config agent-pool-profiles",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config agent-pool-profiles set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--count <count>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--count",
                      "description": "Set the count value."
                    },
                    {
                      "flags": "--vm-size <vmSize>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--vm-size",
                      "description": "Set the vm-size value."
                    },
                    {
                      "flags": "--dns-prefix <dnsPrefix>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--dns-prefix",
                      "description": "Set the dns-prefix value."
                    },
                    {
                      "flags": "--fqdn <fqdn>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--fqdn",
                      "description": "Set the fqdn value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config agent-pool-profiles delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--count",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--count",
                      "description": "Remove the count value."
                    },
                    {
                      "flags": "--vm-size",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--vm-size",
                      "description": "Remove the vm-size value."
                    },
                    {
                      "flags": "--dns-prefix",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--dns-prefix",
                      "description": "Remove the dns-prefix value."
                    },
                    {
                      "flags": "--fqdn",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--fqdn",
                      "description": "Remove the fqdn value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "windows-profile": {
              "name": "windows-profile",
              "description": "Commands to configure windows-profile of acs in config file.",
              "fullName": "acs config windows-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config windows-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--admin-username <adminUsername>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-username",
                      "description": "Set the admin-username value."
                    },
                    {
                      "flags": "--admin-password <adminPassword>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-password",
                      "description": "Set the admin-password value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config windows-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--admin-username",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-username",
                      "description": "Remove the admin-username value."
                    },
                    {
                      "flags": "--admin-password",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-password",
                      "description": "Remove the admin-password value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "linux-profile": {
              "name": "linux-profile",
              "description": "Commands to configure linux-profile of acs in config file.",
              "fullName": "acs config linux-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config linux-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--admin-username <adminUsername>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-username",
                      "description": "Set the admin-username value."
                    },
                    {
                      "flags": "--ssh <ssh>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--ssh",
                      "description": "Set the ssh value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config linux-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--admin-username",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-username",
                      "description": "Remove the admin-username value."
                    },
                    {
                      "flags": "--ssh",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--ssh",
                      "description": "Remove the ssh value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "ssh": {
              "name": "ssh",
              "description": "Commands to configure ssh of acs in config file.",
              "fullName": "acs config ssh",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config ssh set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--public-keys <publicKeys>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--public-keys",
                      "description": "Set the public-keys value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config ssh delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--public-keys",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--public-keys",
                      "description": "Remove the public-keys value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "public-keys": {
              "name": "public-keys",
              "description": "Commands to configure public-keys of acs in config file.",
              "fullName": "acs config public-keys",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config public-keys set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--key-data <keyData>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--key-data",
                      "description": "Set the key-data value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config public-keys delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--key-data",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--key-data",
                      "description": "Remove the key-data value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "diagnostics-profile": {
              "name": "diagnostics-profile",
              "description": "Commands to configure diagnostics-profile of acs in config file.",
              "fullName": "acs config diagnostics-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config diagnostics-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--vm-diagnostics <vmDiagnostics>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--vm-diagnostics",
                      "description": "Set the vm-diagnostics value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config diagnostics-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--vm-diagnostics",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--vm-diagnostics",
                      "description": "Remove the vm-diagnostics value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "vm-diagnostics": {
              "name": "vm-diagnostics",
              "description": "Commands to configure vm-diagnostics of acs in config file.",
              "fullName": "acs config vm-diagnostics",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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.",
                  "fullName": "acs config vm-diagnostics set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--enabled <enabled>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--enabled",
                      "description": "Set the enabled value."
                    },
                    {
                      "flags": "--storage-uri <storageUri>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--storage-uri",
                      "description": "Set the storage-uri value."
                    }
                  ]
                },
                {
                  "name": "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.",
                  "fullName": "acs config vm-diagnostics delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/containerService.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--enabled",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--enabled",
                      "description": "Remove the enabled value."
                    },
                    {
                      "flags": "--storage-uri",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--storage-uri",
                      "description": "Remove the storage-uri value."
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        }
      }
    },
    "ad": {
      "name": "ad",
      "description": "Commands to display Active Directory objects",
      "fullName": "ad",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "app": {
          "name": "app",
          "description": "Commands to display Active Directory applications",
          "fullName": "ad app",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Creates a new Active Directory application",
              "fullName": "ad app create",
              "usage": "[options] <name> <home-page> <identifier-uris>",
              "filePath": "commands/arm/ad/ad.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the display name for the application"
                },
                {
                  "flags": "-m --home-page <home-page>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--home-page",
                  "description": "the URL to the application homepage"
                },
                {
                  "flags": "-a --available",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--available",
                  "description": "indicates if the application will be available to other tenants"
                },
                {
                  "flags": "-p --password <password>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "the value for the password credential associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "-i --identifier-uris <identifier-uris>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--identifier-uris",
                  "description": "the comma-delimitied URIs that identify the application"
                },
                {
                  "flags": "-r --reply-urls <reply-urls>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--reply-urls",
                  "description": "the comma-delimitied application reply urls"
                },
                {
                  "flags": "--key-value <key-value>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-value",
                  "description": "the value for the key credentials associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "--key-type <key-type>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-type",
                  "description": "the type of the key credentials associated with the application. Acceptable values are AsymmetricX509Cert, Password and Symmetric"
                },
                {
                  "flags": "--key-usage <key-usage>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-usage",
                  "description": "the usage of the key credentials associated with the application. Acceptable values are Sign and Verify"
                },
                {
                  "flags": "--start-date <start-date>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--start-date",
                  "description": "the start date after which password or key would be valid. Default value is current time"
                },
                {
                  "flags": "--end-date <end-date>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--end-date",
                  "description": "the end date till which password or key is valid. Default value is one year after current time"
                }
              ]
            },
            {
              "name": "set",
              "description": "Updates the properties of the created Active Directory application",
              "fullName": "ad app set",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object id of the application to update. Either provide objectId or applicationId. objectId is more preferable."
                },
                {
                  "flags": "-a --applicationId <applicationId>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--applicationId",
                  "description": "the applicationId of the application to update. If you have created a service principal using this application then this will be the spn of the service principal."
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the new display name for the application."
                },
                {
                  "flags": "-m --home-page <home-page>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--home-page",
                  "description": "the new URL to the application homepage"
                },
                {
                  "flags": "-p --password <password>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "new value for the password credential associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "-i --identifier-uris <identifier-uris>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--identifier-uris",
                  "description": "new comma-delimitied URI values that identify the application"
                },
                {
                  "flags": "-r --reply-urls <reply-urls>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--reply-urls",
                  "description": "new comma-delimitied application reply urls"
                },
                {
                  "flags": "--key-value <key-value>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-value",
                  "description": "new value for the key credentials associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "--key-type <key-type>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-type",
                  "description": "new type of the key credentials associated with the application. Acceptable values are AsymmetricX509Cert, Password and Symmetric. Default value: AsymmetricX509Cert"
                },
                {
                  "flags": "--key-usage <key-usage>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-usage",
                  "description": "new usage of the key credentials associated with the application. Acceptable values are Sign and Verify. Default value: Verify"
                },
                {
                  "flags": "--start-date <start-date>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--start-date",
                  "description": "new start date value after which password or key would be valid. Default value is current time"
                },
                {
                  "flags": "--end-date <end-date>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--end-date",
                  "description": "new end date value till which password or key is valid. Default value is one year after current time"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes the Active Directory application",
              "fullName": "ad app delete",
              "usage": "[options] <object-id>",
              "filePath": "commands/arm/ad/ad.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object id of the application to remove"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all Active Directory applications in current subscription's tenant",
              "fullName": "ad app list",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get Active Directory applications",
              "fullName": "ad app show",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.application.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-a --applicationId <applicationId>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--applicationId",
                  "description": "the name of the application to return"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object id of the application to return"
                },
                {
                  "flags": "-i --identifierUri <identifierUri>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--identifierUri",
                  "description": "the identifier uri of the application to return"
                },
                {
                  "flags": "-c --search <search>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--search",
                  "description": "search display name of the application starting with the provided value"
                }
              ]
            }
          ],
          "categories": {}
        },
        "group": {
          "name": "group",
          "description": "Commands to display Active Directory groups",
          "fullName": "ad group",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Get Active Directory groups in current subscription's tenant",
              "fullName": "ad group list",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.groups.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "| more",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "",
                  "long": "more",
                  "description": "Provides paging support. Press 'Enter' for more information."
                }
              ]
            },
            {
              "name": "show",
              "description": "Get Active Directory groups",
              "fullName": "ad group show",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.groups.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object Id of the group to return"
                },
                {
                  "flags": "-c --search <search>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--search",
                  "description": "Search by display name which starts with the provided value"
                }
              ]
            },
            {
              "name": "create",
              "description": "Creates an Active Directory group in the tenant.",
              "fullName": "ad group create",
              "usage": "[options] <display-name> <mail-nickname>",
              "filePath": "commands/arm/ad/ad.groups.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-d --display-name <display-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--display-name",
                  "description": "The name to display in the address book for the group."
                },
                {
                  "flags": "-m --mail-nickname <mail-nickname>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--mail-nickname",
                  "description": "The mail alias for the group."
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes an Active Directory group.",
              "fullName": "ad group delete",
              "usage": "[options] <objectId>",
              "filePath": "commands/arm/ad/ad.groups.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object Id of the group to delete"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                }
              ]
            }
          ],
          "categories": {
            "member": {
              "name": "member",
              "description": "Commands to provide an Active Directory sub group or member info",
              "fullName": "ad group member",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Provides an Active Directory sub group or member info",
                  "fullName": "ad group member list",
                  "usage": "[options] <objectId>",
                  "filePath": "commands/arm/ad/ad.groups.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-o --objectId <objectId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--objectId",
                      "description": "Object id of group whose members to return."
                    }
                  ]
                },
                {
                  "name": "add",
                  "description": "Adds a member to an Active Directory group.",
                  "fullName": "ad group member add",
                  "usage": "[options] <objectId> <member-objectId>",
                  "filePath": "commands/arm/ad/ad.groups.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-o --objectId <objectId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--objectId",
                      "description": "Object id of group to which the member needs to be added."
                    },
                    {
                      "flags": "-m --member-objectId <member-objectId>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--member-objectId",
                      "description": "Object id of the member (application, user, servicePrincipal, another-group) to be added to this group."
                    },
                    {
                      "flags": "-e --graph-endpoint <graph-endpoint>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--graph-endpoint",
                      "description": "The graph endpoint which will be the part of the member url created by the command. Default value: 'https://graph.windows.net'."
                    },
                    {
                      "flags": "-t --tenant <tenant>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tenant",
                      "description": "TenantId (in a GUID format) to which the member belongs. Default value is the current tenant of the logged in user/sp."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Deletes a member from an Active Directory group.",
                  "fullName": "ad group member delete",
                  "usage": "[options] <objectId> <member-objectId>",
                  "filePath": "commands/arm/ad/ad.groups.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-o --objectId <objectId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--objectId",
                      "description": "Object id of group from which the member needs to be deleted."
                    },
                    {
                      "flags": "-m --member-objectId <member-objectId>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--member-objectId",
                      "description": "Object id of the member (application, user, servicePrincipal, another-group) to be deleted from this group."
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode (do not ask for delete confirmation)"
                    }
                  ]
                },
                {
                  "name": "check",
                  "description": "Checks whether the specified user, group, contact, or service principal is a direct or a transitive member of the specified Active Directory group.",
                  "fullName": "ad group member check",
                  "usage": "[options] <objectId> <member-objectId>",
                  "filePath": "commands/arm/ad/ad.groups.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-o --objectId <objectId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--objectId",
                      "description": "Object id of group against which the membership needs to be checked."
                    },
                    {
                      "flags": "-m --member-objectId <member-objectId>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--member-objectId",
                      "description": "Object id of the member (application, user, servicePrincipal, another-group) for which membership needs to be checked in the specified group."
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "sp": {
          "name": "sp",
          "description": "Commands to display Active Directory service principals",
          "fullName": "ad sp",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Get all Active Directory service principals in current subscription's tenant",
              "fullName": "ad sp list",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.servicePrincipals.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "| more",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "",
                  "long": "more",
                  "description": "Provides paging support. Press 'Enter' for more information."
                }
              ]
            },
            {
              "name": "show",
              "description": "Get Active Directory service principals",
              "fullName": "ad sp show",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.servicePrincipals.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --spn <spn>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--spn",
                  "description": "the name of the service principal to return"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object id of the service principal to return"
                },
                {
                  "flags": "-c --search <search>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--search",
                  "description": "search display name of the service principal starting with the provided value"
                }
              ]
            },
            {
              "name": "create",
              "description": "Create Active Directory service principal.",
              "fullName": "ad sp create",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.servicePrincipals.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-a --applicationId <applicationId>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--applicationId",
                  "description": "The application Id for which service principal needs to be created. If this is provided then everything else will be ignored. \nWhen the applicationId is provided it means that the application was already created and it needs to be used to create the service principal."
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the display name for the application"
                },
                {
                  "flags": "-m --home-page <home-page>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--home-page",
                  "description": "the URL to the application homepage"
                },
                {
                  "flags": "-b --available",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--available",
                  "description": "indicates if the application will be available to other tenants"
                },
                {
                  "flags": "-p --password <password>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "the value for the password credential associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "-i --identifier-uris <identifier-uris>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--identifier-uris",
                  "description": "the comma-delimitied URIs that identify the application"
                },
                {
                  "flags": "-r --reply-urls <reply-urls>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--reply-urls",
                  "description": "the comma-delimitied application reply urls"
                },
                {
                  "flags": "--key-value <key-value>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-value",
                  "description": "the value for the key credentials associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "--key-type <key-type>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-type",
                  "description": "the type of the key credentials associated with the application. Acceptable values are AsymmetricX509Cert, Password and Symmetric"
                },
                {
                  "flags": "--key-usage <key-usage>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-usage",
                  "description": "the usage of the key credentials associated with the application. Acceptable values are Sign and Verify"
                },
                {
                  "flags": "--start-date <start-date>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--start-date",
                  "description": "the start date after which password or key would be valid. Default value is current time"
                },
                {
                  "flags": "--end-date <end-date>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--end-date",
                  "description": "the end date till which password or key is valid. Default value is one year after current time"
                }
              ]
            },
            {
              "name": "set",
              "description": "Updates the properties of the created Active Directory ServicePrincipal",
              "fullName": "ad sp set",
              "usage": "[options] <objectId>",
              "filePath": "commands/arm/ad/ad.servicePrincipals.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object id of the servicePrincipal to update."
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the new display name for the application."
                },
                {
                  "flags": "-m --home-page <home-page>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--home-page",
                  "description": "the new URL to the application homepage"
                },
                {
                  "flags": "-p --password <password>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "new value for the password credential associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "-i --identifier-uris <identifier-uris>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--identifier-uris",
                  "description": "new comma-delimitied URI values that identify the application"
                },
                {
                  "flags": "-r --reply-urls <reply-urls>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--reply-urls",
                  "description": "new comma-delimitied application reply urls"
                },
                {
                  "flags": "--key-value <key-value>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-value",
                  "description": "new value for the key credentials associated with the application that will be valid for one year by default"
                },
                {
                  "flags": "--key-type <key-type>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-type",
                  "description": "new type of the key credentials associated with the application. Acceptable values are AsymmetricX509Cert, Password and Symmetric. Default value: AsymmetricX509Cert"
                },
                {
                  "flags": "--key-usage <key-usage>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--key-usage",
                  "description": "new usage of the key credentials associated with the application. Acceptable values are Sign and Verify. Default value: Verify"
                },
                {
                  "flags": "--start-date <start-date>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--start-date",
                  "description": "new start date value after which password or key would be valid. Default value is current time"
                },
                {
                  "flags": "--end-date <end-date>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--end-date",
                  "description": "new end date value till which password or key is valid. Default value is one year after current time"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes Active Directory service principal.",
              "fullName": "ad sp delete",
              "usage": "[options] <objectId>",
              "filePath": "commands/arm/ad/ad.servicePrincipals.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object id of the service principal to delete"
                },
                {
                  "flags": "-p --preserve-application",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--preserve-application",
                  "description": "Default value: false. If you do not want to delete the underlying application then set this flag."
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                }
              ]
            }
          ],
          "categories": {}
        },
        "user": {
          "name": "user",
          "description": "Commands to display Active Directory users",
          "fullName": "ad user",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Get all Active Directory users in current subscription's tenant",
              "fullName": "ad user list",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.users.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "| more",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "",
                  "long": "more",
                  "description": "Provides paging support. Press 'Enter' for more information."
                }
              ]
            },
            {
              "name": "show",
              "description": "Get an Active Directory user",
              "fullName": "ad user show",
              "usage": "[options]",
              "filePath": "commands/arm/ad/ad.users.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u --upn <upn>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--upn",
                  "description": "the principal name of the user to return"
                },
                {
                  "flags": "-o --objectId <objectId>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--objectId",
                  "description": "the object id of the user to return"
                },
                {
                  "flags": "-c --search <search>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--search",
                  "description": "search users with display name starting with the provided value"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes Active Directory user (work/school account also popularly known as org-id).",
              "fullName": "ad user delete",
              "usage": "[options] <upn-or-objectId>",
              "filePath": "commands/arm/ad/ad.users.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u --upn-or-objectId <upn-or-objectId>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--upn-or-objectId",
                  "description": "the user principal name or the objectId."
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)."
                }
              ]
            },
            {
              "name": "create",
              "description": "Create Active Directory user (work/school account also popularly known as org-id). For more information: https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations#CreateUser",
              "fullName": "ad user create",
              "usage": "[options] <upn> <display-name> <mail-nickname> <password>",
              "filePath": "commands/arm/ad/ad.users.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u --upn <upn>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--upn",
                  "description": "the user principal name. example - 'someuser@contoso.com'."
                },
                {
                  "flags": "-i --immutableId <immutableId>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--immutableId",
                  "description": "It needs to be specified only if you are using a federated domain for the user's user principal name (upn) property."
                },
                {
                  "flags": "-d --display-name <display-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--display-name",
                  "description": "the name to display in the address book for the user. example 'Alex Wu'"
                },
                {
                  "flags": "-m --mail-nickname <mail-nickname>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--mail-nickname",
                  "description": "the mail alias for the user. example: 'Alexw'."
                },
                {
                  "flags": "-p --password <password>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "password for the user. It must meet the tenant's password complexity requirements. It is recommended to set a strong password."
                },
                {
                  "flags": "-f --force-change-password-next-login",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--force-change-password-next-login",
                  "description": "It must be specified if the user must change the password on the next successful login (true). Default behavior is (false) to not change the password on the next successful login."
                }
              ]
            },
            {
              "name": "set",
              "description": "Update an existing Active Directory user (work/school account also popularly known as org-id). For more information: https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations#UpdateUser",
              "fullName": "ad user set",
              "usage": "[options] <upn-or-objectId>",
              "filePath": "commands/arm/ad/ad.users.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u --upn-or-objectId <upn-or-objectId>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--upn-or-objectId",
                  "description": "the user principal name ('someuser@contoso.com') or the objectId (a Guid) for which the properties need to be updated."
                },
                {
                  "flags": "-a --enable-account <enable-account>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--enable-account",
                  "description": "true for enabling the account; otherwise, false."
                },
                {
                  "flags": "-d --display-name <display-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--display-name",
                  "description": "new name to display in the address book for the user. example 'Alex Wu'"
                },
                {
                  "flags": "-m --mail-nickname <mail-nickname>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--mail-nickname",
                  "description": "new mail alias for the user. example: 'Alexw'."
                },
                {
                  "flags": "-p --password <password>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "new password for the user. It must meet the tenant's password complexity requirements. It is recommended to set a strong password."
                },
                {
                  "flags": "-f --force-change-password-next-login",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--force-change-password-next-login",
                  "description": "It must be specified only when you are updating the password. Otherwise it will be ignored. It must be specified if the user must change the password on the next successful login (true). Default behavior is (false) to not change the password on the next successful login."
                }
              ]
            }
          ],
          "categories": {
            "memberGroups": {
              "name": "memberGroups",
              "description": "Commands to display member groups of the Active Directory user.",
              "fullName": "ad user memberGroups",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Provides a lit of Object IDs of the groups of which the user is a member.",
                  "fullName": "ad user memberGroups list",
                  "usage": "[options] <objectId>",
                  "filePath": "commands/arm/ad/ad.users.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-o --objectId <objectId>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--objectId",
                      "description": "the objectId of the user"
                    },
                    {
                      "flags": "-e --securityEnabledOnly",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--securityEnabledOnly",
                      "description": "If true, only membership in security enabled groups will be checked. Otherwise membership in all groups will be checked. Default: false"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        }
      }
    },
    "availset": {
      "name": "availset",
      "description": "Commands to manage your availability sets.  ",
      "fullName": "availset",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "Creates an availability set within a resource group",
          "fullName": "availset create",
          "usage": "[options] <resource-group> <name> <location> [tags]",
          "filePath": "commands/arm/availabilityset/availset.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the availability set name"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location"
            },
            {
              "flags": "-t, --tags <tags>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "the semicolon separated list of tags"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            },
            {
              "flags": "-a, --platform-update-domain-count <platformUpdateDomainCount>",
              "required": -36,
              "optional": 0,
              "bool": true,
              "short": "-a",
              "long": "--platform-update-domain-count",
              "description": "Set the platform-update-domain-count value."
            },
            {
              "flags": "-b, --platform-fault-domain-count <platformFaultDomainCount>",
              "required": -35,
              "optional": 0,
              "bool": true,
              "short": "-b",
              "long": "--platform-fault-domain-count",
              "description": "Set the platform-fault-domain-count value."
            }
          ]
        },
        {
          "name": "list",
          "description": "Lists the availability sets within a resource group",
          "fullName": "availset list",
          "usage": "[options] <resource-group>",
          "filePath": "commands/arm/availabilityset/availset.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Gets one availability set within a resource group",
          "fullName": "availset show",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/availabilityset/availset.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resourceGroup>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the availability set name"
            },
            {
              "flags": "-d, --depth <depth>",
              "required": -13,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--depth",
              "description": "the number of times to recurse, to recurse indefinitely pass \"full\". (valid only with --json option)"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Deletes one availability set within a resource group",
          "fullName": "availset delete",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/availabilityset/availset.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode, do not ask for delete confirmation"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list-available-sizes",
          "description": "Lists all available virtual machine sizes that can be used to create a new virtual machine in an existing availability set.",
          "fullName": "availset list-available-sizes",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/availabilitySets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "cdn": {
      "name": "cdn",
      "description": "Commands to manage Azure Content Delivery Network (CDN)",
      "fullName": "cdn",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "profile": {
          "name": "profile",
          "description": "Commands to manage your Azure cdn profiles",
          "fullName": "cdn profile",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List all profiles under the current subscription",
              "fullName": "cdn profile list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group [resource-group]",
                  "required": 0,
                  "optional": -22,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "Name of the Resource Group"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show the infomation of a specific cdn profile",
              "fullName": "cdn profile show",
              "usage": "[options] <name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name [name]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the Cdn Profile"
                },
                {
                  "flags": "-g, --resource-group [resource-group]",
                  "required": 0,
                  "optional": -22,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "Name of the Resource Group"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "create",
              "description": "Create a profile under given resource group and subscription",
              "fullName": "cdn profile create",
              "usage": "[options] <name> <resource-group> <location> <sku-name> [tags]",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile will be created in"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "The location in which to create the Cdn Profile"
                },
                {
                  "flags": "-k, --sku-name <sku-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--sku-name",
                  "description": "The pricing sku name of the Azure Cdn Profile"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set to the profile. Can be multiple. In the format of 'name=value'. Name is required and value is optional."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a profile under given resource group and subscription",
              "fullName": "cdn profile delete",
              "usage": "[options] <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile will be delete in"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Update a profile's tags",
              "fullName": "cdn profile set",
              "usage": "[options] <name> <resource-group> [tags]",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile will be created in"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set to the profile. Can be multiple. In the format of 'name=value'. Name is required and value is optional."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "ssouri": {
          "name": "ssouri",
          "description": "Commands to generate sso uri of your Azure cdn profiles",
          "fullName": "cdn ssouri",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create sso uri of the profile",
              "fullName": "cdn ssouri create",
              "usage": "[options] <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "endpoint": {
          "name": "endpoint",
          "description": "Commands to manage Azure cdn profile endpoints",
          "fullName": "cdn endpoint",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List endpoints by profile and resource group",
              "fullName": "cdn endpoint list",
              "usage": "[options] <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get endpoint by endpoint name, profile name, and resource group",
              "fullName": "cdn endpoint show",
              "usage": "[options] <name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "create",
              "description": "Create endpoint with given name and properties.",
              "fullName": "cdn endpoint create",
              "usage": "[options] <name> <profile-name> <resource-group> <location> <origin-name> <origin-host-name> [origin-host-header] [origin-path] [content-type-to-compress] [is-compression-enabled] [is-http-allowed] [is-https-allowed] [query-string-caching-behavior]  [http-port] [https-port] [tags]",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "The location of the Cdn endpoint"
                },
                {
                  "flags": "-o, --origin-name <origin-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--origin-name",
                  "description": "The name of the origin used to identify the origin"
                },
                {
                  "flags": "-r, --origin-host-name <origin-host-name>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--origin-host-name",
                  "description": "The host name of the origin"
                },
                {
                  "flags": "-e, --origin-host-header [origin-host-header]",
                  "required": 0,
                  "optional": -26,
                  "bool": true,
                  "short": "-e",
                  "long": "--origin-host-header",
                  "description": "The origin host header of the Azure Cdn Endpoint"
                },
                {
                  "flags": "-i, --origin-path [origin-path]",
                  "required": 0,
                  "optional": -19,
                  "bool": true,
                  "short": "-i",
                  "long": "--origin-path",
                  "description": "The origin path Azure Cdn Endpoint"
                },
                {
                  "flags": "-c, --content-types-to-compress [content-types-to-compress]",
                  "required": 0,
                  "optional": -33,
                  "bool": true,
                  "short": "-c",
                  "long": "--content-types-to-compress",
                  "description": "The list of mime types that need to be compressed by Cdn edge nodes"
                },
                {
                  "flags": "-d, --is-compression-enabled [is-compression-enabled]",
                  "required": 0,
                  "optional": -30,
                  "bool": true,
                  "short": "-d",
                  "long": "--is-compression-enabled",
                  "description": "Is the compression enabled for the Cdn. Valid input: -d [true|false]"
                },
                {
                  "flags": "-w, --is-http-allowed [is-http-allowed]",
                  "required": 0,
                  "optional": -23,
                  "bool": true,
                  "short": "-w",
                  "long": "--is-http-allowed",
                  "description": "Is the http traffic allowed for the Cdn. Valid input: -w [true|false]"
                },
                {
                  "flags": "-a, --is-https-allowed [is-https-allowed]",
                  "required": 0,
                  "optional": -24,
                  "bool": true,
                  "short": "-a",
                  "long": "--is-https-allowed",
                  "description": "Is the https traffic allowed for the Cdn. Valid input: -a [true|false]"
                },
                {
                  "flags": "-q, --query-string-caching-behavior [query-string-caching-behavior]",
                  "required": 0,
                  "optional": -37,
                  "bool": true,
                  "short": "-q",
                  "long": "--query-string-caching-behavior",
                  "description": "The way Cdn handles requests with query string"
                },
                {
                  "flags": "-u, --http-port [http-port]",
                  "required": 0,
                  "optional": -17,
                  "bool": true,
                  "short": "-u",
                  "long": "--http-port",
                  "description": "The port http traffic used on the origin server"
                },
                {
                  "flags": "-w, --https-port [https-port]",
                  "required": 0,
                  "optional": -18,
                  "bool": true,
                  "short": "-w",
                  "long": "--https-port",
                  "description": "The port https traffic used on the origin server"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "The tags to associate with the Azure Cdn Endpoint"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Update endpoint with given properties.",
              "fullName": "cdn endpoint set",
              "usage": "[options] <name> <profile-name> <resource-group> [origin-host-header] [origin-path] [content-type-to-compress] [is-compression-enabled] [is-http-allowed] [is-https-allowed] [query-string-caching-behavior] [tags]",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "-e, --origin-host-header [origin-host-header]",
                  "required": 0,
                  "optional": -26,
                  "bool": true,
                  "short": "-e",
                  "long": "--origin-host-header",
                  "description": "The origin host header of the Azure Cdn Endpoint"
                },
                {
                  "flags": "-i, --origin-path [origin-path]",
                  "required": 0,
                  "optional": -19,
                  "bool": true,
                  "short": "-i",
                  "long": "--origin-path",
                  "description": "The origin path Azure Cdn Endpoint"
                },
                {
                  "flags": "-c, --content-types-to-compress [content-types-to-compress]",
                  "required": 0,
                  "optional": -33,
                  "bool": true,
                  "short": "-c",
                  "long": "--content-types-to-compress",
                  "description": "The list of mime types that need to be compressed by Cdn edge nodes"
                },
                {
                  "flags": "-d, --is-compression-enabled [is-compression-enabled]",
                  "required": 0,
                  "optional": -30,
                  "bool": true,
                  "short": "-d",
                  "long": "--is-compression-enabled",
                  "description": "Is the compression enabled for the Cdn. Valid input: -d [true|false]"
                },
                {
                  "flags": "-u, --is-http-allowed [is-http-allowed]",
                  "required": 0,
                  "optional": -23,
                  "bool": true,
                  "short": "-u",
                  "long": "--is-http-allowed",
                  "description": "Is the http traffic allowed for the Cdn. Valid input: -u [true|false]"
                },
                {
                  "flags": "-w, --is-https-allowed [is-https-allowed]",
                  "required": 0,
                  "optional": -24,
                  "bool": true,
                  "short": "-w",
                  "long": "--is-https-allowed",
                  "description": "Is the https traffic allowed for the Cdn. Valid input: -w [true|false]"
                },
                {
                  "flags": "-q, --query-string-caching-behavior [query-string-caching-behavior]",
                  "required": 0,
                  "optional": -37,
                  "bool": true,
                  "short": "-q",
                  "long": "--query-string-caching-behavior",
                  "description": "The way Cdn handles requests with query string"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "The tags to associate with the Azure Cdn Endpoint"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete an endpoint by endpoint name, profile name, and resource group",
              "fullName": "cdn endpoint delete",
              "usage": "[options] <ename> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "start",
              "description": "Start an endpoint by endpoint name, profile name, and resource group",
              "fullName": "cdn endpoint start",
              "usage": "[options] <name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "stop",
              "description": "Stop an endpoint by endpoint name, profile name, and resource group",
              "fullName": "cdn endpoint stop",
              "usage": "[options] <name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "purge",
              "description": "Purge the content of the given paths in the endpoint",
              "fullName": "cdn endpoint purge",
              "usage": "[options] <name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "-c, --content-paths <content-paths>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--content-paths",
                  "description": "Content paths to be purged"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "load",
              "description": "Load the content of the given paths in the endpoint",
              "fullName": "cdn endpoint load",
              "usage": "[options] <name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "-c, --content-paths <content-paths>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--content-paths",
                  "description": "Content paths to be purged"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "check",
              "description": "Check if the endpoint name has been used or not",
              "fullName": "cdn endpoint check",
              "usage": "[options] <endpoint-name>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--endpoint-name",
                  "description": "Endpoint name"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "origin": {
          "name": "origin",
          "description": "Commands to manage Azure cdn profile endpoint origin",
          "fullName": "cdn origin",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "show",
              "description": "Get origin by origin name, endpoint name, profile name, and resource group",
              "fullName": "cdn origin show",
              "usage": "[options] <name> <endpoint-name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the origin"
                },
                {
                  "flags": "-e, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endpoint-name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Update origin of the given origin name, endpoint name, profile name, and resource group",
              "fullName": "cdn origin set",
              "usage": "[options] <name> <endpoint-name> <profile-name> <resource-group> [host-name] [http-port] [https-port]",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the origin"
                },
                {
                  "flags": "-e, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endpoint-name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "-o, --host-name [host-name]",
                  "required": 0,
                  "optional": -17,
                  "bool": true,
                  "short": "-o",
                  "long": "--host-name",
                  "description": "Host name"
                },
                {
                  "flags": "-r, --http-port [http-port]",
                  "required": 0,
                  "optional": -17,
                  "bool": true,
                  "short": "-r",
                  "long": "--http-port",
                  "description": "Http port"
                },
                {
                  "flags": "-w, --https-port [https-port]",
                  "required": 0,
                  "optional": -18,
                  "bool": true,
                  "short": "-w",
                  "long": "--https-port",
                  "description": "Https port"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "customDomain": {
          "name": "customDomain",
          "description": "Commands to manage Azure cdn profile endpoint custom domain",
          "fullName": "cdn customDomain",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List custom domains by endpoint name, profile name, and resource group",
              "fullName": "cdn customDomain list",
              "usage": "[options] <endpoint-name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-e, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endpoint-name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get custom domains by custom domain name, endpoint name, profile name, and resource group",
              "fullName": "cdn customDomain show",
              "usage": "[options] <name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the custom domain"
                },
                {
                  "flags": "-e, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endpoint-name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "create",
              "description": "Create a custom domain of a perticular custom domain host name",
              "fullName": "cdn customDomain create",
              "usage": "[options] <name> <endpoint-name> <profile-name> <resource-group> <custom-domain-host-name>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the custom domain"
                },
                {
                  "flags": "-e, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endpoint-name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "-d, --custom-domain-host-name <custom-domain-host-name>",
                  "required": -31,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--custom-domain-host-name",
                  "description": "The host name of the custom domain"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a custom domain of a perticular custom domain host name",
              "fullName": "cdn customDomain delete",
              "usage": "[options] <name> <endpoint-name> <profile-name> <resource-group>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of the custom domain"
                },
                {
                  "flags": "-e, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endpoint-name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "validate",
              "description": "Check to see if a custom domain host name is registered for cname mapping to the endpoint ",
              "fullName": "cdn customDomain validate",
              "usage": "[options] <endpoint-name> <profile-name> <resource-group> <custom-domain-host-name>",
              "filePath": "commands/arm/cdnmanagement/cdnmanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-e, --endpoint-name <endpoint-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endpoint-name",
                  "description": "Name of the endpoint"
                },
                {
                  "flags": "-p, --profile-name <profile-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--profile-name",
                  "description": "Name of the profile"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group of the Azure Cdn Profile"
                },
                {
                  "flags": "-d, --custom-domain-host-name <custom-domain-host-name>",
                  "required": -31,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--custom-domain-host-name",
                  "description": "The host name of the custom domain"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "vmssvm": {
      "name": "vmssvm",
      "description": "Commands to manage your virtual machine scale set vm.  ",
      "fullName": "vmssvm",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "deallocate",
          "description": "Allows you to deallocate a virtual machine virtual machine scale set.Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.",
          "fullName": "vmssvm deallocate",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Allows you to delete a virtual machine scale set.",
          "fullName": "vmssvm delete",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Displays information about a virtual machine scale set virtual machine.",
          "fullName": "vmssvm show",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "get-instance-view",
          "description": "Displays the status of a virtual machine scale set virtual machine.",
          "fullName": "vmssvm get-instance-view",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "Lists all virtual machines in a VM scale sets.",
          "fullName": "vmssvm list",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "power-off",
          "description": "Allows you to power off (stop) a virtual machine in a VM scale set.",
          "fullName": "vmssvm power-off",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "reimage",
          "description": "Allows you to re-image(update the version of the installed operating system) a virtual machine scale set instance.",
          "fullName": "vmssvm reimage",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "restart",
          "description": "Allows you to restart a virtual machine in a VM scale set.",
          "fullName": "vmssvm restart",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "start",
          "description": "Allows you to start a virtual machine in a VM scale set.",
          "fullName": "vmssvm start",
          "usage": "[options] <resource-group> <name> <instance-id>",
          "filePath": "commands/arm/compute/virtualMachineScaleSetVMs.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-d, --instance-id <instance-id>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--instance-id",
              "description": "instance-id"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "vmss": {
      "name": "vmss",
      "description": "Commands to manage your virtual machine scale sets.  ",
      "fullName": "vmss",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "Allows you to create or update a virtual machine scale set by providing parameters or a path to pre-configured parameter file.",
          "fullName": "vmss create",
          "usage": "[options] <resource-group> <name> <parameters>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-p, --parameters <parameters>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--parameters",
              "description": "A string of parameters in JSON format"
            },
            {
              "flags": "--parameter-file <parameter-file>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "long": "--parameter-file",
              "description": "The text file that contains input parameter object in JSON format"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "deallocate",
          "description": "Allows you to deallocate virtual machines in a virtual machine scale set. Shuts down the virtual machines and releases the compute resources. You are not billed for the compute resources that this virtual machine scale set uses.",
          "fullName": "vmss deallocate",
          "usage": "[options] <resource-group> <name> <instance-ids>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "--instance-ids <instance-ids>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--instance-ids",
              "description": "instance-ids"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Allows you to delete a virtual machine scale set.",
          "fullName": "vmss delete",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "delete-instances",
          "description": "Allows you to delete virtual machines in a virtual machine scale set.",
          "fullName": "vmss delete-instances",
          "usage": "[options] <resource-group> <name> <instance-ids>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "--instance-ids <instance-ids>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--instance-ids",
              "description": "instance-ids"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Display information about a virtual machine scale set.",
          "fullName": "vmss show",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "get-instance-view",
          "description": "Displays status of a virtual machine scale set instance.",
          "fullName": "vmss get-instance-view",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "Lists all virtual machine scale sets under a resource group.",
          "fullName": "vmss list",
          "usage": "[options] <resource-group>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "list-skus",
          "description": "Displays available skus for your virtual machine scale set including the minimum and maximum vm instances allowed for a particular sku.",
          "fullName": "vmss list-skus",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "power-off",
          "description": "Allows you to power off (stop) virtual machines in a virtual machine scale set. Note that resources are still attached and you are getting charged for the resources. Use deallocate to release resources.",
          "fullName": "vmss power-off",
          "usage": "[options] <resource-group> <name> <instance-ids>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "--instance-ids <instance-ids>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--instance-ids",
              "description": "instance-ids"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "reimage",
          "description": "Allows you to re-image(update the version of the installed operating system) virtual machines in a virtual machine scale set.",
          "fullName": "vmss reimage",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "restart",
          "description": "Allows you to restart virtual machines in a virtual machine scale set.",
          "fullName": "vmss restart",
          "usage": "[options] <resource-group> <name> <instance-ids>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "--instance-ids <instance-ids>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--instance-ids",
              "description": "instance-ids"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "start",
          "description": "Allows you to start virtual machines in a virtual machine scale set.",
          "fullName": "vmss start",
          "usage": "[options] <resource-group> <name> <instance-ids>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "--instance-ids <instance-ids>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--instance-ids",
              "description": "instance-ids"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "update-instances",
          "description": "Allows you to manually upgrade virtual machines in a virtual machine scale set.",
          "fullName": "vmss update-instances",
          "usage": "[options] <resource-group> <name> <instance-ids>",
          "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "--instance-ids <instance-ids>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--instance-ids",
              "description": "instance-ids"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "quick-create",
          "description": "Commands to create a virtual machine scale set with default resources in a group.\n         For 'image-urn' refer the following command: $ azure vm image list (Example: $ azure vm image list westus canonical)",
          "fullName": "vmss quick-create",
          "usage": "[options] [resource-group-name] [name] [location] [image-urn] [capacity] [admin-username] [admin-password]",
          "filePath": "commands/arm/vmss/vmss.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group-name <resource-group-name>",
              "required": -27,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group-name",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name prefix"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location"
            },
            {
              "flags": "-Q, --image-urn <image-urn>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-Q",
              "long": "--image-urn",
              "description": "the image reference, e.g. \"publisher:offer:skus:version\"\n                                                 URN Aliases:\n                                                 Win2012R2Datacenter = MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest\n                                                 Win2012Datacenter = MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest\n                                                 Win2008R2SP1 = MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest\n                                                 CentOS = OpenLogic:CentOS:7.2:latest\n                                                 CoreOS = CoreOS:CoreOS:Stable:latest\n                                                 Debian = credativ:Debian:8:latest\n                                                 openSUSE = SUSE:openSUSE:13.2:latest\n                                                 RHEL = RedHat:RHEL:7.2:latest\n                                                 SLES = SUSE:SLES:12-SP1:latest\n                                                 UbuntuLTS = Canonical:UbuntuServer:14.04.4-LTS:latest"
            },
            {
              "flags": "-u, --admin-username <admin-username>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--admin-username",
              "description": "the user name"
            },
            {
              "flags": "-p, --admin-password <admin-password>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--admin-password",
              "description": "the password"
            },
            {
              "flags": "-z, --vm-size <vm-size>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-z",
              "long": "--vm-size",
              "description": "Optional, the virtual machine size, by default [Standard_DS1]"
            },
            {
              "flags": "-C, --capacity <capacity>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-C",
              "long": "--capacity",
              "description": "the virtual machine scale set capacity, i.e. number of instances (5 by default)"
            },
            {
              "flags": "-M, --ssh-public-key-file <ssh-public-key-file>",
              "required": -27,
              "optional": 0,
              "bool": true,
              "short": "-M",
              "long": "--ssh-public-key-file",
              "description": "the path to public key file for SSH authentication,\n                                                 & this parameter is valid only when os-type is Linux."
            },
            {
              "flags": "-a, --storage-type <storage-type>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-a",
              "long": "--storage-type",
              "description": "Optional, the storage type, by default [Premium_LRS]"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "scale",
          "description": "The operation to scale virtual machine scale set",
          "fullName": "vmss scale",
          "usage": "[options] <resource-group> <name> <new-capacity>",
          "filePath": "commands/arm/vmss/vmss.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "name"
            },
            {
              "flags": "-C, --new-capacity <new-capacity>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-C",
              "long": "--new-capacity",
              "description": "the new capacity value"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        }
      ],
      "categories": {
        "config": {
          "name": "config",
          "description": "Commands to manage configuration of virtual-machine-scale-sets in the parameter file.",
          "fullName": "vmss config",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Generate virtualMachineScaleSetsCreateOrUpdate parameter string or files.",
              "fullName": "vmss config create",
              "usage": "[options]",
              "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--parameter-file <parameter-file>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--parameter-file",
                  "description": "The parameter file path."
                }
              ]
            },
            {
              "name": "patch",
              "description": "Command to patch virtualMachineScaleSetsCreateOrUpdate parameter JSON file.",
              "fullName": "vmss config patch",
              "usage": "[options]",
              "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--parameter-file <parameter-file>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--parameter-file",
                  "description": "The parameter file path."
                },
                {
                  "flags": "--operation <operation>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--operation",
                  "description": "The JSON patch operation: add, remove, or replace."
                },
                {
                  "flags": "--path <path>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--path",
                  "description": "The JSON data path, e.g.: \"foo/1\"."
                },
                {
                  "flags": "--value <value>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--value",
                  "description": "The JSON value."
                },
                {
                  "flags": "--parse",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--parse",
                  "description": "Parse the JSON value to object."
                }
              ]
            }
          ],
          "categories": {
            "virtual-machine-scale-set": {
              "name": "virtual-machine-scale-set",
              "description": "Commands to configure virtual-machine-scale-set of vmss in config file.",
              "fullName": "vmss config virtual-machine-scale-set",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set virtual-machine-scale-set in config string or files, e.g. \r\n{\r\n  \"sku\":{\r\n    \"name\":\"\",\r\n    \"tier\":\"\",\r\n    \"capacity\":null\r\n  },\r\n  \"upgradePolicy\":{\r\n    \"mode\":null\r\n  },\r\n  \"virtualMachineProfile\":{\r\n    \"osProfile\":{\r\n      \"computerNamePrefix\":\"\",\r\n      \"adminUsername\":\"\",\r\n      \"adminPassword\":\"\",\r\n      \"customData\":\"\",\r\n      \"windowsConfiguration\":{\r\n        \"provisionVMAgent\":null,\r\n        \"enableAutomaticUpdates\":null,\r\n        \"timeZone\":\"\",\r\n        \"additionalUnattendContent\":[\r\n          {\r\n            \"passName\":null,\r\n            \"componentName\":null,\r\n            \"settingName\":null,\r\n            \"content\":\"\"\r\n          }\r\n        ],\r\n        \"winRM\":{\r\n          \"listeners\":[\r\n            {\r\n              \"protocol\":null,\r\n              \"certificateUrl\":\"\"\r\n            }\r\n          ]\r\n        }\r\n      },\r\n      \"linuxConfiguration\":{\r\n        \"disablePasswordAuthentication\":null,\r\n        \"ssh\":{\r\n          \"publicKeys\":[\r\n            {\r\n              \"path\":\"\",\r\n              \"keyData\":\"\"\r\n            }\r\n          ]\r\n        }\r\n      },\r\n      \"secrets\":[\r\n        {\r\n          \"sourceVault\":{\r\n            \"id\":\"\"\r\n          },\r\n          \"vaultCertificates\":[\r\n            {\r\n              \"certificateUrl\":\"\",\r\n              \"certificateStore\":\"\"\r\n            }\r\n          ]\r\n        }\r\n      ]\r\n    },\r\n    \"storageProfile\":{\r\n      \"imageReference\":{\r\n        \"publisher\":\"\",\r\n        \"offer\":\"\",\r\n        \"sku\":\"\",\r\n        \"version\":\"\"\r\n      },\r\n      \"osDisk\":{\r\n        \"name\":\"\",\r\n        \"caching\":null,\r\n        \"createOption\":\"\",\r\n        \"osType\":null,\r\n        \"image\":{\r\n          \"uri\":\"\"\r\n        },\r\n        \"vhdContainers\":[\r\n          \"\"\r\n        ]\r\n      }\r\n    },\r\n    \"networkProfile\":{\r\n      \"networkInterfaceConfigurations\":[\r\n        {\r\n          \"name\":\"\",\r\n          \"primary\":null,\r\n          \"ipConfigurations\":[\r\n            {\r\n              \"name\":\"\",\r\n              \"subnet\":{\r\n                \"id\":\"\"\r\n              },\r\n              \"applicationGatewayBackendAddressPools\":[\r\n                {\r\n                  \"id\":\"\"\r\n                }\r\n              ],\r\n              \"loadBalancerBackendAddressPools\":[\r\n                {\r\n                  \"id\":\"\"\r\n                }\r\n              ],\r\n              \"loadBalancerInboundNatPools\":[\r\n                {\r\n                  \"id\":\"\"\r\n                }\r\n              ],\r\n              \"id\":\"\"\r\n            }\r\n          ],\r\n          \"id\":\"\"\r\n        }\r\n      ]\r\n    },\r\n    \"extensionProfile\":{\r\n      \"extensions\":[\r\n        {\r\n          \"name\":\"\",\r\n          \"publisher\":\"\",\r\n          \"type\":\"\",\r\n          \"typeHandlerVersion\":\"\",\r\n          \"autoUpgradeMinorVersion\":null,\r\n          \"settings\":{\r\n          },\r\n          \"protectedSettings\":{\r\n          },\r\n          \"provisioningState\":\"\",\r\n          \"id\":\"\"\r\n        }\r\n      ]\r\n    }\r\n  },\r\n  \"provisioningState\":\"\",\r\n  \"overProvision\":null,\r\n  \"id\":null,\r\n  \"name\":null,\r\n  \"type\":null,\r\n  \"location\":\"\",\r\n  \"tags\":{\r\n  }\r\n}\r\n         There are two sets of commands:\r\n           1) function commands that are used to manage Azure resources in the cloud, and \r\n           2) parameter commands that generate & edit input files for the other set of commands.\r\n         For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n         virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n         are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n         file as for the VM scale set configuration, and creates it online.",
                  "fullName": "vmss config virtual-machine-scale-set set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--sku <sku>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sku",
                      "description": "Set the sku value."
                    },
                    {
                      "flags": "--upgrade-policy <upgradePolicy>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--upgrade-policy",
                      "description": "Set the upgrade-policy value."
                    },
                    {
                      "flags": "--virtual-machine-profile <virtualMachineProfile>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--virtual-machine-profile",
                      "description": "Set the virtual-machine-profile value."
                    },
                    {
                      "flags": "--provisioning-state <provisioningState>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "long": "--provisioning-state",
                      "description": "Set the provisioning-state value."
                    },
                    {
                      "flags": "--over-provision <overProvision>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--over-provision",
                      "description": "Set the over-provision value."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--type <type>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--type",
                      "description": "Set the type value."
                    },
                    {
                      "flags": "--location <location>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--location",
                      "description": "Set the location value."
                    },
                    {
                      "flags": "--tags <tags>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--tags",
                      "description": "Set the tags value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove virtual-machine-scale-set in config string or files, e.g. \r\n{\r\n  \"sku\":{\r\n    \"name\":\"\",\r\n    \"tier\":\"\",\r\n    \"capacity\":null\r\n  },\r\n  \"upgradePolicy\":{\r\n    \"mode\":null\r\n  },\r\n  \"virtualMachineProfile\":{\r\n    \"osProfile\":{\r\n      \"computerNamePrefix\":\"\",\r\n      \"adminUsername\":\"\",\r\n      \"adminPassword\":\"\",\r\n      \"customData\":\"\",\r\n      \"windowsConfiguration\":{\r\n        \"provisionVMAgent\":null,\r\n        \"enableAutomaticUpdates\":null,\r\n        \"timeZone\":\"\",\r\n        \"additionalUnattendContent\":[\r\n          {\r\n            \"passName\":null,\r\n            \"componentName\":null,\r\n            \"settingName\":null,\r\n            \"content\":\"\"\r\n          }\r\n        ],\r\n        \"winRM\":{\r\n          \"listeners\":[\r\n            {\r\n              \"protocol\":null,\r\n              \"certificateUrl\":\"\"\r\n            }\r\n          ]\r\n        }\r\n      },\r\n      \"linuxConfiguration\":{\r\n        \"disablePasswordAuthentication\":null,\r\n        \"ssh\":{\r\n          \"publicKeys\":[\r\n            {\r\n              \"path\":\"\",\r\n              \"keyData\":\"\"\r\n            }\r\n          ]\r\n        }\r\n      },\r\n      \"secrets\":[\r\n        {\r\n          \"sourceVault\":{\r\n            \"id\":\"\"\r\n          },\r\n          \"vaultCertificates\":[\r\n            {\r\n              \"certificateUrl\":\"\",\r\n              \"certificateStore\":\"\"\r\n            }\r\n          ]\r\n        }\r\n      ]\r\n    },\r\n    \"storageProfile\":{\r\n      \"imageReference\":{\r\n        \"publisher\":\"\",\r\n        \"offer\":\"\",\r\n        \"sku\":\"\",\r\n        \"version\":\"\"\r\n      },\r\n      \"osDisk\":{\r\n        \"name\":\"\",\r\n        \"caching\":null,\r\n        \"createOption\":\"\",\r\n        \"osType\":null,\r\n        \"image\":{\r\n          \"uri\":\"\"\r\n        },\r\n        \"vhdContainers\":[\r\n          \"\"\r\n        ]\r\n      }\r\n    },\r\n    \"networkProfile\":{\r\n      \"networkInterfaceConfigurations\":[\r\n        {\r\n          \"name\":\"\",\r\n          \"primary\":null,\r\n          \"ipConfigurations\":[\r\n            {\r\n              \"name\":\"\",\r\n              \"subnet\":{\r\n                \"id\":\"\"\r\n              },\r\n              \"applicationGatewayBackendAddressPools\":[\r\n                {\r\n                  \"id\":\"\"\r\n                }\r\n              ],\r\n              \"loadBalancerBackendAddressPools\":[\r\n                {\r\n                  \"id\":\"\"\r\n                }\r\n              ],\r\n              \"loadBalancerInboundNatPools\":[\r\n                {\r\n                  \"id\":\"\"\r\n                }\r\n              ],\r\n              \"id\":\"\"\r\n            }\r\n          ],\r\n          \"id\":\"\"\r\n        }\r\n      ]\r\n    },\r\n    \"extensionProfile\":{\r\n      \"extensions\":[\r\n        {\r\n          \"name\":\"\",\r\n          \"publisher\":\"\",\r\n          \"type\":\"\",\r\n          \"typeHandlerVersion\":\"\",\r\n          \"autoUpgradeMinorVersion\":null,\r\n          \"settings\":{\r\n          },\r\n          \"protectedSettings\":{\r\n          },\r\n          \"provisioningState\":\"\",\r\n          \"id\":\"\"\r\n        }\r\n      ]\r\n    }\r\n  },\r\n  \"provisioningState\":\"\",\r\n  \"overProvision\":null,\r\n  \"id\":null,\r\n  \"name\":null,\r\n  \"type\":null,\r\n  \"location\":\"\",\r\n  \"tags\":{\r\n  }\r\n}\r\n         There are two sets of commands:\r\n           1) function commands that are used to manage Azure resources in the cloud, and \r\n           2) parameter commands that generate & edit input files for the other set of commands.\r\n         For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n         virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n         are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n         file as for the VM scale set configuration, and creates it online.",
                  "fullName": "vmss config virtual-machine-scale-set delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--sku",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--sku",
                      "description": "Remove the sku value."
                    },
                    {
                      "flags": "--upgrade-policy",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--upgrade-policy",
                      "description": "Remove the upgrade-policy value."
                    },
                    {
                      "flags": "--virtual-machine-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--virtual-machine-profile",
                      "description": "Remove the virtual-machine-profile value."
                    },
                    {
                      "flags": "--provisioning-state",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--provisioning-state",
                      "description": "Remove the provisioning-state value."
                    },
                    {
                      "flags": "--over-provision",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--over-provision",
                      "description": "Remove the over-provision value."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--type",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--type",
                      "description": "Remove the type value."
                    },
                    {
                      "flags": "--location",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--location",
                      "description": "Remove the location value."
                    },
                    {
                      "flags": "--tags",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--tags",
                      "description": "Remove the tags value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "sku": {
              "name": "sku",
              "description": "Commands to configure sku of vmss in config file.",
              "fullName": "vmss config sku",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set sku in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"sku\" : {\r\n             \"name\":\"\",\r\n             \"tier\":\"\",\r\n             \"capacity\":null\r\n           }\r\n           ...\r\n         }\r\n\r\n         There are two sets of commands:\r\n           1) function commands that are used to manage Azure resources in the cloud, and \r\n           2) parameter commands that generate & edit input files for the other set of commands.\r\n         For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n         virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n         are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n         file as for the VM scale set configuration, and creates it online.",
                  "fullName": "vmss config sku set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--tier <tier>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--tier",
                      "description": "Set the tier value."
                    },
                    {
                      "flags": "--capacity <capacity>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--capacity",
                      "description": "Set the capacity value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove sku in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"sku\" : {\r\n             \"name\":\"\",\r\n             \"tier\":\"\",\r\n             \"capacity\":null\r\n           }\r\n           ...\r\n         }\r\n\r\n         There are two sets of commands:\r\n           1) function commands that are used to manage Azure resources in the cloud, and \r\n           2) parameter commands that generate & edit input files for the other set of commands.\r\n         For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n         virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n         are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n         file as for the VM scale set configuration, and creates it online.",
                  "fullName": "vmss config sku delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--tier",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--tier",
                      "description": "Remove the tier value."
                    },
                    {
                      "flags": "--capacity",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--capacity",
                      "description": "Remove the capacity value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "upgrade-policy": {
              "name": "upgrade-policy",
              "description": "Commands to configure upgrade-policy of vmss in config file.",
              "fullName": "vmss config upgrade-policy",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set upgrade-policy in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"upgradePolicy\" : {\r\n             \"mode\":null\r\n           }\r\n           ...\r\n         }\r\n\r\n         There are two sets of commands:\r\n           1) function commands that are used to manage Azure resources in the cloud, and \r\n           2) parameter commands that generate & edit input files for the other set of commands.\r\n         For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n         virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n         are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n         file as for the VM scale set configuration, and creates it online.",
                  "fullName": "vmss config upgrade-policy set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--mode <mode>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--mode",
                      "description": "Set the mode value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove upgrade-policy in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"upgradePolicy\" : {\r\n             \"mode\":null\r\n           }\r\n           ...\r\n         }\r\n\r\n         There are two sets of commands:\r\n           1) function commands that are used to manage Azure resources in the cloud, and \r\n           2) parameter commands that generate & edit input files for the other set of commands.\r\n         For example, 'vmss show/list/stop' are the function commands that call get, list and stop operations of \r\n         virtual machine scale set, whereas 'vmss config * generate/create/set/delete/add' commands \r\n         are used to configure the input parameter file. The 'vmss config' command takes a parameter \r\n         file as for the VM scale set configuration, and creates it online.",
                  "fullName": "vmss config upgrade-policy delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--mode",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--mode",
                      "description": "Remove the mode value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "virtual-machine-profile": {
              "name": "virtual-machine-profile",
              "description": "Commands to configure virtual-machine-profile of vmss in config file.",
              "fullName": "vmss config virtual-machine-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set virtual-machine-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"virtualMachineProfile\" : {\r\n             \"osProfile\":{\r\n               \"computerNamePrefix\":\"\",\r\n               \"adminUsername\":\"\",\r\n               \"adminPassword\":\"\",\r\n               \"customData\":\"\",\r\n               \"windowsConfiguration\":{\r\n                 \"provisionVMAgent\":null,\r\n                 \"enableAutomaticUpdates\":null,\r\n                 \"timeZone\":\"\",\r\n                 \"additionalUnattendContent\":[\r\n                   {\r\n                     \"passName\":null,\r\n                     \"componentName\":null,\r\n                     \"settingName\":null,\r\n                     \"content\":\"\"\r\n                   }\r\n                 ],\r\n                 \"winRM\":{\r\n                   \"listeners\":[\r\n                     {\r\n                       \"protocol\":null,\r\n                       \"certificateUrl\":\"\"\r\n                     }\r\n                   ]\r\n                 }\r\n               },\r\n               \"linuxConfiguration\":{\r\n                 \"disablePasswordAuthentication\":null,\r\n                 \"ssh\":{\r\n                   \"publicKeys\":[\r\n                     {\r\n                       \"path\":\"\",\r\n                       \"keyData\":\"\"\r\n                     }\r\n                   ]\r\n                 }\r\n               },\r\n               \"secrets\":[\r\n                 {\r\n                   \"sourceVault\":{\r\n                     \"id\":\"\"\r\n                   },\r\n                   \"vaultCertificates\":[\r\n                     {\r\n                       \"certificateUrl\":\"\",\r\n                       \"certificateStore\":\"\"\r\n                     }\r\n                   ]\r\n                 }\r\n               ]\r\n             },\r\n             \"storageProfile\":{\r\n               \"imageReference\":{\r\n                 \"publisher\":\"\",\r\n                 \"offer\":\"\",\r\n                 \"sku\":\"\",\r\n                 \"version\":\"\"\r\n               },\r\n               \"osDisk\":{\r\n                 \"name\":\"\",\r\n                 \"caching\":null,\r\n                 \"createOption\":\"\",\r\n                 \"osType\":null,\r\n                 \"image\":{\r\n                   \"uri\":\"\"\r\n                 },\r\n                 \"vhdContainers\":[\r\n                   \"\"\r\n                 ]\r\n               }\r\n             },\r\n             \"networkProfile\":{\r\n               \"networkInterfaceConfigurations\":[\r\n                 {\r\n                   \"name\":\"\",\r\n                   \"primary\":null,\r\n                   \"ipConfigurations\":[\r\n                     {\r\n                       \"name\":\"\",\r\n                       \"subnet\":{\r\n                         \"id\":\"\"\r\n                       },\r\n                       \"applicationGatewayBackendAddressPools\":[\r\n                         {\r\n                           \"id\":\"\"\r\n                         }\r\n                       ],\r\n                       \"loadBalancerBackendAddressPools\":[\r\n                         {\r\n                           \"id\":\"\"\r\n                         }\r\n                       ],\r\n                       \"loadBalancerInboundNatPools\":[\r\n                         {\r\n                           \"id\":\"\"\r\n                         }\r\n                       ],\r\n                       \"id\":\"\"\r\n                     }\r\n                   ],\r\n                   \"id\":\"\"\r\n                 }\r\n               ]\r\n             },\r\n             \"extensionProfile\":{\r\n               \"extensions\":[\r\n                 {\r\n                   \"name\":\"\",\r\n                   \"publisher\":\"\",\r\n                   \"type\":\"\",\r\n                   \"typeHandlerVersion\":\"\",\r\n                   \"autoUpgradeMinorVersion\":null,\r\n                   \"settings\":{\r\n                   },\r\n                   \"protectedSettings\":{\r\n                   },\r\n                   \"provisioningState\":\"\",\r\n                   \"id\":\"\"\r\n                 }\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config virtual-machine-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--os-profile <osProfile>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--os-profile",
                      "description": "Set the os-profile value."
                    },
                    {
                      "flags": "--storage-profile <storageProfile>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "long": "--storage-profile",
                      "description": "Set the storage-profile value."
                    },
                    {
                      "flags": "--network-profile <networkProfile>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-profile",
                      "description": "Set the network-profile value."
                    },
                    {
                      "flags": "--extension-profile <extensionProfile>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "long": "--extension-profile",
                      "description": "Set the extension-profile value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove virtual-machine-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"virtualMachineProfile\" : {\r\n             \"osProfile\":{\r\n               \"computerNamePrefix\":\"\",\r\n               \"adminUsername\":\"\",\r\n               \"adminPassword\":\"\",\r\n               \"customData\":\"\",\r\n               \"windowsConfiguration\":{\r\n                 \"provisionVMAgent\":null,\r\n                 \"enableAutomaticUpdates\":null,\r\n                 \"timeZone\":\"\",\r\n                 \"additionalUnattendContent\":[\r\n                   {\r\n                     \"passName\":null,\r\n                     \"componentName\":null,\r\n                     \"settingName\":null,\r\n                     \"content\":\"\"\r\n                   }\r\n                 ],\r\n                 \"winRM\":{\r\n                   \"listeners\":[\r\n                     {\r\n                       \"protocol\":null,\r\n                       \"certificateUrl\":\"\"\r\n                     }\r\n                   ]\r\n                 }\r\n               },\r\n               \"linuxConfiguration\":{\r\n                 \"disablePasswordAuthentication\":null,\r\n                 \"ssh\":{\r\n                   \"publicKeys\":[\r\n                     {\r\n                       \"path\":\"\",\r\n                       \"keyData\":\"\"\r\n                     }\r\n                   ]\r\n                 }\r\n               },\r\n               \"secrets\":[\r\n                 {\r\n                   \"sourceVault\":{\r\n                     \"id\":\"\"\r\n                   },\r\n                   \"vaultCertificates\":[\r\n                     {\r\n                       \"certificateUrl\":\"\",\r\n                       \"certificateStore\":\"\"\r\n                     }\r\n                   ]\r\n                 }\r\n               ]\r\n             },\r\n             \"storageProfile\":{\r\n               \"imageReference\":{\r\n                 \"publisher\":\"\",\r\n                 \"offer\":\"\",\r\n                 \"sku\":\"\",\r\n                 \"version\":\"\"\r\n               },\r\n               \"osDisk\":{\r\n                 \"name\":\"\",\r\n                 \"caching\":null,\r\n                 \"createOption\":\"\",\r\n                 \"osType\":null,\r\n                 \"image\":{\r\n                   \"uri\":\"\"\r\n                 },\r\n                 \"vhdContainers\":[\r\n                   \"\"\r\n                 ]\r\n               }\r\n             },\r\n             \"networkProfile\":{\r\n               \"networkInterfaceConfigurations\":[\r\n                 {\r\n                   \"name\":\"\",\r\n                   \"primary\":null,\r\n                   \"ipConfigurations\":[\r\n                     {\r\n                       \"name\":\"\",\r\n                       \"subnet\":{\r\n                         \"id\":\"\"\r\n                       },\r\n                       \"applicationGatewayBackendAddressPools\":[\r\n                         {\r\n                           \"id\":\"\"\r\n                         }\r\n                       ],\r\n                       \"loadBalancerBackendAddressPools\":[\r\n                         {\r\n                           \"id\":\"\"\r\n                         }\r\n                       ],\r\n                       \"loadBalancerInboundNatPools\":[\r\n                         {\r\n                           \"id\":\"\"\r\n                         }\r\n                       ],\r\n                       \"id\":\"\"\r\n                     }\r\n                   ],\r\n                   \"id\":\"\"\r\n                 }\r\n               ]\r\n             },\r\n             \"extensionProfile\":{\r\n               \"extensions\":[\r\n                 {\r\n                   \"name\":\"\",\r\n                   \"publisher\":\"\",\r\n                   \"type\":\"\",\r\n                   \"typeHandlerVersion\":\"\",\r\n                   \"autoUpgradeMinorVersion\":null,\r\n                   \"settings\":{\r\n                   },\r\n                   \"protectedSettings\":{\r\n                   },\r\n                   \"provisioningState\":\"\",\r\n                   \"id\":\"\"\r\n                 }\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config virtual-machine-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--os-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--os-profile",
                      "description": "Remove the os-profile value."
                    },
                    {
                      "flags": "--storage-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--storage-profile",
                      "description": "Remove the storage-profile value."
                    },
                    {
                      "flags": "--network-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-profile",
                      "description": "Remove the network-profile value."
                    },
                    {
                      "flags": "--extension-profile",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--extension-profile",
                      "description": "Remove the extension-profile value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "os-profile": {
              "name": "os-profile",
              "description": "Commands to configure os-profile of vmss in config file.",
              "fullName": "vmss config os-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set os-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"osProfile\" : {\r\n             \"computerNamePrefix\":\"\",\r\n             \"adminUsername\":\"\",\r\n             \"adminPassword\":\"\",\r\n             \"customData\":\"\",\r\n             \"windowsConfiguration\":{\r\n               \"provisionVMAgent\":null,\r\n               \"enableAutomaticUpdates\":null,\r\n               \"timeZone\":\"\",\r\n               \"additionalUnattendContent\":[\r\n                 {\r\n                   \"passName\":null,\r\n                   \"componentName\":null,\r\n                   \"settingName\":null,\r\n                   \"content\":\"\"\r\n                 }\r\n               ],\r\n               \"winRM\":{\r\n                 \"listeners\":[\r\n                   {\r\n                     \"protocol\":null,\r\n                     \"certificateUrl\":\"\"\r\n                   }\r\n                 ]\r\n               }\r\n             },\r\n             \"linuxConfiguration\":{\r\n               \"disablePasswordAuthentication\":null,\r\n               \"ssh\":{\r\n                 \"publicKeys\":[\r\n                   {\r\n                     \"path\":\"\",\r\n                     \"keyData\":\"\"\r\n                   }\r\n                 ]\r\n               }\r\n             },\r\n             \"secrets\":[\r\n               {\r\n                 \"sourceVault\":{\r\n                   \"id\":\"\"\r\n                 },\r\n                 \"vaultCertificates\":[\r\n                   {\r\n                     \"certificateUrl\":\"\",\r\n                     \"certificateStore\":\"\"\r\n                   }\r\n                 ]\r\n               }\r\n             ]\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config os-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--computer-name-prefix <computerNamePrefix>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "long": "--computer-name-prefix",
                      "description": "Set the computer-name-prefix value."
                    },
                    {
                      "flags": "--admin-username <adminUsername>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-username",
                      "description": "Set the admin-username value."
                    },
                    {
                      "flags": "--admin-password <adminPassword>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-password",
                      "description": "Set the admin-password value."
                    },
                    {
                      "flags": "--custom-data <customData>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--custom-data",
                      "description": "Set the custom-data value."
                    },
                    {
                      "flags": "--windows-configuration <windowsConfiguration>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "long": "--windows-configuration",
                      "description": "Set the windows-configuration value."
                    },
                    {
                      "flags": "--linux-configuration <linuxConfiguration>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "long": "--linux-configuration",
                      "description": "Set the linux-configuration value."
                    },
                    {
                      "flags": "--secrets <secrets>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--secrets",
                      "description": "Set the secrets value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove os-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"osProfile\" : {\r\n             \"computerNamePrefix\":\"\",\r\n             \"adminUsername\":\"\",\r\n             \"adminPassword\":\"\",\r\n             \"customData\":\"\",\r\n             \"windowsConfiguration\":{\r\n               \"provisionVMAgent\":null,\r\n               \"enableAutomaticUpdates\":null,\r\n               \"timeZone\":\"\",\r\n               \"additionalUnattendContent\":[\r\n                 {\r\n                   \"passName\":null,\r\n                   \"componentName\":null,\r\n                   \"settingName\":null,\r\n                   \"content\":\"\"\r\n                 }\r\n               ],\r\n               \"winRM\":{\r\n                 \"listeners\":[\r\n                   {\r\n                     \"protocol\":null,\r\n                     \"certificateUrl\":\"\"\r\n                   }\r\n                 ]\r\n               }\r\n             },\r\n             \"linuxConfiguration\":{\r\n               \"disablePasswordAuthentication\":null,\r\n               \"ssh\":{\r\n                 \"publicKeys\":[\r\n                   {\r\n                     \"path\":\"\",\r\n                     \"keyData\":\"\"\r\n                   }\r\n                 ]\r\n               }\r\n             },\r\n             \"secrets\":[\r\n               {\r\n                 \"sourceVault\":{\r\n                   \"id\":\"\"\r\n                 },\r\n                 \"vaultCertificates\":[\r\n                   {\r\n                     \"certificateUrl\":\"\",\r\n                     \"certificateStore\":\"\"\r\n                   }\r\n                 ]\r\n               }\r\n             ]\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config os-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--computer-name-prefix",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--computer-name-prefix",
                      "description": "Remove the computer-name-prefix value."
                    },
                    {
                      "flags": "--admin-username",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-username",
                      "description": "Remove the admin-username value."
                    },
                    {
                      "flags": "--admin-password",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--admin-password",
                      "description": "Remove the admin-password value."
                    },
                    {
                      "flags": "--custom-data",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--custom-data",
                      "description": "Remove the custom-data value."
                    },
                    {
                      "flags": "--windows-configuration",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--windows-configuration",
                      "description": "Remove the windows-configuration value."
                    },
                    {
                      "flags": "--linux-configuration",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--linux-configuration",
                      "description": "Remove the linux-configuration value."
                    },
                    {
                      "flags": "--secrets",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--secrets",
                      "description": "Remove the secrets value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "windows-configuration": {
              "name": "windows-configuration",
              "description": "Commands to configure windows-configuration of vmss in config file.",
              "fullName": "vmss config windows-configuration",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set windows-configuration in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"windowsConfiguration\" : {\r\n             \"provisionVMAgent\":null,\r\n             \"enableAutomaticUpdates\":null,\r\n             \"timeZone\":\"\",\r\n             \"additionalUnattendContent\":[\r\n               {\r\n                 \"passName\":null,\r\n                 \"componentName\":null,\r\n                 \"settingName\":null,\r\n                 \"content\":\"\"\r\n               }\r\n             ],\r\n             \"winRM\":{\r\n               \"listeners\":[\r\n                 {\r\n                   \"protocol\":null,\r\n                   \"certificateUrl\":\"\"\r\n                 }\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config windows-configuration set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--provision-vm-agent <provisionVMAgent>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "long": "--provision-vm-agent",
                      "description": "Set the provision-vm-agent value."
                    },
                    {
                      "flags": "--enable-automatic-updates <enableAutomaticUpdates>",
                      "required": -28,
                      "optional": 0,
                      "bool": true,
                      "long": "--enable-automatic-updates",
                      "description": "Set the enable-automatic-updates value."
                    },
                    {
                      "flags": "--time-zone <timeZone>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--time-zone",
                      "description": "Set the time-zone value."
                    },
                    {
                      "flags": "--additional-unattend-content <additionalUnattendContent>",
                      "required": -31,
                      "optional": 0,
                      "bool": true,
                      "long": "--additional-unattend-content",
                      "description": "Set the additional-unattend-content value."
                    },
                    {
                      "flags": "--win-rm <winRM>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--win-rm",
                      "description": "Set the win-rm value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove windows-configuration in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"windowsConfiguration\" : {\r\n             \"provisionVMAgent\":null,\r\n             \"enableAutomaticUpdates\":null,\r\n             \"timeZone\":\"\",\r\n             \"additionalUnattendContent\":[\r\n               {\r\n                 \"passName\":null,\r\n                 \"componentName\":null,\r\n                 \"settingName\":null,\r\n                 \"content\":\"\"\r\n               }\r\n             ],\r\n             \"winRM\":{\r\n               \"listeners\":[\r\n                 {\r\n                   \"protocol\":null,\r\n                   \"certificateUrl\":\"\"\r\n                 }\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config windows-configuration delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--provision-vm-agent",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--provision-vm-agent",
                      "description": "Remove the provision-vm-agent value."
                    },
                    {
                      "flags": "--enable-automatic-updates",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--enable-automatic-updates",
                      "description": "Remove the enable-automatic-updates value."
                    },
                    {
                      "flags": "--time-zone",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--time-zone",
                      "description": "Remove the time-zone value."
                    },
                    {
                      "flags": "--additional-unattend-content",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--additional-unattend-content",
                      "description": "Remove the additional-unattend-content value."
                    },
                    {
                      "flags": "--win-rm",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--win-rm",
                      "description": "Remove the win-rm value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "additional-unattend-content": {
              "name": "additional-unattend-content",
              "description": "Commands to configure additional-unattend-content of vmss in config file.",
              "fullName": "vmss config additional-unattend-content",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set additional-unattend-content in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"additionalUnattendContent\" : {\r\n             \"passName\":null,\r\n             \"componentName\":null,\r\n             \"settingName\":null,\r\n             \"content\":\"\"\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.",
                  "fullName": "vmss config additional-unattend-content set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--pass-name <passName>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--pass-name",
                      "description": "Set the pass-name value."
                    },
                    {
                      "flags": "--component-name <componentName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--component-name",
                      "description": "Set the component-name value."
                    },
                    {
                      "flags": "--setting-name <settingName>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--setting-name",
                      "description": "Set the setting-name value."
                    },
                    {
                      "flags": "--content <content>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--content",
                      "description": "Set the content value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove additional-unattend-content in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"additionalUnattendContent\" : {\r\n             \"passName\":null,\r\n             \"componentName\":null,\r\n             \"settingName\":null,\r\n             \"content\":\"\"\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.",
                  "fullName": "vmss config additional-unattend-content delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--pass-name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--pass-name",
                      "description": "Remove the pass-name value."
                    },
                    {
                      "flags": "--component-name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--component-name",
                      "description": "Remove the component-name value."
                    },
                    {
                      "flags": "--setting-name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--setting-name",
                      "description": "Remove the setting-name value."
                    },
                    {
                      "flags": "--content",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--content",
                      "description": "Remove the content value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "win-rm": {
              "name": "win-rm",
              "description": "Commands to configure win-rm of vmss in config file.",
              "fullName": "vmss config win-rm",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set win-rm in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"winRM\" : {\r\n             \"listeners\":[\r\n               {\r\n                 \"protocol\":null,\r\n                 \"certificateUrl\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config win-rm set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--listeners <listeners>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--listeners",
                      "description": "Set the listeners value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove win-rm in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"winRM\" : {\r\n             \"listeners\":[\r\n               {\r\n                 \"protocol\":null,\r\n                 \"certificateUrl\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config win-rm delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--listeners",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--listeners",
                      "description": "Remove the listeners value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "listeners": {
              "name": "listeners",
              "description": "Commands to configure listeners of vmss in config file.",
              "fullName": "vmss config listeners",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set listeners in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"listeners\" : {\r\n             \"protocol\":null,\r\n             \"certificateUrl\":\"\"\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.",
                  "fullName": "vmss config listeners set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--protocol <protocol>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "Set the protocol value."
                    },
                    {
                      "flags": "--certificate-url <certificateUrl>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "long": "--certificate-url",
                      "description": "Set the certificate-url value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove listeners in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"listeners\" : {\r\n             \"protocol\":null,\r\n             \"certificateUrl\":\"\"\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.",
                  "fullName": "vmss config listeners delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--protocol",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--protocol",
                      "description": "Remove the protocol value."
                    },
                    {
                      "flags": "--certificate-url",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--certificate-url",
                      "description": "Remove the certificate-url value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "linux-configuration": {
              "name": "linux-configuration",
              "description": "Commands to configure linux-configuration of vmss in config file.",
              "fullName": "vmss config linux-configuration",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set linux-configuration in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"linuxConfiguration\" : {\r\n             \"disablePasswordAuthentication\":null,\r\n             \"ssh\":{\r\n               \"publicKeys\":[\r\n                 {\r\n                   \"path\":\"\",\r\n                   \"keyData\":\"\"\r\n                 }\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config linux-configuration set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--disable-password-authentication <disablePasswordAuthentication>",
                      "required": -35,
                      "optional": 0,
                      "bool": true,
                      "long": "--disable-password-authentication",
                      "description": "Set the disable-password-authentication value."
                    },
                    {
                      "flags": "--ssh <ssh>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--ssh",
                      "description": "Set the ssh value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove linux-configuration in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"linuxConfiguration\" : {\r\n             \"disablePasswordAuthentication\":null,\r\n             \"ssh\":{\r\n               \"publicKeys\":[\r\n                 {\r\n                   \"path\":\"\",\r\n                   \"keyData\":\"\"\r\n                 }\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config linux-configuration delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--disable-password-authentication",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--disable-password-authentication",
                      "description": "Remove the disable-password-authentication value."
                    },
                    {
                      "flags": "--ssh",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--ssh",
                      "description": "Remove the ssh value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "ssh": {
              "name": "ssh",
              "description": "Commands to configure ssh of vmss in config file.",
              "fullName": "vmss config ssh",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "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                 \"path\":\"\",\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.",
                  "fullName": "vmss config ssh set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--public-keys <publicKeys>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "long": "--public-keys",
                      "description": "Set the public-keys value."
                    }
                  ]
                },
                {
                  "name": "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                 \"path\":\"\",\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.",
                  "fullName": "vmss config ssh delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--public-keys",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--public-keys",
                      "description": "Remove the public-keys value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "public-keys": {
              "name": "public-keys",
              "description": "Commands to configure public-keys of vmss in config file.",
              "fullName": "vmss config public-keys",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set public-keys in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"publicKeys\" : {\r\n             \"path\":\"\",\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.",
                  "fullName": "vmss config public-keys set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--path <path>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--path",
                      "description": "Set the path value."
                    },
                    {
                      "flags": "--key-data <keyData>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--key-data",
                      "description": "Set the key-data value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove public-keys in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"publicKeys\" : {\r\n             \"path\":\"\",\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.",
                  "fullName": "vmss config public-keys delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--path",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--path",
                      "description": "Remove the path value."
                    },
                    {
                      "flags": "--key-data",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--key-data",
                      "description": "Remove the key-data value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "secrets": {
              "name": "secrets",
              "description": "Commands to configure secrets of vmss in config file.",
              "fullName": "vmss config secrets",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set secrets in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"secrets\" : {\r\n             \"sourceVault\":{\r\n               \"id\":\"\"\r\n             },\r\n             \"vaultCertificates\":[\r\n               {\r\n                 \"certificateUrl\":\"\",\r\n                 \"certificateStore\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\r\n         }\r\n\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.",
                  "fullName": "vmss config secrets set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--source-vault <sourceVault>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-vault",
                      "description": "Set the source-vault value."
                    },
                    {
                      "flags": "--vault-certificates <vaultCertificates>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "long": "--vault-certificates",
                      "description": "Set the vault-certificates value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove secrets in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"secrets\" : {\r\n             \"sourceVault\":{\r\n               \"id\":\"\"\r\n             },\r\n             \"vaultCertificates\":[\r\n               {\r\n                 \"certificateUrl\":\"\",\r\n                 \"certificateStore\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\r\n         }\r\n\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.",
                  "fullName": "vmss config secrets delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--source-vault",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--source-vault",
                      "description": "Remove the source-vault value."
                    },
                    {
                      "flags": "--vault-certificates",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--vault-certificates",
                      "description": "Remove the vault-certificates value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "source-vault": {
              "name": "source-vault",
              "description": "Commands to configure source-vault of vmss in config file.",
              "fullName": "vmss config source-vault",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set source-vault in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"sourceVault\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config source-vault set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--secrets-index <secrets-index>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--secrets-index",
                      "description": "Indexer: secrets-index."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove source-vault in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"sourceVault\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config source-vault delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--secrets-index <secrets-index>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--secrets-index",
                      "description": "Indexer: secrets-index."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "vault-certificates": {
              "name": "vault-certificates",
              "description": "Commands to configure vault-certificates of vmss in config file.",
              "fullName": "vmss config vault-certificates",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set vault-certificates in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"vaultCertificates\" : {\r\n             \"certificateUrl\":\"\",\r\n             \"certificateStore\":\"\"\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.",
                  "fullName": "vmss config vault-certificates set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--secrets-index <secrets-index>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--secrets-index",
                      "description": "Indexer: secrets-index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--certificate-url <certificateUrl>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "long": "--certificate-url",
                      "description": "Set the certificate-url value."
                    },
                    {
                      "flags": "--certificate-store <certificateStore>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "long": "--certificate-store",
                      "description": "Set the certificate-store value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove vault-certificates in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"vaultCertificates\" : {\r\n             \"certificateUrl\":\"\",\r\n             \"certificateStore\":\"\"\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.",
                  "fullName": "vmss config vault-certificates delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--secrets-index <secrets-index>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--secrets-index",
                      "description": "Indexer: secrets-index."
                    },
                    {
                      "flags": "--certificate-url",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--certificate-url",
                      "description": "Remove the certificate-url value."
                    },
                    {
                      "flags": "--certificate-store",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--certificate-store",
                      "description": "Remove the certificate-store value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "storage-profile": {
              "name": "storage-profile",
              "description": "Commands to configure storage-profile of vmss in config file.",
              "fullName": "vmss config storage-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set storage-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"storageProfile\" : {\r\n             \"imageReference\":{\r\n               \"publisher\":\"\",\r\n               \"offer\":\"\",\r\n               \"sku\":\"\",\r\n               \"version\":\"\"\r\n             },\r\n             \"osDisk\":{\r\n               \"name\":\"\",\r\n               \"caching\":null,\r\n               \"createOption\":\"\",\r\n               \"osType\":null,\r\n               \"image\":{\r\n                 \"uri\":\"\"\r\n               },\r\n               \"vhdContainers\":[\r\n                 \"\"\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config storage-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--image-reference <imageReference>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "long": "--image-reference",
                      "description": "Set the image-reference value."
                    },
                    {
                      "flags": "--os-disk <osDisk>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--os-disk",
                      "description": "Set the os-disk value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove storage-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"storageProfile\" : {\r\n             \"imageReference\":{\r\n               \"publisher\":\"\",\r\n               \"offer\":\"\",\r\n               \"sku\":\"\",\r\n               \"version\":\"\"\r\n             },\r\n             \"osDisk\":{\r\n               \"name\":\"\",\r\n               \"caching\":null,\r\n               \"createOption\":\"\",\r\n               \"osType\":null,\r\n               \"image\":{\r\n                 \"uri\":\"\"\r\n               },\r\n               \"vhdContainers\":[\r\n                 \"\"\r\n               ]\r\n             }\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config storage-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--image-reference",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--image-reference",
                      "description": "Remove the image-reference value."
                    },
                    {
                      "flags": "--os-disk",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--os-disk",
                      "description": "Remove the os-disk value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "image-reference": {
              "name": "image-reference",
              "description": "Commands to configure image-reference of vmss in config file.",
              "fullName": "vmss config image-reference",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set image-reference in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"imageReference\" : {\r\n             \"publisher\":\"\",\r\n             \"offer\":\"\",\r\n             \"sku\":\"\",\r\n             \"version\":\"\"\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.",
                  "fullName": "vmss config image-reference set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--publisher <publisher>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--publisher",
                      "description": "Set the publisher value."
                    },
                    {
                      "flags": "--offer <offer>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--offer",
                      "description": "Set the offer value."
                    },
                    {
                      "flags": "--sku <sku>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--sku",
                      "description": "Set the sku value."
                    },
                    {
                      "flags": "--version <version>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--version",
                      "description": "Set the version value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove image-reference in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"imageReference\" : {\r\n             \"publisher\":\"\",\r\n             \"offer\":\"\",\r\n             \"sku\":\"\",\r\n             \"version\":\"\"\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.",
                  "fullName": "vmss config image-reference delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--publisher",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--publisher",
                      "description": "Remove the publisher value."
                    },
                    {
                      "flags": "--offer",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--offer",
                      "description": "Remove the offer value."
                    },
                    {
                      "flags": "--sku",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--sku",
                      "description": "Remove the sku value."
                    },
                    {
                      "flags": "--version",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--version",
                      "description": "Remove the version value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "os-disk": {
              "name": "os-disk",
              "description": "Commands to configure os-disk of vmss in config file.",
              "fullName": "vmss config os-disk",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set os-disk in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"osDisk\" : {\r\n             \"name\":\"\",\r\n             \"caching\":null,\r\n             \"createOption\":\"\",\r\n             \"osType\":null,\r\n             \"image\":{\r\n               \"uri\":\"\"\r\n             },\r\n             \"vhdContainers\":[\r\n               \"\"\r\n             ]\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config os-disk set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--caching <caching>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--caching",
                      "description": "Set the caching value."
                    },
                    {
                      "flags": "--create-option <createOption>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "long": "--create-option",
                      "description": "Set the create-option value."
                    },
                    {
                      "flags": "--os-type <osType>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--os-type",
                      "description": "Set the os-type value."
                    },
                    {
                      "flags": "--image <image>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--image",
                      "description": "Set the image value."
                    },
                    {
                      "flags": "--vhd-containers <vhdContainers>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--vhd-containers",
                      "description": "Set the vhd-containers value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove os-disk in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"osDisk\" : {\r\n             \"name\":\"\",\r\n             \"caching\":null,\r\n             \"createOption\":\"\",\r\n             \"osType\":null,\r\n             \"image\":{\r\n               \"uri\":\"\"\r\n             },\r\n             \"vhdContainers\":[\r\n               \"\"\r\n             ]\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config os-disk delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--caching",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--caching",
                      "description": "Remove the caching value."
                    },
                    {
                      "flags": "--create-option",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--create-option",
                      "description": "Remove the create-option value."
                    },
                    {
                      "flags": "--os-type",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--os-type",
                      "description": "Remove the os-type value."
                    },
                    {
                      "flags": "--image",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--image",
                      "description": "Remove the image value."
                    },
                    {
                      "flags": "--vhd-containers",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--vhd-containers",
                      "description": "Remove the vhd-containers value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "image": {
              "name": "image",
              "description": "Commands to configure image of vmss in config file.",
              "fullName": "vmss config image",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set image in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"image\" : {\r\n             \"uri\":\"\"\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.",
                  "fullName": "vmss config image set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--uri <uri>",
                      "required": -7,
                      "optional": 0,
                      "bool": true,
                      "long": "--uri",
                      "description": "Set the uri value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove image in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"image\" : {\r\n             \"uri\":\"\"\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.",
                  "fullName": "vmss config image delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--uri",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--uri",
                      "description": "Remove the uri value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "vhd-containers": {
              "name": "vhd-containers",
              "description": "Commands to configure vhd-containers of vmss in config file.",
              "fullName": "vmss config vhd-containers",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set vhd-containers in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"vhdContainers\" : \"\"\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.",
                  "fullName": "vmss config vhd-containers set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove vhd-containers in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"vhdContainers\" : \"\"\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.",
                  "fullName": "vmss config vhd-containers delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "network-profile": {
              "name": "network-profile",
              "description": "Commands to configure network-profile of vmss in config file.",
              "fullName": "vmss config network-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set network-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"networkProfile\" : {\r\n             \"networkInterfaceConfigurations\":[\r\n               {\r\n                 \"name\":\"\",\r\n                 \"primary\":null,\r\n                 \"ipConfigurations\":[\r\n                   {\r\n                     \"name\":\"\",\r\n                     \"subnet\":{\r\n                       \"id\":\"\"\r\n                     },\r\n                     \"applicationGatewayBackendAddressPools\":[\r\n                       {\r\n                         \"id\":\"\"\r\n                       }\r\n                     ],\r\n                     \"loadBalancerBackendAddressPools\":[\r\n                       {\r\n                         \"id\":\"\"\r\n                       }\r\n                     ],\r\n                     \"loadBalancerInboundNatPools\":[\r\n                       {\r\n                         \"id\":\"\"\r\n                       }\r\n                     ],\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"id\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config network-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--network-interface-configurations <networkInterfaceConfigurations>",
                      "required": -36,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations",
                      "description": "Set the network-interface-configurations value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove network-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"networkProfile\" : {\r\n             \"networkInterfaceConfigurations\":[\r\n               {\r\n                 \"name\":\"\",\r\n                 \"primary\":null,\r\n                 \"ipConfigurations\":[\r\n                   {\r\n                     \"name\":\"\",\r\n                     \"subnet\":{\r\n                       \"id\":\"\"\r\n                     },\r\n                     \"applicationGatewayBackendAddressPools\":[\r\n                       {\r\n                         \"id\":\"\"\r\n                       }\r\n                     ],\r\n                     \"loadBalancerBackendAddressPools\":[\r\n                       {\r\n                         \"id\":\"\"\r\n                       }\r\n                     ],\r\n                     \"loadBalancerInboundNatPools\":[\r\n                       {\r\n                         \"id\":\"\"\r\n                       }\r\n                     ],\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"id\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\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.",
                  "fullName": "vmss config network-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--network-interface-configurations",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations",
                      "description": "Remove the network-interface-configurations value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "network-interface-configurations": {
              "name": "network-interface-configurations",
              "description": "Commands to configure network-interface-configurations of vmss in config file.",
              "fullName": "vmss config network-interface-configurations",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set network-interface-configurations in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"networkInterfaceConfigurations\" : {\r\n             \"name\":\"\",\r\n             \"primary\":null,\r\n             \"ipConfigurations\":[\r\n               {\r\n                 \"name\":\"\",\r\n                 \"subnet\":{\r\n                   \"id\":\"\"\r\n                 },\r\n                 \"applicationGatewayBackendAddressPools\":[\r\n                   {\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"loadBalancerBackendAddressPools\":[\r\n                   {\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"loadBalancerInboundNatPools\":[\r\n                   {\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"id\":\"\"\r\n           }\r\n           ...\r\n         }\r\n\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.",
                  "fullName": "vmss config network-interface-configurations set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--primary <primary>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "long": "--primary",
                      "description": "Set the primary value."
                    },
                    {
                      "flags": "--ip-configurations <ipConfigurations>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations",
                      "description": "Set the ip-configurations value."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove network-interface-configurations in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"networkInterfaceConfigurations\" : {\r\n             \"name\":\"\",\r\n             \"primary\":null,\r\n             \"ipConfigurations\":[\r\n               {\r\n                 \"name\":\"\",\r\n                 \"subnet\":{\r\n                   \"id\":\"\"\r\n                 },\r\n                 \"applicationGatewayBackendAddressPools\":[\r\n                   {\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"loadBalancerBackendAddressPools\":[\r\n                   {\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"loadBalancerInboundNatPools\":[\r\n                   {\r\n                     \"id\":\"\"\r\n                   }\r\n                 ],\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"id\":\"\"\r\n           }\r\n           ...\r\n         }\r\n\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.",
                  "fullName": "vmss config network-interface-configurations delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--primary",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--primary",
                      "description": "Remove the primary value."
                    },
                    {
                      "flags": "--ip-configurations",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations",
                      "description": "Remove the ip-configurations value."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "ip-configurations": {
              "name": "ip-configurations",
              "description": "Commands to configure ip-configurations of vmss in config file.",
              "fullName": "vmss config ip-configurations",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set ip-configurations in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"ipConfigurations\" : {\r\n             \"name\":\"\",\r\n             \"subnet\":{\r\n               \"id\":\"\"\r\n             },\r\n             \"applicationGatewayBackendAddressPools\":[\r\n               {\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"loadBalancerBackendAddressPools\":[\r\n               {\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"loadBalancerInboundNatPools\":[\r\n               {\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"id\":\"\"\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config ip-configurations set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--subnet <subnet>",
                      "required": -10,
                      "optional": 0,
                      "bool": true,
                      "long": "--subnet",
                      "description": "Set the subnet value."
                    },
                    {
                      "flags": "--application-gateway-backend-address-pools <applicationGatewayBackendAddressPools>",
                      "required": -45,
                      "optional": 0,
                      "bool": true,
                      "long": "--application-gateway-backend-address-pools",
                      "description": "Set the application-gateway-backend-address-pools value."
                    },
                    {
                      "flags": "--load-balancer-backend-address-pools <loadBalancerBackendAddressPools>",
                      "required": -39,
                      "optional": 0,
                      "bool": true,
                      "long": "--load-balancer-backend-address-pools",
                      "description": "Set the load-balancer-backend-address-pools value."
                    },
                    {
                      "flags": "--load-balancer-inbound-nat-pools <loadBalancerInboundNatPools>",
                      "required": -35,
                      "optional": 0,
                      "bool": true,
                      "long": "--load-balancer-inbound-nat-pools",
                      "description": "Set the load-balancer-inbound-nat-pools value."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove ip-configurations in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"ipConfigurations\" : {\r\n             \"name\":\"\",\r\n             \"subnet\":{\r\n               \"id\":\"\"\r\n             },\r\n             \"applicationGatewayBackendAddressPools\":[\r\n               {\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"loadBalancerBackendAddressPools\":[\r\n               {\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"loadBalancerInboundNatPools\":[\r\n               {\r\n                 \"id\":\"\"\r\n               }\r\n             ],\r\n             \"id\":\"\"\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config ip-configurations delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--subnet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--subnet",
                      "description": "Remove the subnet value."
                    },
                    {
                      "flags": "--application-gateway-backend-address-pools",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--application-gateway-backend-address-pools",
                      "description": "Remove the application-gateway-backend-address-pools value."
                    },
                    {
                      "flags": "--load-balancer-backend-address-pools",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--load-balancer-backend-address-pools",
                      "description": "Remove the load-balancer-backend-address-pools value."
                    },
                    {
                      "flags": "--load-balancer-inbound-nat-pools",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--load-balancer-inbound-nat-pools",
                      "description": "Remove the load-balancer-inbound-nat-pools value."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "subnet": {
              "name": "subnet",
              "description": "Commands to configure subnet of vmss in config file.",
              "fullName": "vmss config subnet",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set subnet in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"subnet\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config subnet set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove subnet in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"subnet\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config subnet delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "application-gateway-backend-address-pools": {
              "name": "application-gateway-backend-address-pools",
              "description": "Commands to configure application-gateway-backend-address-pools of vmss in config file.",
              "fullName": "vmss config application-gateway-backend-address-pools",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set application-gateway-backend-address-pools in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"applicationGatewayBackendAddressPools\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config application-gateway-backend-address-pools set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove application-gateway-backend-address-pools in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"applicationGatewayBackendAddressPools\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config application-gateway-backend-address-pools delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "load-balancer-backend-address-pools": {
              "name": "load-balancer-backend-address-pools",
              "description": "Commands to configure load-balancer-backend-address-pools of vmss in config file.",
              "fullName": "vmss config load-balancer-backend-address-pools",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set load-balancer-backend-address-pools in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"loadBalancerBackendAddressPools\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config load-balancer-backend-address-pools set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove load-balancer-backend-address-pools in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"loadBalancerBackendAddressPools\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config load-balancer-backend-address-pools delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "load-balancer-inbound-nat-pools": {
              "name": "load-balancer-inbound-nat-pools",
              "description": "Commands to configure load-balancer-inbound-nat-pools of vmss in config file.",
              "fullName": "vmss config load-balancer-inbound-nat-pools",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set load-balancer-inbound-nat-pools in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"loadBalancerInboundNatPools\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config load-balancer-inbound-nat-pools set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove load-balancer-inbound-nat-pools in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"loadBalancerInboundNatPools\" : {\r\n             \"id\":\"\"\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.",
                  "fullName": "vmss config load-balancer-inbound-nat-pools delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--ip-configurations-index <ip-configurations-index>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "long": "--ip-configurations-index",
                      "description": "Indexer: ip-configurations-index."
                    },
                    {
                      "flags": "--network-interface-configurations-index <network-interface-configurations-index>",
                      "required": -42,
                      "optional": 0,
                      "bool": true,
                      "long": "--network-interface-configurations-index",
                      "description": "Indexer: network-interface-configurations-index."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "extension-profile": {
              "name": "extension-profile",
              "description": "Commands to configure extension-profile of vmss in config file.",
              "fullName": "vmss config extension-profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set extension-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"extensionProfile\" : {\r\n             \"extensions\":[\r\n               {\r\n                 \"name\":\"\",\r\n                 \"publisher\":\"\",\r\n                 \"type\":\"\",\r\n                 \"typeHandlerVersion\":\"\",\r\n                 \"autoUpgradeMinorVersion\":null,\r\n                 \"settings\":{\r\n                 },\r\n                 \"protectedSettings\":{\r\n                 },\r\n                 \"provisioningState\":\"\",\r\n                 \"id\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config extension-profile set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--extensions <extensions>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "long": "--extensions",
                      "description": "Set the extensions value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove extension-profile in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"extensionProfile\" : {\r\n             \"extensions\":[\r\n               {\r\n                 \"name\":\"\",\r\n                 \"publisher\":\"\",\r\n                 \"type\":\"\",\r\n                 \"typeHandlerVersion\":\"\",\r\n                 \"autoUpgradeMinorVersion\":null,\r\n                 \"settings\":{\r\n                 },\r\n                 \"protectedSettings\":{\r\n                 },\r\n                 \"provisioningState\":\"\",\r\n                 \"id\":\"\"\r\n               }\r\n             ]\r\n           }\r\n           ...\r\n         }\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.",
                  "fullName": "vmss config extension-profile delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--extensions",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--extensions",
                      "description": "Remove the extensions value."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "extensions": {
              "name": "extensions",
              "description": "Commands to configure extensions of vmss in config file.",
              "fullName": "vmss config extensions",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set extensions in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"extensions\" : {\r\n             \"name\":\"\",\r\n             \"publisher\":\"\",\r\n             \"type\":\"\",\r\n             \"typeHandlerVersion\":\"\",\r\n             \"autoUpgradeMinorVersion\":null,\r\n             \"settings\":{\r\n             },\r\n             \"protectedSettings\":{\r\n             },\r\n             \"provisioningState\":\"\",\r\n             \"id\":\"\"\r\n           }\r\n           ...\r\n         }\r\n\r\n         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.",
                  "fullName": "vmss config extensions set",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--value <value>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--value",
                      "description": "The input string value for the indexed item."
                    },
                    {
                      "flags": "--parse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse",
                      "description": "Parse the input string, i.e. str, for parameters to a JSON object, e.g. JSON.parse(str)."
                    },
                    {
                      "flags": "--name <name>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Set the name value."
                    },
                    {
                      "flags": "--publisher <publisher>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "long": "--publisher",
                      "description": "Set the publisher value."
                    },
                    {
                      "flags": "--type <type>",
                      "required": -8,
                      "optional": 0,
                      "bool": true,
                      "long": "--type",
                      "description": "Set the type value."
                    },
                    {
                      "flags": "--type-handler-version <typeHandlerVersion>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "long": "--type-handler-version",
                      "description": "Set the type-handler-version value."
                    },
                    {
                      "flags": "--auto-upgrade-minor-version <autoUpgradeMinorVersion>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "long": "--auto-upgrade-minor-version",
                      "description": "Set the auto-upgrade-minor-version value."
                    },
                    {
                      "flags": "--settings <settings>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "long": "--settings",
                      "description": "Set the settings value."
                    },
                    {
                      "flags": "--protected-settings <protectedSettings>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "long": "--protected-settings",
                      "description": "Set the protected-settings value."
                    },
                    {
                      "flags": "--provisioning-state <provisioningState>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "long": "--provisioning-state",
                      "description": "Set the provisioning-state value."
                    },
                    {
                      "flags": "--id <id>",
                      "required": -6,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Set the id value."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Remove extensions in config string or files, e.g. \r\n         {\r\n           ...\r\n           \"extensions\" : {\r\n             \"name\":\"\",\r\n             \"publisher\":\"\",\r\n             \"type\":\"\",\r\n             \"typeHandlerVersion\":\"\",\r\n             \"autoUpgradeMinorVersion\":null,\r\n             \"settings\":{\r\n             },\r\n             \"protectedSettings\":{\r\n             },\r\n             \"provisioningState\":\"\",\r\n             \"id\":\"\"\r\n           }\r\n           ...\r\n         }\r\n\r\n         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.",
                  "fullName": "vmss config extensions delete",
                  "usage": "[options]",
                  "filePath": "commands/arm/compute/virtualMachineScaleSets.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "--parameter-file <parameter-file>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "long": "--parameter-file",
                      "description": "The parameter file path."
                    },
                    {
                      "flags": "--index <index>",
                      "required": -9,
                      "optional": 0,
                      "bool": true,
                      "long": "--index",
                      "description": "Indexer: index."
                    },
                    {
                      "flags": "--name",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--name",
                      "description": "Remove the name value."
                    },
                    {
                      "flags": "--publisher",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--publisher",
                      "description": "Remove the publisher value."
                    },
                    {
                      "flags": "--type",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--type",
                      "description": "Remove the type value."
                    },
                    {
                      "flags": "--type-handler-version",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--type-handler-version",
                      "description": "Remove the type-handler-version value."
                    },
                    {
                      "flags": "--auto-upgrade-minor-version",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--auto-upgrade-minor-version",
                      "description": "Remove the auto-upgrade-minor-version value."
                    },
                    {
                      "flags": "--settings",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--settings",
                      "description": "Remove the settings value."
                    },
                    {
                      "flags": "--protected-settings",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--protected-settings",
                      "description": "Remove the protected-settings value."
                    },
                    {
                      "flags": "--provisioning-state",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--provisioning-state",
                      "description": "Remove the provisioning-state value."
                    },
                    {
                      "flags": "--id",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--id",
                      "description": "Remove the id value."
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        }
      }
    },
    "vm": {
      "name": "vm",
      "description": "Commands to manage your virtual machines",
      "fullName": "vm",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "redeploy",
          "description": "The operation to redeploy a virtual machine.",
          "fullName": "vm redeploy",
          "usage": "[options] <resource-group> <vm-name>",
          "filePath": "commands/arm/compute/virtualMachines.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "resource-group"
            },
            {
              "flags": "-n, --vm-name <vm-name>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--vm-name",
              "description": "vm-name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "create",
          "description": "Create a virtual machine in a resource group",
          "fullName": "vm create",
          "usage": "[options] <resource-group> <name> <location> <os-type>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-D, --nic-id <nic-id>",
              "required": -14,
              "optional": 0,
              "bool": true,
              "short": "-D",
              "long": "--nic-id",
              "description": "the NIC identifier\n     e.g. /subscriptions/<subscriptipn-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkInterfaces/<nic-name>"
            },
            {
              "flags": "-f, --nic-name <nic-name>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-f",
              "long": "--nic-name",
              "description": "the NIC name\n     If this is an existing NIC then it must exists under the current resource group identified by resource-group\n     A new NIC will be created if no NIC exists with name nic-name in the current resource group\n     To create new NIC - subnet-id or vnet-name, vnet-address-prefix, subnet-name and vnet-subnet-address-prefix are required\n     Please use nic-id to refer an existing NIC in a different resource group\n     The parameter nic-name will be ignored when nic-id is specified"
            },
            {
              "flags": "-I, --nic-ids <nic-ids>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-I",
              "long": "--nic-ids",
              "description": "the list of NIC identifiers separated by comma. In case of specifying multiple nics first one will be set as primary."
            },
            {
              "flags": "-N, --nic-names <nic-names>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-N",
              "long": "--nic-names",
              "description": "the list of NIC names separated by comma. In case of specifying multiple nics first one will be set as primary.These NICs must exists in the same resource group as the VM. Please use nic-ids if that not the case. This parameter will be ignored if --nic-ids is specified"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location"
            },
            {
              "flags": "-y, --os-type <os-type>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-y",
              "long": "--os-type",
              "description": "the operating system Type, valid values are Windows, Linux"
            },
            {
              "flags": "-Q, --image-urn <image-urn>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-Q",
              "long": "--image-urn",
              "description": "the image URN in the form publisherName:offer:skus:version.\n                                               URN Aliases:\n                                                 Win2012R2Datacenter = MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest\n                                                 Win2012Datacenter = MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest\n                                                 Win2008R2SP1 = MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest\n                                                 CentOS = OpenLogic:CentOS:7.2:latest\n                                                 CoreOS = CoreOS:CoreOS:Stable:latest\n                                                 Debian = credativ:Debian:8:latest\n                                                 openSUSE = SUSE:openSUSE:13.2:latest\n                                                 RHEL = RedHat:RHEL:7.2:latest\n                                                 SLES = SUSE:SLES:12-SP1:latest\n                                                 UbuntuLTS = Canonical:UbuntuServer:14.04.4-LTS:latest\n\n      Or the source VHD link of a user image, e.g. https://foo.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/snap-bar.vhd\n      Option '-d' can be used with this option to specify the destination storage location where the new OS VHD will be created and put to.\n      In this case, OS profile credentials have to be specified, i.e. user name/password, or SSH keys, etc."
            },
            {
              "flags": "-u, --admin-username <admin-username>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--admin-username",
              "description": "the user name\n      This parameter is valid for a VM created from an image (image-urn) and ignored when VM is based on an existing disk"
            },
            {
              "flags": "-p, --admin-password <admin-password>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--admin-password",
              "description": "the password\n      This parameter is valid for a VM created from an image (image-urn) and ignored when VM is based on existing disk"
            },
            {
              "flags": "-M, --ssh-publickey-file <openssh-rsa-file|pem-file>",
              "required": -26,
              "optional": 0,
              "bool": true,
              "short": "-M",
              "long": "--ssh-publickey-file",
              "description": "path to public key PEM file or SSH Public key file for SSH authentication\n     This parameter is valid only when os-type is \"Linux\""
            },
            {
              "flags": "-G, --generate-ssh-keys",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-G",
              "long": "--generate-ssh-keys",
              "description": "Auto generate SSH keys, will be ignored if --ssh-publickey-file is specified. This parameter is valid only when os-type is \"Linux\""
            },
            {
              "flags": "-z, --vm-size <vm-size>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-z",
              "long": "--vm-size",
              "description": "the virtual machine size [Standard_DS1]"
            },
            {
              "flags": "-U, --public-ip-id <public-ip-id>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-U",
              "long": "--public-ip-id",
              "description": "the public ip identifier\n     e.g. /subscriptions/<subscriptipn-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
            },
            {
              "flags": "-i, --public-ip-name <public-ip-name>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-i",
              "long": "--public-ip-name",
              "description": "the public ip name\n     If this is an existing public IP then it must exists under the current resource group identified by resource-group\n     A new public IP will be created if no public IP exists with name public-ip-name in the current resource group\n     Please use public-ip-id to refer an existing public IP in a different resource group\n     The parameter public-ip-name will be ignored when public-ip-id is specified"
            },
            {
              "flags": "-w, --public-ip-domain-name <public-ip-domain-name>",
              "required": -29,
              "optional": 0,
              "bool": true,
              "short": "-w",
              "long": "--public-ip-domain-name",
              "description": "the public ip domain name\n     This sets the DNS to <publicip-domain-name>.<location>.cloudapp.azure.com\n     This parameter will be used only when creating new public IP"
            },
            {
              "flags": "-m, --public-ip-allocation-method <public-ip-allocation-method>",
              "required": -35,
              "optional": 0,
              "bool": true,
              "short": "-m",
              "long": "--public-ip-allocation-method",
              "description": "the public ip allocation method, valid values are \"Dynamic\"\n     This parameter will be used only when creating new public IP"
            },
            {
              "flags": "-t, --public-ip-idletimeout <public-ip-idletimeout>",
              "required": -29,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--public-ip-idletimeout",
              "description": "the public ip idle timeout specified in minutes\n     This parameter will be used only when creating new public IP"
            },
            {
              "flags": "-S, --subnet-id <subnet-id>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-S",
              "long": "--subnet-id",
              "description": "the subnet identifier\n     e.g. /subscriptions/<subscriptipn-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>"
            },
            {
              "flags": "-F, --vnet-name <vnet-name>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-F",
              "long": "--vnet-name",
              "description": "the virtual network name\n     If this is an existing vnet then it must exists under the current resource group identified by resource-group\n     If this is an existing vnet then vnet-subnet-name is required\n          If no subnet exists with name vnet-subnet-name then a new subnet will be created\n          To create new subnet - vnet-subnet-address-prefix is required\n     A new vnet will be created if no vnet exists with name vnet-name in the current resource group\n     To create new vnet - vnet-address-prefix, vnet-subnet-name and vnet-subnet-address-prefix are required\n     Please use subnet-id to refer an existing subnet under a vnet in a different resource group\n     vnet-name, vnet-address-prefix, vnet-subnet-name and vnet-subnet-address-prefix will be ignored when subnet-id is specified"
            },
            {
              "flags": "-P, --vnet-address-prefix <vnet-address-prefix>",
              "required": -27,
              "optional": 0,
              "bool": true,
              "short": "-P",
              "long": "--vnet-address-prefix",
              "description": "the virtual network address prefix in IPv4/CIDR format"
            },
            {
              "flags": "-j, --vnet-subnet-name <vnet-subnet-name>",
              "required": -24,
              "optional": 0,
              "bool": true,
              "short": "-j",
              "long": "--vnet-subnet-name",
              "description": "the virtual network subnet name"
            },
            {
              "flags": "-k, --vnet-subnet-address-prefix <vnet-subnet-address-prefix>",
              "required": -34,
              "optional": 0,
              "bool": true,
              "short": "-k",
              "long": "--vnet-subnet-address-prefix",
              "description": "the virtual network subnet address prefix in IPv4/CIDR format"
            },
            {
              "flags": "-r, --availset-name <availset-name>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--availset-name",
              "description": "the availability set name"
            },
            {
              "flags": "-o, --storage-account-name <storage-account-name>",
              "required": -28,
              "optional": 0,
              "bool": true,
              "short": "-o",
              "long": "--storage-account-name",
              "description": "the storage account name"
            },
            {
              "flags": "--storage-account-type <storage-account-type>",
              "required": -24,
              "optional": 0,
              "bool": true,
              "long": "--storage-account-type",
              "description": "the storage account type for to-be-generated storage account, default Premium_LRS"
            },
            {
              "flags": "-R, --storage-account-container-name <storage-account-container-name>",
              "required": -38,
              "optional": 0,
              "bool": true,
              "short": "-R",
              "long": "--storage-account-container-name",
              "description": "the storage account container name [vhds]"
            },
            {
              "flags": "-d, --os-disk-vhd <os-disk-vhd>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--os-disk-vhd",
              "description": "name or url of the OS disk Vhd\n     If this parameter is specified along with --image-urn ('-Q') parameter then OS disk created from the image will be stored in this vhd.\n     If this parameter is specified without --image-urn ('-Q') parameter then this vhd must exists and will be used as a specialized OS disk image.\n     If this parameter is specified without --image-urn ('-Q') parameter, OS profile credentials will be ignored, and the specialized credentials from the disk image will be used."
            },
            {
              "flags": "-a, --data-disk-caching <data-disk-caching>",
              "required": -25,
              "optional": 0,
              "bool": true,
              "short": "-a",
              "long": "--data-disk-caching",
              "description": "data disk caching, valid values are None, ReadOnly, ReadWrite"
            },
            {
              "flags": "-x, --data-disk-vhd <data-disk-vhd>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-x",
              "long": "--data-disk-vhd",
              "description": "name or url of the data disk Vhd"
            },
            {
              "flags": "-e, --data-disk-size <data-disk-size>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--data-disk-size",
              "description": "data disk size in GB"
            },
            {
              "flags": "-Y, --data-disk-existing",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-Y",
              "long": "--data-disk-existing",
              "description": "Will use existing VHD if specified. Don't specify this param if you are creating data disk from a new VHD."
            },
            {
              "flags": "-C, --custom-data <custom-data-file>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-C",
              "long": "--custom-data",
              "description": "CustomData file"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            },
            {
              "flags": "--tags <tags>",
              "required": -8,
              "optional": 0,
              "bool": true,
              "long": "--tags",
              "description": "Tags to set to the virtual machine. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, --tags tag1=value1;tag2"
            },
            {
              "flags": "--disable-boot-diagnostics",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--disable-boot-diagnostics",
              "description": "The switch parameter to disable the boot diagnostics (by default enabled) for VM."
            },
            {
              "flags": "--boot-diagnostics-storage-uri <boot-diagnostics-storage-uri>",
              "required": -32,
              "optional": 0,
              "bool": true,
              "long": "--boot-diagnostics-storage-uri",
              "description": "Optional. Specify storage account URL for boot diagnostics. In the format of 'https://your_stoage_account_name.blob.core.windows.net/'."
            },
            {
              "flags": "--disable-bginfo-extension",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--disable-bginfo-extension",
              "description": "The switch parameter to disable the BGInfo extension for VM."
            },
            {
              "flags": "--disk-encryption-key-vault-id <disk-encryption-key-vault-id>",
              "required": -32,
              "optional": 0,
              "bool": true,
              "long": "--disk-encryption-key-vault-id",
              "description": "The OS disk encryption key vault ID."
            },
            {
              "flags": "--disk-encryption-key-url <disk-encryption-key-url>",
              "required": -27,
              "optional": 0,
              "bool": true,
              "long": "--disk-encryption-key-url",
              "description": "The OS disk encryption key secret URL."
            },
            {
              "flags": "--key-encryption-key-vault-id <key-encryption-key-vault-id>",
              "required": -31,
              "optional": 0,
              "bool": true,
              "long": "--key-encryption-key-vault-id",
              "description": "The vault reference Url for the OS disk encryption key."
            },
            {
              "flags": "--key-encryption-key-url <key-encryption-key-url>",
              "required": -26,
              "optional": 0,
              "bool": true,
              "long": "--key-encryption-key-url",
              "description": "The Url of the master key used to encrypt the OS disk encryption key."
            },
            {
              "flags": "--license-type <license-type>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--license-type",
              "description": "The license type of the system; currently, only 'Windows_Sever' is supported."
            },
            {
              "flags": "--plan-name <plan-name>",
              "required": -13,
              "optional": 0,
              "bool": true,
              "long": "--plan-name",
              "description": "The plan name."
            },
            {
              "flags": "--plan-publisher <plan-publisher-name>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "long": "--plan-publisher",
              "description": "The plan publisher ID."
            },
            {
              "flags": "--plan-product <plan-product-name>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--plan-product",
              "description": "The plan product ID."
            },
            {
              "flags": "--plan-promotion-code <plan-promotion-code>",
              "required": -23,
              "optional": 0,
              "bool": true,
              "long": "--plan-promotion-code",
              "description": "The plan promotion code."
            }
          ]
        },
        {
          "name": "quick-create",
          "description": "Create a virtual machine with default resources in a resource group",
          "fullName": "vm quick-create",
          "usage": "[options] <resource-group> <name> <location> <os-type> <image-urn> <admin-username> <admin-password>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location"
            },
            {
              "flags": "-y, --os-type <os-type>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-y",
              "long": "--os-type",
              "description": "the operating system Type, valid values are Windows, Linux"
            },
            {
              "flags": "-Q, --image-urn <image-urn>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-Q",
              "long": "--image-urn",
              "description": "the image URN in the form \"publisherName:offer:skus:version\",\n                                               URN Aliases:\n                                                 Win2012R2Datacenter = MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest\n                                                 Win2012Datacenter = MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest\n                                                 Win2008R2SP1 = MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest\n                                                 CentOS = OpenLogic:CentOS:7.2:latest\n                                                 CoreOS = CoreOS:CoreOS:Stable:latest\n                                                 Debian = credativ:Debian:8:latest\n                                                 openSUSE = SUSE:openSUSE:13.2:latest\n                                                 RHEL = RedHat:RHEL:7.2:latest\n                                                 SLES = SUSE:SLES:12-SP1:latest\n                                                 UbuntuLTS = Canonical:UbuntuServer:14.04.4-LTS:latest\n                                               or the VHD link of a user image,\n                                               e.g. https://foo.blob.core.windows.net/bar/vhds/baz.vhd"
            },
            {
              "flags": "-z, --vm-size <vm-size>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-z",
              "long": "--vm-size",
              "description": "the virtual machine size [Standard_DS1]"
            },
            {
              "flags": "-u, --admin-username <admin-username>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--admin-username",
              "description": "the user name"
            },
            {
              "flags": "-p, --admin-password <admin-password>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--admin-password",
              "description": "the password, skipped if SSH public key file is specified for Linux VMs"
            },
            {
              "flags": "-M, --ssh-publickey-file <ssh-publickey-file>",
              "required": -26,
              "optional": 0,
              "bool": true,
              "short": "-M",
              "long": "--ssh-publickey-file",
              "description": "the path to public key file for SSH authentication,\n                                               & this parameter is valid only when os-type is Linux."
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "Get all virtual machines in a resource group",
          "fullName": "vm list",
          "usage": "[options] <resource-group>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list-ip-address",
          "description": "Get all virtual machines and their corresponding IP addresses in subscription. If a resource group is specified it will list virtual machines and their corresponding IP addresses in specified resource group.",
          "fullName": "vm list-ip-address",
          "usage": "[options] [resource-group]",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Get a virtual machine in a resource group",
          "fullName": "vm show",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-d, --depth <depth>",
              "required": -13,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--depth",
              "description": "the number of times to recurse, to recurse indefinitely pass \"full\". (valid only with --json option)"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Delete a virtual machine in a resource group",
          "fullName": "vm delete",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode, do not ask for delete confirmation"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "stop",
          "description": "Shutdown a virtual machine in a resource group",
          "fullName": "vm stop",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "restart",
          "description": "Restart a virtual machine in a resource group",
          "fullName": "vm restart",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "start",
          "description": "Start a virtual machine in a resource group",
          "fullName": "vm start",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "deallocate",
          "description": "Shutdown a virtual machine in a resource group and release the compute resources",
          "fullName": "vm deallocate",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "sizes",
          "description": "Get all available virtual machine sizes",
          "fullName": "vm sizes",
          "usage": "[options]",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location name, use this to get the list of VM sizes available in a location"
            },
            {
              "flags": "-n, --vm-name <vm-name>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--vm-name",
              "description": "the virtual machine name, use this to get the list of VM sizes available for a specific VM"
            },
            {
              "flags": "-g, --resource-group <resourceGroup>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name, required when --vm-name is specified"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "capture",
          "description": "Capture a VM in a resource group as an OS Image or VM Image",
          "fullName": "vm capture",
          "usage": "[options] <resource-group> <name> <vhd-name-prefix>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-p, --vhd-name-prefix <vhd-name-prefix>",
              "required": -23,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--vhd-name-prefix",
              "description": "Captured virtual hard disk's name prefix"
            },
            {
              "flags": "-R, --storage-account-container-name <storage-account-container-name>",
              "required": -38,
              "optional": 0,
              "bool": true,
              "short": "-R",
              "long": "--storage-account-container-name",
              "description": "the storage account container name [vhds]"
            },
            {
              "flags": "-o, --overwrite",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-o",
              "long": "--overwrite",
              "description": "In case of conflict overwrite the target virtual hard disk if set to true."
            },
            {
              "flags": "-t, --template-file-name <template-file-name>",
              "required": -26,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--template-file-name",
              "description": "Name of the file that will contain a template that can be used to create similar VMs."
            },
            {
              "flags": "-s, --subscription <id>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription id"
            }
          ]
        },
        {
          "name": "generalize",
          "description": "Set the state of a VM in a resource group to Generalized.",
          "fullName": "vm generalize",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "get-instance-view",
          "description": "Get instance view of a VM in a resource group.",
          "fullName": "vm get-instance-view",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "get-serial-output",
          "description": "Get serial output of a VM in a resource group.",
          "fullName": "vm get-serial-output",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            },
            {
              "flags": "--max-length <max-length>",
              "required": -14,
              "optional": 0,
              "bool": true,
              "long": "--max-length",
              "description": "the max number of characters shown in one page of log output"
            }
          ]
        },
        {
          "name": "reset-access",
          "description": "Enables you to reset Remote Desktop Access or SSH settings on a Virtual Machine and to reset the password for the account that has administrator or sudo authority.",
          "fullName": "vm reset-access",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-u, --user-name <user-name>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--user-name",
              "description": "the user name"
            },
            {
              "flags": "-p, --password <password>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--password",
              "description": "the password"
            },
            {
              "flags": "-M, --ssh-key-file <ssh-key-file>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-M",
              "long": "--ssh-key-file",
              "description": "path to public key PEM file or SSH Public key file for SSH authentication (valid only when os-type is \"Linux\")"
            },
            {
              "flags": "-r, --reset-ssh",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--reset-ssh",
              "description": "Reset the SSH configuration to default"
            },
            {
              "flags": "-E, --extension-version <version>",
              "required": -25,
              "optional": 0,
              "bool": true,
              "short": "-E",
              "long": "--extension-version",
              "description": "Version of VM Access extension [1.4]"
            },
            {
              "flags": "-e, --expiration <expiration>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--expiration",
              "description": "password expiration"
            },
            {
              "flags": "-R, --remove-user <remove-user-name>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-R",
              "long": "--remove-user",
              "description": "Remove a user account with specified name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "enable-aem",
          "description": "Enable Azure Enhanced Monitoring Extension on a VM in a resource group",
          "fullName": "vm enable-aem",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-a, --diagnostic-storage-account-name <name>",
              "required": -39,
              "optional": 0,
              "bool": true,
              "short": "-a",
              "long": "--diagnostic-storage-account-name",
              "description": "storage account name"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quite mode(do not ask for confirmation)"
            }
          ]
        },
        {
          "name": "set",
          "description": "Update a VM in a resource group.",
          "fullName": "vm set",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-I, --nic-ids <nic-ids>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-I",
              "long": "--nic-ids",
              "description": "the list of NIC identifiers separated by comma. In case of specifying multiple nics first one will be set as primary."
            },
            {
              "flags": "-N, --nic-names <nic-names>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-N",
              "long": "--nic-names",
              "description": "the list of NIC names separated by comma. In case of specifying multiple nics first one will be set as primary.These NICs must exists in the same resource group as the VM. Please use nic-ids if that not the case. This parameter will be ignored if --nic-ids is specified"
            },
            {
              "flags": "-z, --vm-size <vm-size>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-z",
              "long": "--vm-size",
              "description": "the virtual machine size"
            },
            {
              "flags": "-t, --tags <tags>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set to the resource group. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
            },
            {
              "flags": "-T, --no-tags",
              "required": 0,
              "optional": 0,
              "bool": false,
              "short": "-T",
              "long": "--no-tags",
              "description": "Remove all tags"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            },
            {
              "flags": "--disable-boot-diagnostics",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--disable-boot-diagnostics",
              "description": "The switch parameter to disable the boot diagnostics for VM."
            },
            {
              "flags": "--enable-boot-diagnostics",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--enable-boot-diagnostics",
              "description": "The switch parameter to enable the boot diagnostics for VM."
            },
            {
              "flags": "--boot-diagnostics-storage-uri <boot-diagnostics-storage-uri>",
              "required": -32,
              "optional": 0,
              "bool": true,
              "long": "--boot-diagnostics-storage-uri",
              "description": "The storage account URL for boot diagnostics. In the format of 'https://your_stoage_account_name.blob.core.windows.net/'."
            }
          ]
        },
        {
          "name": "list-usage",
          "description": "Get usage of compute resources.",
          "fullName": "vm list-usage",
          "usage": "[options] <location>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "enable-diag",
          "description": "Enable diagnostics extension on a VM in a resource group.",
          "fullName": "vm enable-diag",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-a, --storage-account-name <name>",
              "required": -28,
              "optional": 0,
              "bool": true,
              "short": "-a",
              "long": "--storage-account-name",
              "description": "the storage account name"
            },
            {
              "flags": "-c, --config-file <path>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-c",
              "long": "--config-file",
              "description": "path for WadCfg config file (collect basic metrics if not specified)"
            },
            {
              "flags": "-e, --extension-version <version>",
              "required": -25,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--extension-version",
              "description": "Version of Diagnostics extension. Default values are [1.5] for Windows and [2.3] for Linux."
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "enable-disk-encryption",
          "description": "Enable azure disk encryption on a VM in a resource group.",
          "fullName": "vm enable-disk-encryption",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-a, --aad-client-id <aad-client-id>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-a",
              "long": "--aad-client-id",
              "description": "Client ID of AAD app with permissions to write secrets to KeyVault"
            },
            {
              "flags": "-p, --aad-client-secret <aad-client-secret>",
              "required": -25,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--aad-client-secret",
              "description": "Client Secret of AAD app with permissions to write secrets to KeyVault"
            },
            {
              "flags": "-c, --aad-client-cert-thumbprint <aad-client-cert-thumbprint>",
              "required": -34,
              "optional": 0,
              "bool": true,
              "short": "-c",
              "long": "--aad-client-cert-thumbprint",
              "description": "Thumbprint of AAD app certificate with permissions to write secrets to KeyVault"
            },
            {
              "flags": "-k, --disk-encryption-key-vault-url <disk-encryption-key-vault-url>",
              "required": -37,
              "optional": 0,
              "bool": true,
              "short": "-k",
              "long": "--disk-encryption-key-vault-url",
              "description": "URL of the KeyVault where generated encryption key will be placed to"
            },
            {
              "flags": "-r, --disk-encryption-key-vault-id <disk-encryption-key-vault-id>",
              "required": -36,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--disk-encryption-key-vault-id",
              "description": "ResourceID of the KeyVault where generated encryption key will be placed to"
            },
            {
              "flags": "-u, --key-encryption-key-url <key-encryption-key-url>",
              "required": -30,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--key-encryption-key-url",
              "description": "Versioned KeyVault URL of the KeyEncryptionKey used to encrypt the disk encryption key"
            },
            {
              "flags": "-i, --key-encryption-key-vault-id <key-encryption-key-vault-id>",
              "required": -35,
              "optional": 0,
              "bool": true,
              "short": "-i",
              "long": "--key-encryption-key-vault-id",
              "description": "ResourceID of the KeyVault containing the KeyEncryptionKey used to encrypt the disk encryption key"
            },
            {
              "flags": "-l, --key-encryption-algorithm <key-encryption-algorithm>",
              "required": -32,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--key-encryption-algorithm",
              "description": "KeyEncryption Algorithm used to encrypt the volume encryption key"
            },
            {
              "flags": "-t, --volume-type <volume-type>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--volume-type",
              "description": "Type of the volume OS or Data or All to perform encryption operation"
            },
            {
              "flags": "-x, --sequence-version <sequence-version>",
              "required": -24,
              "optional": 0,
              "bool": true,
              "short": "-x",
              "long": "--sequence-version",
              "description": "Sequence version of encryption operation. This must be incremented to perform repeated encryption operations on the same VM"
            },
            {
              "flags": "-b, --passphrase <passphrase>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-b",
              "long": "--passphrase",
              "description": "Passphrase specified in parameter"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode, do not ask for confirmation"
            },
            {
              "flags": "-e, --extension-version <extension-version>",
              "required": -25,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--extension-version",
              "description": "Version of AzureDiskEncryption extension. Default values are [1.1] for Windows"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            },
            {
              "flags": "-d, --disable-auto-upgrade-minor-version",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--disable-auto-upgrade-minor-version",
              "description": "Disable auto-upgrade of minor version"
            }
          ]
        },
        {
          "name": "delete-backup",
          "description": "Deletes the backup for the vm",
          "fullName": "vm delete-backup",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-i, --identity <identity>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-i",
              "long": "--identity",
              "description": "The identity of the backup"
            }
          ]
        },
        {
          "name": "show-disk-encryption-status",
          "description": "Show azure disk encryption status of a VM in a resource group.",
          "fullName": "vm show-disk-encryption-status",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "disable-disk-encryption",
          "description": "Disable azure disk encryption on a VM in a resource group.",
          "fullName": "vm disable-disk-encryption",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/vm/vm.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the virtual machine name"
            },
            {
              "flags": "-t, --volume-type <volume-type>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--volume-type",
              "description": "Type of the volume OS or Data or All to perform encryption operation"
            },
            {
              "flags": "-x, --sequence-version <sequence-version>",
              "required": -24,
              "optional": 0,
              "bool": true,
              "short": "-x",
              "long": "--sequence-version",
              "description": "Sequence version of encryption operation. This must be incremented to perform repeated encryption operations on the same VM"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode, do not ask for confirmation"
            },
            {
              "flags": "-e, --extension-version <extension-version>",
              "required": -25,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--extension-version",
              "description": "Version of AzureDiskEncryption extension. Default values are [1.1] for Windows"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            },
            {
              "flags": "-d, --disable-auto-upgrade-minor-version",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--disable-auto-upgrade-minor-version",
              "description": "Disable auto-upgrade of minor version"
            }
          ]
        }
      ],
      "categories": {
        "disk": {
          "name": "disk",
          "description": "Commands to manage your Virtual Machine data disks",
          "fullName": "vm disk",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "attach-new",
              "description": "Attach a new data-disk to a VM in a resource group",
              "fullName": "vm disk attach-new",
              "usage": "[options] <resource-group> <vm-name> <size-in-gb> [vhd-name]",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-n, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-z, --size-in-gb <size-in-gb>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-z",
                  "long": "--size-in-gb",
                  "description": "the disk size in GB"
                },
                {
                  "flags": "-d, --vhd-name <vhd-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--vhd-name",
                  "description": "the name for the new VHD"
                },
                {
                  "flags": "-c, --host-caching <name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--host-caching",
                  "description": "the caching behaviour of disk [None, ReadOnly, ReadWrite]"
                },
                {
                  "flags": "-o, --storage-account-name <storageAccountName>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--storage-account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-r, --storage-account-container-name <storageAccountContainerName>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--storage-account-container-name",
                  "description": "the storage account container name [vhds]"
                },
                {
                  "flags": "-l, --lun <lun>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lun",
                  "description": "zero based logical unit number of the data disk"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "detach",
              "description": "Detach a data-disk attached to a VM in a resource group",
              "fullName": "vm disk detach",
              "usage": "[options] <resource-group> <vm-name> <lun>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-n, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-l, --lun <lun>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lun",
                  "description": "the data disk lun"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "attach",
              "description": "Attach a new data-disk to a VM in a resource group",
              "fullName": "vm disk attach",
              "usage": "[options] <resource-group> <vm-name> [vhd-url]",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-n, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-d, --vhd-url <vhd-url>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--vhd-url",
                  "description": "the URL of existing VHD"
                },
                {
                  "flags": "-c, --host-caching <name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--host-caching",
                  "description": "the caching behaviour of disk [None, ReadOnly, ReadWrite]"
                },
                {
                  "flags": "-l, --lun <lun>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lun",
                  "description": "zero based logical unit number of the data disk"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all data disks of a VM in a resource group",
              "fullName": "vm disk list",
              "usage": "[options] <resource-group> <vm-name>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-n, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            }
          ],
          "categories": {}
        },
        "extension": {
          "name": "extension",
          "description": "Commands to manage VM resource extensions",
          "fullName": "vm extension",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "set",
              "description": "Enable/disable resource extensions for a VM in a resource group",
              "fullName": "vm extension set",
              "usage": "[options] <resource-group> <vm-name> <name> <publisher-name> <version>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-m, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the extension name"
                },
                {
                  "flags": "-p, --publisher-name <publisher-name>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher-name",
                  "description": "the publisher name"
                },
                {
                  "flags": "-o, --version <version>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--version",
                  "description": "the extension version"
                },
                {
                  "flags": "-r, --reference-name <reference-name>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--reference-name",
                  "description": "extension's reference name"
                },
                {
                  "flags": "-i, --public-config <public-config>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--public-config",
                  "description": "public configuration text"
                },
                {
                  "flags": "-c, --public-config-path <public-config-path>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--public-config-path",
                  "description": "public configuration file path"
                },
                {
                  "flags": "-f, --private-config <private-config>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--private-config",
                  "description": "private configuration text"
                },
                {
                  "flags": "-e, --private-config-path <private-config-path>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--private-config-path",
                  "description": "private configuration file path"
                },
                {
                  "flags": "-u, --uninstall",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--uninstall",
                  "description": "uninstall extension"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set to the resource group. Can be mutliple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for uninstall confirmation"
                },
                {
                  "flags": "-U, --auto-upgrade-minor-version",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-U",
                  "long": "--auto-upgrade-minor-version",
                  "description": "Enable auto-upgrade across minor version"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "set-chef",
              "description": "Enable/disable chef extension for a VM in a resource group",
              "fullName": "vm extension set-chef",
              "usage": "[options] <resource-group> <vm-name> ",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-m, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-o, --version <version>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--version",
                  "description": "the extension version"
                },
                {
                  "flags": "-R, --run-list <run-list>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-R",
                  "long": "--run-list",
                  "description": "Runlist of roles/recipes to apply to VM"
                },
                {
                  "flags": "-O, --validation-pem <validation-pem>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-O",
                  "long": "--validation-pem",
                  "description": "chef validation pem file path. Not required if -C or --client-pem option specified"
                },
                {
                  "flags": "-c, --client-config <client-config>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--client-config",
                  "description": "chef client configuration file(i.e client.rb) path"
                },
                {
                  "flags": "-C, --client-pem <client-pem>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-C",
                  "long": "--client-pem",
                  "description": "chef client pem file path i.e required in validator less bootstrap"
                },
                {
                  "flags": "-j, --bootstrap-options <bootstrap-json-attribute>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--bootstrap-options",
                  "description": "Bootstrap options in JSON format. Ex: -j '{\"chef_node_name\":\"test_node\"}'"
                },
                {
                  "flags": "-u, --uninstall",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--uninstall",
                  "description": "uninstall extension"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set to the resource group. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for uninstall confirmation"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "get",
              "description": "Get extensions installed on a virtual machine in a resource group",
              "fullName": "vm extension get",
              "usage": "[options] <resource-group> <vm-name>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-m, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            },
            {
              "name": "get-chef",
              "description": "Get chef extension installed on a virtual machine in a resource group",
              "fullName": "vm extension get-chef",
              "usage": "[options] <resource-group> <vm-name>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name"
                },
                {
                  "flags": "-m, --vm-name <vm-name>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--vm-name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            }
          ],
          "categories": {}
        },
        "extension-image": {
          "name": "extension-image",
          "description": "Commands to query available VM resource extensions",
          "fullName": "vm extension-image",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list-publishers",
              "description": "Lists virtual machine/extension image publishers",
              "fullName": "vm extension-image list-publishers",
              "usage": "[options] <location>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list-types",
              "description": "Lists virtual machine extension image types by a publisher",
              "fullName": "vm extension-image list-types",
              "usage": "[options] <location> <publisher>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list-versions",
              "description": "Lists virtual machine extension image versions by publisher and type input",
              "fullName": "vm extension-image list-versions",
              "usage": "[options] <location> <publisher> <typeName>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-t, --typeName <typeName>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--typeName",
                  "description": "the type name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists virtual machine extension images by publisher, and type input",
              "fullName": "vm extension-image list",
              "usage": "[options] <location> <publisher> <typeName>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-t, --typeName <typeName>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--typeName",
                  "description": "the type name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Lists virtual machine extension image versions by publisher, type and version input",
              "fullName": "vm extension-image show",
              "usage": "[options] <location> <publisher> <typeName> <version>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-t, --typeName <typeName>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--typeName",
                  "description": "the type name"
                },
                {
                  "flags": "-v, --version <version>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--version",
                  "description": "the version"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "docker": {
          "name": "docker",
          "description": "Commands to manage your Docker Virtual Machine",
          "fullName": "vm docker",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a Docker virtual machine in a resource group",
              "fullName": "vm docker create",
              "usage": "[options] <resource-group> <name> <location> <os-type>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the virtual machine name"
                },
                {
                  "flags": "-T, --docker-port <port>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-T",
                  "long": "--docker-port",
                  "description": "Port to use for docker [2376]"
                },
                {
                  "flags": "-O, --docker-cert-dir <dir>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-O",
                  "long": "--docker-cert-dir",
                  "description": "Directory containing docker certs [~/.docker/]"
                },
                {
                  "flags": "-E, --docker-extension-version <version>",
                  "required": -32,
                  "optional": 0,
                  "bool": true,
                  "short": "-E",
                  "long": "--docker-extension-version",
                  "description": "Version of Docker Azure extension [1.0]"
                },
                {
                  "flags": "-c, --docker-cert-cn [CN]",
                  "required": 0,
                  "optional": -22,
                  "bool": true,
                  "short": "-c",
                  "long": "--docker-cert-cn",
                  "description": "Docker server certificate's CN. Can be set if you are using --tlsverify option for Docker connections. Default value is [*]"
                },
                {
                  "flags": "-D, --nic-id <nic-id>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-D",
                  "long": "--nic-id",
                  "description": "the NIC identifier\n     e.g. /subscriptions/<subscriptipn-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkInterfaces/<nic-name>"
                },
                {
                  "flags": "-f, --nic-name <nic-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--nic-name",
                  "description": "the NIC name\n     If this is an existing NIC then it must exists under the current resource group identified by resource-group\n     A new NIC will be created if no NIC exists with name nic-name in the current resource group\n     To create new NIC - subnet-id or vnet-name, vnet-address-prefix, subnet-name and vnet-subnet-address-prefix are required\n     Please use nic-id to refer an existing NIC in a different resource group\n     The parameter nic-name will be ignored when nic-id is specified"
                },
                {
                  "flags": "-I, --nic-ids <nic-ids>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-I",
                  "long": "--nic-ids",
                  "description": "the list of NIC identifiers separated by comma. In case of specifying multiple nics first one will be set as primary."
                },
                {
                  "flags": "-N, --nic-names <nic-names>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-N",
                  "long": "--nic-names",
                  "description": "the list of NIC names separated by comma. In case of specifying multiple nics first one will be set as primary.These NICs must exists in the same resource group as the VM. Please use nic-ids if that not the case. This parameter will be ignored if --nic-ids is specified"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-y, --os-type <os-type>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-y",
                  "long": "--os-type",
                  "description": "the operating system Type, valid values are Windows, Linux"
                },
                {
                  "flags": "-Q, --image-urn <image-urn>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-Q",
                  "long": "--image-urn",
                  "description": "the image URN in the form publisherName:offer:skus:version"
                },
                {
                  "flags": "-u, --admin-username <admin-username>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--admin-username",
                  "description": "the user name\n      This parameter is valid for a VM created from an image (image-urn) and ignored when VM is based on disk (os-disk-*)"
                },
                {
                  "flags": "-p, --admin-password <admin-password>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--admin-password",
                  "description": "the password\n      This parameter is valid for a VM created from an image (image-urn) and ignored when VM is based on disk (os-disk-*)"
                },
                {
                  "flags": "-M, --ssh-publickey-file <openssh-rsa-file|pem-file>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "short": "-M",
                  "long": "--ssh-publickey-file",
                  "description": "path to public key PEM file or SSH Public key file for SSH authentication\n     This parameter is valid only when os-type is \"Linux\""
                },
                {
                  "flags": "-G, --generate-ssh-keys",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-G",
                  "long": "--generate-ssh-keys",
                  "description": "Auto generate SSH keys, --ssh-publickey-file will be ignored. This parameter is valid only when os-type is \"Linux\""
                },
                {
                  "flags": "-z, --vm-size <vm-size>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-z",
                  "long": "--vm-size",
                  "description": "the virtual machine size [Standard_A1]"
                },
                {
                  "flags": "-U, --public-ip-id <public-ip-id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-U",
                  "long": "--public-ip-id",
                  "description": "the public ip identifier\n     e.g. /subscriptions/<subscriptipn-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                },
                {
                  "flags": "-i, --public-ip-name <public-ip-name>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--public-ip-name",
                  "description": "the public ip name\n     If this is an existing public IP then it must exists under the current resource group identified by resource-group\n     A new public IP will be created if no public IP exists with name public-ip-name in the current resource group\n     Please use public-ip-id to refer an existing public IP in a different resource group\n     The parameter public-ip-name will be ignored when public-ip-id is specified"
                },
                {
                  "flags": "-w, --public-ip-domain-name <public-ip-domain-name>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--public-ip-domain-name",
                  "description": "the public ip domain name\n     This sets the DNS to <publicip-domain-name>.<location>.cloudapp.azure.com\n     This parameter will be used only when creating new public IP"
                },
                {
                  "flags": "-m, --public-ip-allocationmethod <public-ip-allocationmethod>",
                  "required": -34,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--public-ip-allocationmethod",
                  "description": "the public ip allocation method, valid values are \"Dynamic\"\n     This parameter will be used only when creating new public IP"
                },
                {
                  "flags": "-t, --public-ip-idletimeout <public-ip-idletimeout>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--public-ip-idletimeout",
                  "description": "the public ip idle timeout specified in minutes\n     This parameter will be used only when creating new public IP"
                },
                {
                  "flags": "-S, --subnet-id <subnet-id>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-S",
                  "long": "--subnet-id",
                  "description": "the subnet identifier\n     e.g. /subscriptions/<subscriptipn-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>/subnets/<subnet-name>"
                },
                {
                  "flags": "-F, --vnet-name <vnet-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-F",
                  "long": "--vnet-name",
                  "description": "the virtual network name\n     If this is an existing vnet then it must exists under the current resource group identified by resource-group\n     If this is an existing vnet then vnet-subnet-name is required\n          If no subnet exists with name vnet-subnet-name then a new subnet will be created\n          To create new subnet vnet-subnet-address-prefix is required\n     A new vnet will be created if no vnet exists with name vnet-name in the current resource group\n     To create new vnet, vnet-address-prefix, vnet-subnet-name and vnet-subnet-address-prefix are required\n     Please use subnet-id to refer an existing subnet under a vnet in a different resource group\n     vnet-name, vnet-address-prefix, vnet-subnet-name and vnet-subnet-address-prefix will be ignored when subnet-id is specified"
                },
                {
                  "flags": "-P, --vnet-address-prefix <vnet-address-prefix>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-P",
                  "long": "--vnet-address-prefix",
                  "description": "the virtual network address prefix in IPv4/CIDR format"
                },
                {
                  "flags": "-j, --vnet-subnet-name <vnet-subnet-name>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--vnet-subnet-name",
                  "description": "the virtual network subnet name"
                },
                {
                  "flags": "-k, --vnet-subnet-address-prefix <vnet-subnet-address-prefix>",
                  "required": -34,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--vnet-subnet-address-prefix",
                  "description": "the virtual network subnet address prefix in IPv4/CIDR format"
                },
                {
                  "flags": "-r, --availset-name <availset-name>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--availset-name",
                  "description": "the availability set name"
                },
                {
                  "flags": "-o, --storage-account-name <storage-account-name>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--storage-account-name",
                  "description": "the storage account name"
                },
                {
                  "flags": "-R, --storage-account-container-name <storage-account-container-name>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "short": "-R",
                  "long": "--storage-account-container-name",
                  "description": "the storage account container name [vhds]"
                },
                {
                  "flags": "-d, --os-disk-vhd <os-disk-vhd>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--os-disk-vhd",
                  "description": "name or url of the OS disk Vhd\n     If this parameter is specified along with --image-urn parameter then OS disk created from the image will be stored in this vhd\n     If this parameter is specified without --image-urn parameter then this vhd must exists and will be used as OS Disk"
                },
                {
                  "flags": "-a, --data-disk-caching <data-disk-caching>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--data-disk-caching",
                  "description": "data disk caching, valid values are None, ReadOnly, ReadWrite"
                },
                {
                  "flags": "-x, --data-disk-vhd <data-disk-vhd>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-x",
                  "long": "--data-disk-vhd",
                  "description": "name or url of the data disk Vhd"
                },
                {
                  "flags": "-e, --data-disk-size <data-disk-size>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--data-disk-size",
                  "description": "data disk size in GB"
                },
                {
                  "flags": "-Y, --data-disk-existing",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-Y",
                  "long": "--data-disk-existing",
                  "description": "Will use existing VHD if specified. Don't specify this param if you are creating data disk from a new VHD."
                },
                {
                  "flags": "-C, --custom-data <custom-data-file>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-C",
                  "long": "--custom-data",
                  "description": "CustomData file"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "image": {
          "name": "image",
          "description": "Commands to manage VM images",
          "fullName": "vm image",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list-publishers",
              "description": "Lists virtual machines image publishers",
              "fullName": "vm image list-publishers",
              "usage": "[options] <location>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list-offers",
              "description": "Lists virtual machines image offers by a publisher",
              "fullName": "vm image list-offers",
              "usage": "[options] <location> <publisher>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list-skus",
              "description": "Lists virtual machines image skus for a specific offer from a publisher",
              "fullName": "vm image list-skus",
              "usage": "[options] <location> <publisher> <offer>",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-o, --offer <offer>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--offer",
                  "description": "the offer"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists the virtual machines images",
              "fullName": "vm image list",
              "usage": "[options] <location> <publisher> [offer] [sku]",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-o, --offer <offer>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--offer",
                  "description": "the offer"
                },
                {
                  "flags": "-k, --sku <sku>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--sku",
                  "description": "the sku"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Lists the virtual machines images",
              "fullName": "vm image show",
              "usage": "[options] <location> <publisher> [offer] [sku]",
              "filePath": "commands/arm/vm/vm.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-p, --publisher <publisher>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher name"
                },
                {
                  "flags": "-o, --offer <offer>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--offer",
                  "description": "the offer"
                },
                {
                  "flags": "-k, --sku <sku>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--sku",
                  "description": "the sku"
                },
                {
                  "flags": "-e, --version <version>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--version",
                  "description": "the version"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "datalake": {
      "name": "datalake",
      "description": "Commands to manage your Data Lake objects",
      "fullName": "datalake",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "analytics": {
          "name": "analytics",
          "description": "Commands to manage your Data Lake Analytics objects",
          "fullName": "datalake analytics",
          "usage": "[options]",
          "options": [],
          "commands": [],
          "categories": {
            "job": {
              "name": "job",
              "description": "Commands to manage your Data Lake Analytics Jobs",
              "fullName": "datalake analytics job",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Submits a job to the specified Data Lake Analytics account.",
                  "fullName": "datalake analytics job create",
                  "usage": "[options] <accountName> <jobName> <script>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Analytics account name to execute the action on"
                    },
                    {
                      "flags": "-j --jobName <jobName>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-j",
                      "long": "--jobName",
                      "description": "the name for this job submission"
                    },
                    {
                      "flags": "-t --script <script>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--script",
                      "description": "the script to run. This can be either the script contents, a relative path or the full path to a UTF-8 encoded script file"
                    },
                    {
                      "flags": "-r --runtime <runtime>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--runtime",
                      "description": "optionally indicates the runtime to use. The default runtime is the currently deployed production runtime.Use this if you have uploaded a custom runtime to your account and want job execution to go through that one instead of the one deployed by Microsoft."
                    },
                    {
                      "flags": "-m --compileMode <compileMode>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--compileMode",
                      "description": "optionally specify the type of compilation to do. Valid values are 'Semantic', 'Full', and 'SingleBox' Default is Full."
                    },
                    {
                      "flags": "-c --compileOnly <compileOnly>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--compileOnly",
                      "description": "optionally indicates that this job should only be compiled and not run."
                    },
                    {
                      "flags": "-d --degreeOfParallelism <degreeOfParallelism>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--degreeOfParallelism",
                      "description": "optionally specify the degree of parallelism for the job in a range from 1 to 50. Default value is 1."
                    },
                    {
                      "flags": "-p --priority <priority>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--priority",
                      "description": "optionally specify the priority for the job. Default value is 1000, with lower, positive, non-zero values having higher priority. 1 is the highest priority and int.maxValue is the lowest."
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "shows the specified job and additional data if desired.",
                  "fullName": "datalake analytics job show",
                  "usage": "[options] <accountName> <jobId>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Analytics account name to execute the action on"
                    },
                    {
                      "flags": "-j --jobId <jobId>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-j",
                      "long": "--jobId",
                      "description": "the job ID of the job to retrieve."
                    },
                    {
                      "flags": "-d --includeDebugInfo",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--includeDebugInfo",
                      "description": "optionally indicates that debug info should be output for the job as well."
                    },
                    {
                      "flags": "-t --includeStatistics",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--includeStatistics",
                      "description": "optionally indicates that statistics for the job should be output as well."
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "cancel",
                  "description": "cancels the specified job.",
                  "fullName": "datalake analytics job cancel",
                  "usage": "[options] <accountName> <jobId>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Analytics account name to execute the action on"
                    },
                    {
                      "flags": "-j --jobId <jobId>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-j",
                      "long": "--jobId",
                      "description": "the job ID of the job to retrieve."
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode (do not ask for cancel confirmation)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "lists the jobs in the specified account given the specified filters and criteria.",
                  "fullName": "datalake analytics job list",
                  "usage": "[options] <accountName>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Analytics account name to execute the action on"
                    },
                    {
                      "flags": "-j --jobName <jobName>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-j",
                      "long": "--jobName",
                      "description": "An optional filter which returns jobs with only the specified friendly name."
                    },
                    {
                      "flags": "-u, --submitter <submitter>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--submitter",
                      "description": "An optional filter which returns jobs only by the specified submitter in the format user@domain"
                    },
                    {
                      "flags": "-a, --submittedAfter <submittedAfter>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--submittedAfter",
                      "description": "An optional filter which returns jobs only submitted after the specified time (as a date time offset)."
                    },
                    {
                      "flags": "-b, --submittedBefore <submittedAfter>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--submittedBefore",
                      "description": "An optional filter which returns jobs only submitted before the specified time (as a date time offset)."
                    },
                    {
                      "flags": "-t, --state <comma delmited string of states>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--state",
                      "description": "An optional filter which returns jobs with only the specified states (as comma delmited string). Valid states are: accepted, compiling, ended, new, queued, running, scheduling, starting and paused"
                    },
                    {
                      "flags": "-r, --result <comma delmited string of results>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--result",
                      "description": "An optional filter which returns jobs with only the specified results (as comma delmited string). Valid results are: none, succeeded, cancelled and failed"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "catalog": {
              "name": "catalog",
              "description": "Commands to manage your Data Lake Analytics Catalog",
              "fullName": "datalake analytics catalog",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Lists all of the specified catalog item types under the path or, if the full path is given, just the single catalog item at that path.",
                  "fullName": "datalake analytics catalog list",
                  "usage": "[options] <accountName> <itemType> <itemPath>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "The Data Lake Analytics account name to perform the action on."
                    },
                    {
                      "flags": "-t --itemType <itemType>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--itemType",
                      "description": "The catalog item type to return. Valid values are (case insensitive): database, schema, secret, credential, assembly, externaldatasource, table, tablevaluedfunction, view, procedure, types, tablepartition or tablestatistics"
                    },
                    {
                      "flags": "-p --itemPath <itemPath>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--itemPath",
                      "description": "The path to the catalog item(s) to get or list in the format: <FirstPart>.<OptionalSecondPart>.<OptionalThirdPart>.<OptionalFourthPart>. This MUST be null when listing all databases."
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {
                "secret": {
                  "name": "secret",
                  "description": "Commands to manage your Data Lake Analytics Catalog secrets",
                  "fullName": "datalake analytics catalog secret",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "create",
                      "description": "Creates the specified secret for the specified database.",
                      "fullName": "datalake analytics catalog secret create",
                      "usage": "[options] <accountName> <databaseName> <hostUri> <secretName>",
                      "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "The Data Lake Analytics account name to perform the action on."
                        },
                        {
                          "flags": "-d --databaseName <databaseName>",
                          "required": -19,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--databaseName",
                          "description": "The name of the database in which the secret will be created."
                        },
                        {
                          "flags": "-u --hostUri <hostUri>",
                          "required": -14,
                          "optional": 0,
                          "bool": true,
                          "short": "-u",
                          "long": "--hostUri",
                          "description": "The full host URI associated with the external data source. The secret will be used with this host URI."
                        },
                        {
                          "flags": "-e --secretName <secretName>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-e",
                          "long": "--secretName",
                          "description": "secret name, will prompt if not given"
                        },
                        {
                          "flags": "-p --password <password>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-p",
                          "long": "--password",
                          "description": "secret password, will prompt if not given"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "set",
                      "description": "Updates the password and/or hostUri of the specified secret in the specified database.",
                      "fullName": "datalake analytics catalog secret set",
                      "usage": "[options] <accountName> <databaseName> <hostUri> <secretName>",
                      "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "The Data Lake Analytics account name to perform the action on."
                        },
                        {
                          "flags": "-d --databaseName <databaseName>",
                          "required": -19,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--databaseName",
                          "description": "The name of the database in which the secret will be updated."
                        },
                        {
                          "flags": "-u --hostUri <hostUri>",
                          "required": -14,
                          "optional": 0,
                          "bool": true,
                          "short": "-u",
                          "long": "--hostUri",
                          "description": "The full host URI associated with the external data source. The secret will be used with this host URI."
                        },
                        {
                          "flags": "-e --secretName <secretName>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-e",
                          "long": "--secretName",
                          "description": "secret name, will prompt if not given"
                        },
                        {
                          "flags": "-p --password <password>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-p",
                          "long": "--password",
                          "description": "secret password, will prompt if not given"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "delete",
                      "description": "Updates the password and/or hostUri of the specified secret in the specified database.",
                      "fullName": "datalake analytics catalog secret delete",
                      "usage": "[options] <accountName> <databaseName> <hostUri> <secretName>",
                      "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "The Data Lake Analytics account name to perform the action on."
                        },
                        {
                          "flags": "-d --databaseName <databaseName>",
                          "required": -19,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--databaseName",
                          "description": "The name of the database in which the secret(s) will be deleted."
                        },
                        {
                          "flags": "-e --secretName <secretName>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-e",
                          "long": "--secretName",
                          "description": "Optional secret name to delete, if not specified will delete all secrets in the specified database"
                        },
                        {
                          "flags": "-q, --quiet",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-q",
                          "long": "--quiet",
                          "description": "quiet mode (do not ask for delete confirmation)"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            },
            "account": {
              "name": "account",
              "description": "Commands to manage your Data Lake Analytics accounts",
              "fullName": "datalake analytics account",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List all Data Lake Analytics accounts available for your subscription or subscription and resource group",
                  "fullName": "datalake analytics account list",
                  "usage": "[options]",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to list the accounts in"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Shows a Data Lake Analytics account based on account name",
                  "fullName": "datalake analytics account show",
                  "usage": "[options] <accountName>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Analytics account name to retrieve"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to list the accounts in"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Deletes a Data Lake Analytics Account based on account name",
                  "fullName": "datalake analytics account delete",
                  "usage": "[options] <accountName>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Analytics account name to delete"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to force the command to find the Data Lake Analytics account to delete in."
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode (do not ask for delete confirmation)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "create",
                  "description": "Creates a Data Lake Analytics Account",
                  "fullName": "datalake analytics account create",
                  "usage": "[options] <accountName> <location> <resource-group> <defaultDataLakeStore>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "The Data Lake Analytics account name to create"
                    },
                    {
                      "flags": "-l --location <location>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--location",
                      "description": "the location the Data Lake Analytics account will be created in. Valid values are: North Central US, South Central US, Central US, West Europe, North Europe, West US, East US, East US 2, Japan East, Japan West, Brazil South, Southeast Asia, East Asia, Australia East, Australia Southeast"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group to create the account in"
                    },
                    {
                      "flags": "-d --defaultDataLakeStore <defaultDataLakeStore>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--defaultDataLakeStore",
                      "description": "the default Data Lake Store to associate with this account."
                    },
                    {
                      "flags": "-t --tags <tags>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "Tags to set to the the Data Lake Analytics account. Can be mutliple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Updates the properties of an existing Data Lake Analytics Account",
                  "fullName": "datalake analytics account set",
                  "usage": "[options] <accountName> <defaultDataLakeStore>",
                  "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "The Data Lake Analytics Account name to perform the action on."
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to forcibly look for the account to update in"
                    },
                    {
                      "flags": "-d --defaultDataLakeStore <defaultDataLakeStore>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--defaultDataLakeStore",
                      "description": "the optional new default Data Lake Store account to set for this account"
                    },
                    {
                      "flags": "-t --tags <tags>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "Tags to set to the Data Lake Analytics account group. Can be mutliple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                    },
                    {
                      "flags": "--no-tags",
                      "required": 0,
                      "optional": 0,
                      "bool": false,
                      "long": "--no-tags",
                      "description": "remove all existing tags"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {
                "datasource": {
                  "name": "datasource",
                  "description": "Commands to manage your Data Lake Analytics account data sources",
                  "fullName": "datalake analytics account datasource",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "add",
                      "description": "Adds an existing data source (Data Lake Store or Azure Blob) to the Data Lake Analytics Account",
                      "fullName": "datalake analytics account datasource add",
                      "usage": "[options] <accountName>",
                      "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "The Data Lake Analytics Account name to perform the action on."
                        },
                        {
                          "flags": "-l --dataLakeStore <dataLakeStore>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--dataLakeStore",
                          "description": "the Data Lake Store account to add. NOTE: this argument and --isDefaultDataLakeStore are part of a parameter set, and cannot be specified with --azureBlob and --accessKey."
                        },
                        {
                          "flags": "-d --isDefaultDataLakeStore",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--isDefaultDataLakeStore",
                          "description": "the optional switch to indicate that the Data Lake being added should be the default Data Lake. NOTE: this argument and --dataLakeStore are part of a parameter set, and cannot be specified with --azureBlob and --accessKey."
                        },
                        {
                          "flags": "-b --azureBlob <azureBlob>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-b",
                          "long": "--azureBlob",
                          "description": "the azure blob to add to the account. NOTE: this argument and --accessKey are part of a parameter set, and cannot be specified with --dataLakeStore and --isDefaultDataLakeStore."
                        },
                        {
                          "flags": "-k --accessKey <accessKey>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-k",
                          "long": "--accessKey",
                          "description": "the access key associated with the azureBlob. NOTE: this argument and --azureBlob are part of a parameter set, and cannot be specified with --dataLakeStore and --isDefaultDataLakeStore."
                        },
                        {
                          "flags": "-g --resource-group <resource-group>",
                          "required": -21,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the optional resource group to forcibly look for the account to update in"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "delete",
                      "description": "removes a data source (Data Lake Store or Azure Blob) from the Data Lake Analytics Account",
                      "fullName": "datalake analytics account datasource delete",
                      "usage": "[options] <accountName>",
                      "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "The Data Lake Analytics Account name to perform the action on."
                        },
                        {
                          "flags": "-l --dataLakeStore <dataLakeStore>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--dataLakeStore",
                          "description": "the Data Lake to remove from the account. NOTE: this argument is part of a parameter set, and cannot be specified with --azureBlob."
                        },
                        {
                          "flags": "-b --azureBlob <azureBlob>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-b",
                          "long": "--azureBlob",
                          "description": "the azure blob to remove from the account. NOTE: this argument is part of a parameter set, and cannot be specified with --dataLakeStore."
                        },
                        {
                          "flags": "-g --resource-group <resource-group>",
                          "required": -21,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the optional resource group to forcibly look for the account to update in"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "set",
                      "description": "Sets an existing data source (Data Lake Store or Azure Blob) in the Data Lake Analytics Account. Typically used to set the data source as default (for Data Lake) or update the access key (for Azure Blob)",
                      "fullName": "datalake analytics account datasource set",
                      "usage": "[options] <accountName>",
                      "filePath": "commands/arm/datalakeanalytics/datalakeanalytics.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "The Data Lake Analytics Account name to perform the action on."
                        },
                        {
                          "flags": "-l --dataLakeStore <dataLakeStore>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--dataLakeStore",
                          "description": "the Data Lake Store account to set. NOTE: this argument and --isDefaultDataLakeStore are part of a parameter set, and cannot be specified with --azureBlob and --accessKey."
                        },
                        {
                          "flags": "-d --isDefaultDataLakeStore",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--isDefaultDataLakeStore",
                          "description": "the optional switch to indicate that the Data Lake being set should be the default Data Lake. NOTE: this argument and --dataLakeStore are part of a parameter set, and cannot be specified with --azureBlob and --accessKey."
                        },
                        {
                          "flags": "-b --azureBlob <azureBlob>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-b",
                          "long": "--azureBlob",
                          "description": "the azure blob to set in the account. NOTE: this argument and --accessKey are part of a parameter set, and cannot be specified with --dataLakeStore and --isDefaultDataLakeStore."
                        },
                        {
                          "flags": "-k --accessKey <accessKey>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-k",
                          "long": "--accessKey",
                          "description": "the access key associated with the azureBlob to update. NOTE: this argument and --azureBlob are part of a parameter set, and cannot be specified with --dataLakeStore and --isDefaultDataLakeStore."
                        },
                        {
                          "flags": "-g --resource-group <resource-group>",
                          "required": -21,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the optional resource group to forcibly look for the account to update in"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            }
          }
        },
        "store": {
          "name": "store",
          "description": "Commands to manage your Data Lake Storage objects",
          "fullName": "datalake store",
          "usage": "[options]",
          "options": [],
          "commands": [],
          "categories": {
            "filesystem": {
              "name": "filesystem",
              "description": "Commands to manage your Data Lake Storage FileSystem",
              "fullName": "datalake store filesystem",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Lists the contents of the specified path (files and folders).",
                  "fullName": "datalake store filesystem list",
                  "usage": "[options] <accountName> <path>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the folder to list (e.g. /someFolder or /someFolder/someNestedFolder)"
                    },
                    {
                      "flags": "-l --listSize <listSize>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--listSize",
                      "description": "the optional number of entries to list. The default is all entries, which can potentially take some time for large directories.)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Gets the specified Data Lake Store file or folder details",
                  "fullName": "datalake store filesystem show",
                  "usage": "[options] <accountName> <path>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the folder or file to get (e.g. /someFolder or /someFolder/someFile.txt)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "deletes the specified Data Lake Store file or folder, with the option for recursive delete (if the folder has contents)",
                  "fullName": "datalake store filesystem delete",
                  "usage": "[options] <accountName> <path>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the folder or file to get (e.g. /someFolder or /someFolder/someFile.txt)"
                    },
                    {
                      "flags": "-r --recurse",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--recurse",
                      "description": "optionally indicates that this should be a recursive delete, which will delete a folder and all contents underneath it."
                    },
                    {
                      "flags": "-q --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "optionally indicates the delete should be immediately performed with no confirmation or prompting. Use carefully."
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "create",
                  "description": "Creates the specified folder or file, with the option to include content in file creation.",
                  "fullName": "datalake store filesystem create",
                  "usage": "[options] <accountName> <path>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the file to add content to (e.g. /someFolder/someFile.txt)"
                    },
                    {
                      "flags": "-v --value <value>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--value",
                      "description": "optional indicates the contents (as a string) to create the file with. NOTE: This parameter cannot be specified with --folder (-d)"
                    },
                    {
                      "flags": "-d --folder",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--folder",
                      "description": "optionally specify that the item being created is a folder, not a file. If this is not specified, a file will be created. NOTE: This parameter cannot be specified with --encoding (-e) or --value (-v)"
                    },
                    {
                      "flags": "-f --force",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--force",
                      "description": "optionally indicates that the file or folder being created can overwrite the file or folder at path if it already exists (default is false). 'true' must be passed in for the overwrite to work"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "import",
                  "description": "Uploads the specified the specified file, to the target destination in an Azure Data Lake. NOTE: Only text files are supported by this command at present.",
                  "fullName": "datalake store filesystem import",
                  "usage": "[options] <accountName> <path> <destination>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full local path to the file to import (e.g. /someFolder/someFile.txt or C:somefoldersomeFile.txt)"
                    },
                    {
                      "flags": "-d --destination <destination>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--destination",
                      "description": "the full path in the Data Lake Store where the file should be imported to (e.g. /someFolder/someFile.txt"
                    },
                    {
                      "flags": "-f --force",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--force",
                      "description": "optionally indicates that the file or folder being created can overwrite the file or folder at path if it already exists (default is false). 'true' must be passed in for the overwrite to work"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "concat",
                  "description": "Concatenates the specified list of files into the specified destination file.",
                  "fullName": "datalake store filesystem concat",
                  "usage": "[options] <accountName> <paths> <destination>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --paths <paths>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--paths",
                      "description": "a comma seperated list of full paths to concatenate (e.g. '/someFolder/someFile.txt,/somefolder/somefile2.txt,/anotherFolder/newFile.txt')"
                    },
                    {
                      "flags": "-d --destination <destination>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--destination",
                      "description": "specify the target file that all of the files in --paths should be concatenated into (e.g /someFolder/targetFile.txt)"
                    },
                    {
                      "flags": "-f --force",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--force",
                      "description": "optionally indicates that the file or folder being created can overwrite the file or folder at path if it already exists (default is false). 'true' must be passed in for the overwrite to work"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "move",
                  "description": "Moves (renames) the specified file or folder into the specified destination file or folder.",
                  "fullName": "datalake store filesystem move",
                  "usage": "[options] <accountName> <path> <destination>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the path to the file or folder to move (e.g. /someFolder or /someFolder/someFile.txt)"
                    },
                    {
                      "flags": "-d --destination <destination>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--destination",
                      "description": "specify the target location to move the file or folder to"
                    },
                    {
                      "flags": "-f --force",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--force",
                      "description": "optionally indicates that the file or folder being created can overwrite the file or folder at path if it already exists (default is false). 'true' must be passed in for the overwrite to work"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "addcontent",
                  "description": "Appends the specified content to the end of the Data Lake Store file path specified.",
                  "fullName": "datalake store filesystem addcontent",
                  "usage": "[options] <accountName> <path> <value>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the file to add content to (e.g. /someFolder/someFile.txt)"
                    },
                    {
                      "flags": "-v --value <value>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--value",
                      "description": "the contents to append to the file"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "export",
                  "description": "Downloads the specified file to the target location. NOTE: Only text files are supported by this command at present.",
                  "fullName": "datalake store filesystem export",
                  "usage": "[options] <accountName> <path> <destination>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path in the Data Lake Store where the file should be imported to (e.g. /someFolder/someFile.txt"
                    },
                    {
                      "flags": "-d --destination <destination>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--destination",
                      "description": "the full local path to the file to import (e.g. /someFolder/someFile.txt or C:somefoldersomeFile.txt)"
                    },
                    {
                      "flags": "-f --force",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--force",
                      "description": "optionally indicates that the file being created can overwrite the file at path if it already exists (default is false)."
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "read",
                  "description": "Previews the specified Data Lake Store file starting at index 0 (or the specified offset) until the length is reached, displaying the results to the console.",
                  "fullName": "datalake store filesystem read",
                  "usage": "[options] <accountName> <path> <length>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the file to download (e.g. /someFolder/someFile.txt)"
                    },
                    {
                      "flags": "-l --length <length>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--length",
                      "description": "the length, in bytes, to read from the file"
                    },
                    {
                      "flags": "-o --offset <offset>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--offset",
                      "description": "the optional offset to begin reading at (default is 0)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "permissions": {
              "name": "permissions",
              "description": "Commands to manage your Data Lake Storage FileSystem Permissions",
              "fullName": "datalake store permissions",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "show",
                  "description": "Gets the specified Data Lake Store folder ACL",
                  "fullName": "datalake store permissions show",
                  "usage": "[options] <accountName> <path>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the folder or file to get (e.g. /someFolder or /someFolder/someFile.txt)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "sets the specified Data Lake Store folder ACL (overwriting the previous ACL entries)",
                  "fullName": "datalake store permissions set",
                  "usage": "[options] <accountName> <path> <aclSpec>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name to execute the action on"
                    },
                    {
                      "flags": "-p --path <path>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "the full path to the folder to remove ACLs from (e.g. /someFolder)"
                    },
                    {
                      "flags": "-a --aclSpec <aclSpec>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--aclSpec",
                      "description": "a comma delimited list of fully qualified ACL entries to set in the format [default:]<user>|<group>:<object Id>:<permissions> (e.g 'user:5546499e-795f-4f5f-b411-8179051f8b0a:r-x' or 'default:group:5546499e-795f-4f5f-b411-8179051f8b0a:rwx'). This list must also include default entries (no object ID in the middle)"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode (do not ask for overwrite confirmation)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {
                "entry": {
                  "name": "entry",
                  "description": "Commands to manage your Data Lake Storage FileSystem granular permissions entries",
                  "fullName": "datalake store permissions entry",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "delete",
                      "description": "deletes the specific ACE entry or entries from the path",
                      "fullName": "datalake store permissions entry delete",
                      "usage": "[options] <accountName> <path> <aclEntries>",
                      "filePath": "commands/arm/datalakestore/datalakestore.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "the Data Lake Store account name to execute the action on"
                        },
                        {
                          "flags": "-p --path <path>",
                          "required": -11,
                          "optional": 0,
                          "bool": true,
                          "short": "-p",
                          "long": "--path",
                          "description": "the full path to the folder to remove ACEs from (e.g. /someFolder)"
                        },
                        {
                          "flags": "-a --aclEntries <aclEntries>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-a",
                          "long": "--aclEntries",
                          "description": "a comma delimited list of the fully qualified ACE entry or entries to delete in the format [default:]<user>|<group>:<object Id> (e.g 'user:5546499e-795f-4f5f-b411-8179051f8b0a' or 'default:group:5546499e-795f-4f5f-b411-8179051f8b0a')"
                        },
                        {
                          "flags": "-q, --quiet",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-q",
                          "long": "--quiet",
                          "description": "quiet mode (do not ask for delete confirmation)"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "set",
                      "description": "sets the specified Data Lake Store folder ACE entry or entries",
                      "fullName": "datalake store permissions entry set",
                      "usage": "[options] <accountName> <path> <aclEntries>",
                      "filePath": "commands/arm/datalakestore/datalakestore.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-n --accountName <accountName>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--accountName",
                          "description": "the Data Lake Store account name to execute the action on"
                        },
                        {
                          "flags": "-p --path <path>",
                          "required": -11,
                          "optional": 0,
                          "bool": true,
                          "short": "-p",
                          "long": "--path",
                          "description": "the full path to the folder to set ACEs on (e.g. /someFolder)"
                        },
                        {
                          "flags": "-a --aclEntries <aclEntries>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-a",
                          "long": "--aclEntries",
                          "description": "a comma delimited list of the fully qualified ACE entries to set in the format [default:]<user>|<group>:<object Id>:<permissions> (e.g 'user:5546499e-795f-4f5f-b411-8179051f8b0a:r-x' or 'default:group:5546499e-795f-4f5f-b411-8179051f8b0a:rwx')"
                        },
                        {
                          "flags": "-q, --quiet",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-q",
                          "long": "--quiet",
                          "description": "quiet mode (do not ask for overwrite confirmation)"
                        },
                        {
                          "flags": "-s, --subscription <id>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            },
            "account": {
              "name": "account",
              "description": "Commands to manage your Data Lake Storage accounts",
              "fullName": "datalake store account",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List all Data Lake Store accounts available for your subscription or subscription and resource group",
                  "fullName": "datalake store account list",
                  "usage": "[options]",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to list the accounts in"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Shows a Data Lake Store Account based on account name",
                  "fullName": "datalake store account show",
                  "usage": "[options] <accountName>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to list the accounts in"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Deletes a Data Lake Store Account based on account name",
                  "fullName": "datalake store account delete",
                  "usage": "[options] <accountName>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "the Data Lake Store account name"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to force the command to find the Data Lake Store account to delete in."
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode (do not ask for delete confirmation)"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "create",
                  "description": "Creates a Data Lake Store Account",
                  "fullName": "datalake store account create",
                  "usage": "[options] <accountName> <location> <resource-group>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "The Data Lake Store account name to create"
                    },
                    {
                      "flags": "-l --location <location>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--location",
                      "description": "the location the Data Lake Store account will be created in. Valid values are: North Central US, South Central US, Central US, West Europe, North Europe, West US, East US, East US 2, Japan East, Japan West, Brazil South, Southeast Asia, East Asia, Australia East, Australia Southeast"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the resource group to create the account in"
                    },
                    {
                      "flags": "-d --defaultGroup <defaultGroup>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--defaultGroup",
                      "description": "the optional default permissions group to add to the account when created"
                    },
                    {
                      "flags": "-t --tags <tags>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "Tags to set to the the Data Lake Store account. Can be mutliple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Updates the properties of an existing Data Lake Store Account",
                  "fullName": "datalake store account set",
                  "usage": "[options] <accountName>",
                  "filePath": "commands/arm/datalakestore/datalakestore.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-n --accountName <accountName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--accountName",
                      "description": "The Data Lake Store account name to update with new tags and/or default permissions group"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the optional resource group to forcibly look for the account to update in"
                    },
                    {
                      "flags": "-d --defaultGroup <defaultGroup>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--defaultGroup",
                      "description": "the optional default permissions group to set in the existing account"
                    },
                    {
                      "flags": "-t --tags <tags>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "Tags to set to the Data Lake Store account. Can be mutliple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                    },
                    {
                      "flags": "--no-tags",
                      "required": 0,
                      "optional": 0,
                      "bool": false,
                      "long": "--no-tags",
                      "description": "remove all existing tags"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        }
      }
    },
    "lab": {
      "name": "lab",
      "description": "Commands to manage your DevTest Labs",
      "fullName": "lab",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "vms-per-lab-policy": {
          "name": "vms-per-lab-policy",
          "description": "Commands to manage total allowed virtual machines per lab policy",
          "fullName": "lab vms-per-lab-policy",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "set",
              "description": "Set max allowed virtual machines per lab policy.",
              "fullName": "lab vms-per-lab-policy set",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-c, --vm-count <vm-count>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--vm-count",
                  "description": "the total vms allowed in the lab"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get allowed virtual machines per lab policy.",
              "fullName": "lab vms-per-lab-policy show",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete allowed virtual machines per lab policy.",
              "fullName": "lab vms-per-lab-policy delete",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "vms-per-user-policy": {
          "name": "vms-per-user-policy",
          "description": "Commands to manage max allowed virtual machines per user policy",
          "fullName": "lab vms-per-user-policy",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "set",
              "description": "Set allowed virtual machines per user policy.",
              "fullName": "lab vms-per-user-policy set",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-c, --vm-count <vm-count>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--vm-count",
                  "description": "the total vms allowed in the lab"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get allowed virtual machines per user policy.",
              "fullName": "lab vms-per-user-policy show",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete allowed virtual machines per user policy.",
              "fullName": "lab vms-per-user-policy delete",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "vm-size-policy": {
          "name": "vm-size-policy",
          "description": "Commands to manage allowed virtual machine sizes policy",
          "fullName": "lab vm-size-policy",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "set",
              "description": "Set allowed virtual machine sizes policy.",
              "fullName": "lab vm-size-policy set",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-z, --vm-sizes <vm-sizes>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-z",
                  "long": "--vm-sizes",
                  "description": "allowed virtual machine sizes, example value: Standard_A0,StandardA1"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get allowed virtual machine sizes policy.",
              "fullName": "lab vm-size-policy show",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete allowed virtual machine sizes policy.",
              "fullName": "lab vm-size-policy delete",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "auto-shutdown-policy": {
          "name": "auto-shutdown-policy",
          "description": "Commands to manage auto-shutdown policy",
          "fullName": "lab auto-shutdown-policy",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "set",
              "description": "Set virtual machine daily auto-shutdown policy.",
              "fullName": "lab auto-shutdown-policy set",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-t, --time <time>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--time",
                  "description": "the time (in UTC) to shutdown virtual machines everyday, example: 1905 means 7:05pm"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get virtual machine auto-shutdown policy.",
              "fullName": "lab auto-shutdown-policy show",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete virtual machine auto-shutdown policy.",
              "fullName": "lab auto-shutdown-policy delete",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "auto-start-policy": {
          "name": "auto-start-policy",
          "description": "Commands to manage auto-start policy",
          "fullName": "lab auto-start-policy",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "set",
              "description": "Set virtual machine auto-start policy.",
              "fullName": "lab auto-start-policy set",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-w, --weekly <weekly>.",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--weekly",
                  "description": "selected weekdays to start machines. example: Monday,Friday means start machines on Monday and Friday."
                },
                {
                  "flags": "-t, --time <time>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--time",
                  "description": "the time (in UTC) to start virtual machines on the selected weekday, example: 0815 means 8:15am"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get virtual machine auto-start policy.",
              "fullName": "lab auto-start-policy show",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete virtual machine auto-start policy.",
              "fullName": "lab auto-start-policy delete",
              "usage": "[options]",
              "filePath": "commands/arm/devtestlabs/devTestLabs.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the resource group name of the lab"
                },
                {
                  "flags": "-l, --lab-name <lab-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--lab-name",
                  "description": "the lab name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "feature": {
      "name": "feature",
      "description": "Commands to manage your features",
      "fullName": "feature",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "List all features available for your subscription",
          "fullName": "feature list",
          "usage": "[options]",
          "filePath": "commands/arm/feature/feature.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Shows a feature",
          "fullName": "feature show",
          "usage": "[options] <providerName> <featureName>",
          "filePath": "commands/arm/feature/feature.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-p --providerName <providerName>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--providerName",
              "description": "the resource provider name"
            },
            {
              "flags": "-n --featureName <featureName>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--featureName",
              "description": "the feature name"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "register",
          "description": "Registers a previewed feature of a resource provider.",
          "fullName": "feature register",
          "usage": "[options] <providerName> <featureName>",
          "filePath": "commands/arm/feature/feature.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-p --providerName <providerName>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--providerName",
              "description": "the resource provider name"
            },
            {
              "flags": "-n --name <featureName>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the feature name"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "group": {
      "name": "group",
      "description": "Commands to manage your resource groups",
      "fullName": "group",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "Creates a new resource group",
          "fullName": "group create",
          "usage": "[options] <name> <location>",
          "filePath": "commands/arm/group/group.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource group name"
            },
            {
              "flags": "-l --location <location>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location where we will create the group"
            },
            {
              "flags": "-d --deployment-name <deployment-name>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--deployment-name",
              "description": "the name of the deployment we will create (only valid when a template is used)"
            },
            {
              "flags": "-f --template-file <template-file>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-f",
              "long": "--template-file",
              "description": "the path to the template file in the file system",
              "fileRelatedOption": true
            },
            {
              "flags": "--template-uri <template-uri>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--template-uri",
              "description": "the uri to the remote template file"
            },
            {
              "flags": "--template-version <template-version>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "long": "--template-version",
              "description": "the content version of the template"
            },
            {
              "flags": "-p --parameters <parameters>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--parameters",
              "description": "a JSON-formatted string containing parameters"
            },
            {
              "flags": "-e --parameters-file <parametersFile>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--parameters-file",
              "description": "a file containing parameters",
              "fileRelatedOption": true
            },
            {
              "flags": "-t --tags <tags>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set to the resource group. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "set",
          "description": "Set tags to a resource group",
          "fullName": "group set",
          "usage": "[options] <name> <tags>",
          "filePath": "commands/arm/group/group.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource group name"
            },
            {
              "flags": "-t --tags <tags>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set to the resource group. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
            },
            {
              "flags": "--no-tags",
              "required": 0,
              "optional": 0,
              "bool": false,
              "long": "--no-tags",
              "description": "remove all existing tags"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Deletes a resource group",
          "fullName": "group delete",
          "usage": "[options] <name>",
          "filePath": "commands/arm/group/group.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource group name"
            },
            {
              "flags": "--nowait",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--nowait",
              "description": "does not wait for the delete operation to complete. Returns as soon as the intial request is received by the server."
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode (do not ask for delete confirmation)"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "Lists the resource groups for your subscription",
          "fullName": "group list",
          "usage": "[options]",
          "filePath": "commands/arm/group/group.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-d, --details",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--details",
              "description": "show additional resource group details such as resources, permissions etc."
            },
            {
              "flags": "-t --tags <tags>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tag to use to filter to the resource group. Can only take 1 tag. In the format of \"name=value\". Name is required and value is optional. For example, -t tag1 or -t tag1=value1."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Shows a resource group for your subscription",
          "fullName": "group show",
          "usage": "[options] <name>",
          "filePath": "commands/arm/group/group.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource group name"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "export",
          "description": "Captures a resource group as a template, and saves it as file on disk.",
          "fullName": "group export",
          "usage": "[options] <name> [directory]",
          "filePath": "commands/arm/group/group.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource group name"
            },
            {
              "flags": "-d --directory [directory]",
              "required": 0,
              "optional": -16,
              "bool": true,
              "short": "-d",
              "long": "--directory",
              "description": "the name of the destination directory. If not specified, template file will be saved in the current directory."
            },
            {
              "flags": "-c --includeComments",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-c",
              "long": "--includeComments",
              "description": "export template with comments."
            },
            {
              "flags": "-p --includeParameterDefaultValue",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--includeParameterDefaultValue",
              "description": "export template parameter with default value"
            },
            {
              "flags": "-q --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode (do not prompt for overwrite if output file exists)"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {
        "deployment": {
          "name": "deployment",
          "description": "Commands to manage your deployment in a resource group",
          "fullName": "group deployment",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Creates a deployment",
              "fullName": "group deployment create",
              "usage": "[options] [resource-group] [name]",
              "filePath": "commands/arm/group/group.deployment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the deployment"
                },
                {
                  "flags": "-f --template-file <template-file>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--template-file",
                  "description": "the path to the template file in the file system",
                  "fileRelatedOption": true
                },
                {
                  "flags": "--template-uri <template-uri>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--template-uri",
                  "description": "the uri to the remote template file"
                },
                {
                  "flags": "--template-version <template-version>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--template-version",
                  "description": "the content version of the template"
                },
                {
                  "flags": "-p --parameters <parameters>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--parameters",
                  "description": "a JSON-formatted string containing parameters"
                },
                {
                  "flags": "-e --parameters-file <parametersFile>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--parameters-file",
                  "description": "a file containing parameters",
                  "fileRelatedOption": true
                },
                {
                  "flags": "-m --mode <mode>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--mode",
                  "description": "the deployment mode: specify one of Incremental or Complete. If no mode is specified, Incremental is used as default. When Complete mode is used, all the resources in the specified resource group, which are not included in the template, will be deleted."
                },
                {
                  "flags": "-d --debug-setting <debugSetting>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--debug-setting",
                  "description": "the debug setting for deployment logs. Valid values include RequestContent, ResponseContent, All or None. None is the default value. When All is specified, both request content and response content will be logged, which will be visible in deployment operations."
                },
                {
                  "flags": "-q --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (when complete mode is specified, do not ask for deployment confirmation)"
                },
                {
                  "flags": "--nowait",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--nowait",
                  "description": "does not wait for the deployment to complete. Returns as soon as the deployment is created"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Gets deployments",
              "fullName": "group deployment list",
              "usage": "[options] <resource-group> [state]",
              "filePath": "commands/arm/group/group.deployment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resourceGroup>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group."
                },
                {
                  "flags": "--state <state>",
                  "required": -9,
                  "optional": 0,
                  "bool": true,
                  "long": "--state",
                  "description": "filter the deployments by provisioning state (valid values are Accepted, Running, Failed, and Succeeded)"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "subscription containing deployments to list (optional)"
                }
              ]
            },
            {
              "name": "show",
              "description": "Shows a deployment",
              "fullName": "group deployment show",
              "usage": "[options] <resource-group> [deployment-name]",
              "filePath": "commands/arm/group/group.deployment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resourceGroup>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group."
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the deployment (if not specified, the most recent deployment is shown)"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "subscription containing the deployment to display (optional)"
                }
              ]
            },
            {
              "name": "stop",
              "description": "Stops a deployment",
              "fullName": "group deployment stop",
              "usage": "[options] <resource-group> [deployment-name]",
              "filePath": "commands/arm/group/group.deployment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resourceGroup>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-q --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for stop deployment confirmation)"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the deployment (if not specified, the currently running deployment is stopped)"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes a deployment",
              "fullName": "group deployment delete",
              "usage": "[options] <resource-group> <deployment-name>",
              "filePath": "commands/arm/group/group.deployment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resourceGroup>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group."
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the deployment."
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "subscription containing the deployment to display (optional)"
                }
              ]
            }
          ],
          "categories": {
            "template": {
              "name": "template",
              "description": "Commands to manager your deployment template in a resource group",
              "fullName": "group deployment template",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "download",
                  "description": "Downloads a resource group deployment template",
                  "fullName": "group deployment template download",
                  "usage": "[options] [resource-group] [name] [directory]",
                  "filePath": "commands/arm/group/group.deployment.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resource-group <resourceGroup>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group."
                    },
                    {
                      "flags": "-n --name <name>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the deployment to download"
                    },
                    {
                      "flags": "-d --directory <directory>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--directory",
                      "description": "the name of the destination directory. If not specified, template file will be saved in the current directory."
                    },
                    {
                      "flags": "-q --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode (do not prompt for overwrite if output file exists)"
                    },
                    {
                      "flags": "--subscription <subscription>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--subscription",
                      "description": "subscription containing the deployment to display (optional)"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "operation": {
              "name": "operation",
              "description": "Commands to list deployment operations in a resource group",
              "fullName": "group deployment operation",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Lists operations in a deployment",
                  "fullName": "group deployment operation list",
                  "usage": "[options] [resource-group] [name]",
                  "filePath": "commands/arm/group/group.deployment.operation.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resource-group <resource-group>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n --name <name>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the deployment"
                    },
                    {
                      "flags": "--subscription <subscription>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "log": {
          "name": "log",
          "description": "Commands to manage resource group logs",
          "fullName": "group log",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "show",
              "description": "Retrieves and shows logs for resource group operations",
              "fullName": "group log show",
              "usage": "[options] [name]",
              "filePath": "commands/arm/group/group.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the resource group name"
                },
                {
                  "flags": "-a --all",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--all",
                  "description": "returns logs for all operations (including CRUD and deployment)"
                },
                {
                  "flags": "-l --last-deployment",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--last-deployment",
                  "description": "returns logs for the last deployment"
                },
                {
                  "flags": "-d --deployment <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--deployment",
                  "description": "the name of the deployment whose logs you want to see"
                },
                {
                  "flags": "-s --subscription <subscription>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "template": {
          "name": "template",
          "description": "Commands to manage your local or gallery resource group template",
          "fullName": "group template",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Lists gallery resource group templates",
              "fullName": "group template list",
              "usage": "[options]",
              "filePath": "commands/arm/group/group.template.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-c --category [category]",
                  "required": 0,
                  "optional": -15,
                  "bool": true,
                  "short": "-c",
                  "long": "--category",
                  "description": "the category of the templates to list"
                },
                {
                  "flags": "-p --publisher [publisher]",
                  "required": 0,
                  "optional": -16,
                  "bool": true,
                  "short": "-p",
                  "long": "--publisher",
                  "description": "the publisher of the templates to list"
                }
              ]
            },
            {
              "name": "show",
              "description": "Shows a gallery resource group template",
              "fullName": "group template show",
              "usage": "[options] <name>",
              "filePath": "commands/arm/group/group.template.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of template to show"
                }
              ]
            },
            {
              "name": "download",
              "description": "Downloads a gallery resource group template",
              "fullName": "group template download",
              "usage": "[options] [name] [directory]",
              "filePath": "commands/arm/group/group.template.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the template to download"
                },
                {
                  "flags": "-d --directory <directory>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--directory",
                  "description": "the name of the destination directory"
                },
                {
                  "flags": "-q --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not prompt for overwrite if output file exists)"
                }
              ]
            },
            {
              "name": "validate",
              "description": "Validates a template to see whether it's using the right syntax, resource providers, resource types, etc.",
              "fullName": "group template validate",
              "usage": "[options] <resource-group>",
              "filePath": "commands/arm/group/group.template.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-f --template-file <template-file>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--template-file",
                  "description": "the path to the template file in the file system",
                  "fileRelatedOption": true
                },
                {
                  "flags": "--template-uri <template-uri>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--template-uri",
                  "description": "the uri to the remote template file"
                },
                {
                  "flags": "--template-version <template-version>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--template-version",
                  "description": "the content version of the template"
                },
                {
                  "flags": "-p --parameters <parameters>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--parameters",
                  "description": "a JSON-formatted string containing parameters"
                },
                {
                  "flags": "-e --parameters-file <parametersFile>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--parameters-file",
                  "description": "a file containing parameters",
                  "fileRelatedOption": true
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "hdinsight": {
      "name": "hdinsight",
      "description": "Commands to manage HDInsight clusters and jobs",
      "fullName": "hdinsight",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "cluster": {
          "name": "cluster",
          "description": "Commands to manage HDInsight clusters",
          "fullName": "hdinsight cluster",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a cluster in a resource group",
              "fullName": "hdinsight cluster create",
              "usage": "[options] <clusterName>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "Data center location for the cluster"
                },
                {
                  "flags": "-y, --osType <osType>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-y",
                  "long": "--osType",
                  "description": "HDInsight cluster operating system - 'Windows' or 'Linux'"
                },
                {
                  "flags": "--version <version>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--version",
                  "description": "HDInsight cluster version"
                },
                {
                  "flags": "--clusterType <clusterType>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--clusterType",
                  "description": "HDInsight cluster type. Hadoop | HBase | Spark | Storm"
                },
                {
                  "flags": "--clusterTier <clusterTier>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--clusterTier",
                  "description": "HDInsight cluster tier. Standard | Premium"
                },
                {
                  "flags": "--defaultStorageAccountName <storageAccountName>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "long": "--defaultStorageAccountName",
                  "description": "Storage account url to use for default HDInsight storage"
                },
                {
                  "flags": "--defaultStorageAccountKey <storageAccountKey>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "long": "--defaultStorageAccountKey",
                  "description": "Key to the storage account to use for default HDInsight storage"
                },
                {
                  "flags": "--defaultStorageContainer <storageContainer>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "long": "--defaultStorageContainer",
                  "description": "Container in the storage account to use for HDInsight default storage"
                },
                {
                  "flags": "--headNodeSize <headNodeSize>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--headNodeSize",
                  "description": "(Optional) Head node size for the cluster"
                },
                {
                  "flags": "--workerNodeCount <workerNodeCount>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "long": "--workerNodeCount",
                  "description": "Number of worker nodes to use for the cluster"
                },
                {
                  "flags": "--workerNodeSize <workerNodeSize>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--workerNodeSize",
                  "description": "(Optional) Worker node size for the cluster)"
                },
                {
                  "flags": "--zookeeperNodeSize <zookeeperNodeSize>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--zookeeperNodeSize",
                  "description": "(Optional) Zookeeper node size for the cluster"
                },
                {
                  "flags": "--userName <userName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--userName",
                  "description": "Cluster username"
                },
                {
                  "flags": "--password <password>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--password",
                  "description": "Cluster password"
                },
                {
                  "flags": "--sshUserName <sshUserName>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--sshUserName",
                  "description": "SSH username (only for Linux clusters)"
                },
                {
                  "flags": "--sshPassword <sshPassword>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--sshPassword",
                  "description": "SSH password (only for Linux clusters)"
                },
                {
                  "flags": "--sshPublicKey <sshPublicKey>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--sshPublicKey",
                  "description": "SSH public key (only for Linux clusters)"
                },
                {
                  "flags": "--rdpUserName <rdpUserName>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--rdpUserName",
                  "description": "RDP username (only for Windows clusters)"
                },
                {
                  "flags": "--rdpPassword <rdpPassword>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--rdpPassword",
                  "description": "RDP password (only for Windows clusters)"
                },
                {
                  "flags": "--rdpAccessExpiry <rdpAccessExpiry>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "long": "--rdpAccessExpiry",
                  "description": "RDP access expiry. For example 12/12/2015 (only for Windows clusters)"
                },
                {
                  "flags": "--virtualNetworkId <virtualNetworkId>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "long": "--virtualNetworkId",
                  "description": "(Optional) Virtual network ID for the cluster. Value is a GUID for Windows cluster and ARM resource ID for Linux cluster) "
                },
                {
                  "flags": "--subnetName <subnetName>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--subnetName",
                  "description": "(Optional) Subnet for the cluster"
                },
                {
                  "flags": "--additionalStorageAccounts <additionalStorageAccounts>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "long": "--additionalStorageAccounts",
                  "description": "(Optional) Additional storage accounts. Can be multiple. In the format of 'accountName#accountKey'. For example, --additionalStorageAccounts \"acc1#key1;acc2#key2\""
                },
                {
                  "flags": "--hiveMetastoreServerName <hiveMetastoreServerName>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "long": "--hiveMetastoreServerName",
                  "description": "(Optional) SQL Server name for the external metastore for Hive"
                },
                {
                  "flags": "--hiveMetastoreDatabaseName <hiveMetastoreDatabaseName>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "long": "--hiveMetastoreDatabaseName",
                  "description": "(Optional) Database name for the external metastore for Hive"
                },
                {
                  "flags": "--hiveMetastoreUserName <hiveMetastoreUserName>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "long": "--hiveMetastoreUserName",
                  "description": "(Optional) Database username for the external metastore for Hive"
                },
                {
                  "flags": "--hiveMetastorePassword <hiveMetastorePassword>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "long": "--hiveMetastorePassword",
                  "description": "(Optional) Database password for the external metastore for Hive"
                },
                {
                  "flags": "--oozieMetastoreServerName <oozieMetastoreServerName>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "long": "--oozieMetastoreServerName",
                  "description": "(Optional) SQL Server name for the external metastore for Oozie"
                },
                {
                  "flags": "--oozieMetastoreDatabaseName <oozieMetastoreDatabaseName>",
                  "required": -30,
                  "optional": 0,
                  "bool": true,
                  "long": "--oozieMetastoreDatabaseName",
                  "description": "(Optional) Database name for the external metastore for Oozie"
                },
                {
                  "flags": "--oozieMetastoreUserName <oozieMetastoreUserName>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "long": "--oozieMetastoreUserName",
                  "description": "(Optional) Database username for the external metastore for Oozie"
                },
                {
                  "flags": "--oozieMetastorePassword <oozieMetastorePassword>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "long": "--oozieMetastorePassword",
                  "description": "(Optional) Database password for the external metastore for Oozie"
                },
                {
                  "flags": "--configurationPath <configurationPath>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "long": "--configurationPath",
                  "description": "(Optional) HDInsight cluster configuration file path"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                },
                {
                  "flags": "--tags <tags>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--tags",
                  "description": "Tags to set to the cluster. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, --tags tag1=value1;tag2"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a cluster",
              "fullName": "hdinsight cluster delete",
              "usage": "[options] <clusterName>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "--clusterName <clusterName>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--clusterName",
                  "description": "Cluster name"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show cluster details",
              "fullName": "hdinsight cluster show",
              "usage": "[options] <clusterName>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "list",
              "description": "List all the clusters (in a specific resource group if provided) .",
              "fullName": "hdinsight cluster list",
              "usage": "[options]",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "resize",
              "description": "Resizes the cluster",
              "fullName": "hdinsight cluster resize",
              "usage": "[options] <clusterName> <targetInstanceCount>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "--targetInstanceCount <targetInstanceCount>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "long": "--targetInstanceCount",
                  "description": "Target instance count."
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "enable-http-access",
              "description": "Enable HTTP access for cluster",
              "fullName": "hdinsight cluster enable-http-access",
              "usage": "[options] <clusterName> <userName> <password>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "--userName <userName>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--userName",
                  "description": "Cluster username"
                },
                {
                  "flags": "--password <password>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--password",
                  "description": "Cluster password"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "disable-http-access",
              "description": "Disable HTTP access for cluster",
              "fullName": "hdinsight cluster disable-http-access",
              "usage": "[options] <clusterName>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "enable-rdp-access",
              "description": "Enable RDP access for cluster",
              "fullName": "hdinsight cluster enable-rdp-access",
              "usage": "[options] <clusterName> <rdpUserName> <rdpPassword> <rdpExpiryDate>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "--rdpUserName <rdpUserName>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--rdpUserName",
                  "description": "RDP username"
                },
                {
                  "flags": "--rdpPassword <rdpPassword>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--rdpPassword",
                  "description": "RDP password"
                },
                {
                  "flags": "--rdpExpiryDate <rdpExpiryDate>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--rdpExpiryDate",
                  "description": "RDP access expiry date"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "disable-rdp-access",
              "description": "Disable HTTP access for cluster",
              "fullName": "hdinsight cluster disable-rdp-access",
              "usage": "[options] <clusterName>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            }
          ],
          "categories": {}
        },
        "script-action": {
          "name": "script-action",
          "description": "Commands to manage HDInsight script actions",
          "fullName": "hdinsight script-action",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Submits script action",
              "fullName": "hdinsight script-action create",
              "usage": "[options] <clusterName>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The name of the resource group"
                },
                {
                  "flags": "-c, --clusterName <clusterName>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--clusterName",
                  "description": "HDInsight cluster name"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Script name"
                },
                {
                  "flags": "-u, --uri <uri>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--uri",
                  "description": "Script URI"
                },
                {
                  "flags": "-p, --parameters <parameters>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--parameters",
                  "description": "(Optional) Script parameters"
                },
                {
                  "flags": "-t, --nodeTypes <nodeTypes>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--nodeTypes",
                  "description": "Specifies the nodes on which this cmdlet applies the action separated by \";\". For example, \"headnode;workernode\" is a valid input."
                },
                {
                  "flags": "-a, --applicationName <applicationName>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--applicationName",
                  "description": "Application name. When application name is specified, persistOnSuccess cannot be specified, and nodeTypes must contain only \"edgenode\""
                },
                {
                  "flags": "--persistOnSuccess",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--persistOnSuccess",
                  "description": "When persistOnSuccess is specified, the script action will be persisted if it successfully executes on the cluster."
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            }
          ],
          "categories": {
            "persisted": {
              "name": "persisted",
              "description": "Commands to manage HDInsight persisted script actions",
              "fullName": "hdinsight script-action persisted",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Lists all persisted script actions",
                  "fullName": "hdinsight script-action persisted list",
                  "usage": "[options] <clusterName>",
                  "filePath": "commands/arm/hdinsight/hdinsight.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "The name of the resource group"
                    },
                    {
                      "flags": "-c, --clusterName <clusterName>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--clusterName",
                      "description": "HDInsight cluster name"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription id"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Shows a persisted script action",
                  "fullName": "hdinsight script-action persisted show",
                  "usage": "[options] <clusterName> <name>",
                  "filePath": "commands/arm/hdinsight/hdinsight.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "The name of the resource group"
                    },
                    {
                      "flags": "-c, --clusterName <clusterName>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--clusterName",
                      "description": "HDInsight cluster name"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "Script name"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription id"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Promotes script action to persisted",
                  "fullName": "hdinsight script-action persisted set",
                  "usage": "[options] <clusterName> <scriptExecutionId>",
                  "filePath": "commands/arm/hdinsight/hdinsight.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "The name of the resource group"
                    },
                    {
                      "flags": "-c, --clusterName <clusterName>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--clusterName",
                      "description": "HDInsight cluster name"
                    },
                    {
                      "flags": "-e, --scriptExecutionId <scriptExecutionId>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--scriptExecutionId",
                      "description": "Script execution id"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription id"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Deletes persisted script",
                  "fullName": "hdinsight script-action persisted delete",
                  "usage": "[options] <clusterName> <name>",
                  "filePath": "commands/arm/hdinsight/hdinsight.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "The name of the resource group"
                    },
                    {
                      "flags": "-c, --clusterName <clusterName>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--clusterName",
                      "description": "HDInsight cluster name"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "Script name"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription id"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "history": {
              "name": "history",
              "description": "Commands to manage HDInsight script action history",
              "fullName": "hdinsight script-action history",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "Lists latest script action history",
                  "fullName": "hdinsight script-action history list",
                  "usage": "[options] <clusterName>",
                  "filePath": "commands/arm/hdinsight/hdinsight.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "The name of the resource group"
                    },
                    {
                      "flags": "-c, --clusterName <clusterName>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--clusterName",
                      "description": "HDInsight cluster name"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription id"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Shows script execution detail",
                  "fullName": "hdinsight script-action history show",
                  "usage": "[options] <clusterName> <scriptExecutionId>",
                  "filePath": "commands/arm/hdinsight/hdinsight.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "The name of the resource group"
                    },
                    {
                      "flags": "-c, --clusterName <clusterName>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--clusterName",
                      "description": "HDInsight cluster name"
                    },
                    {
                      "flags": "-e, --scriptExecutionId <scriptExecutionId>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--scriptExecutionId",
                      "description": "Script execution id"
                    },
                    {
                      "flags": "-s, --subscription <id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription id"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "config": {
          "name": "config",
          "description": "Commands to manage HDInsight cluster configuration",
          "fullName": "hdinsight config",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Creates a persisted Azure HDInsight cluster configuration file.",
              "fullName": "hdinsight config create",
              "usage": "[options] <configFilePath> <overwrite>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--configFilePath <configFilePath>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--configFilePath",
                  "description": "HdInsight configuration file path"
                },
                {
                  "flags": "--overwrite <overwrite>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--overwrite",
                  "description": "Overwrites existing configuration file"
                }
              ]
            },
            {
              "name": "add-config-values",
              "description": "Adds a Hadoop configuration value customization or a Hive shared library customization to an HDInsight cluster configuration. Each component config is in the format of 'name=value'. For example, parameter1=value1;parameter2=value2",
              "fullName": "hdinsight config add-config-values",
              "usage": "[options] <configFilePath>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--configFilePath <configFilePath>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--configFilePath",
                  "description": "Configuration file path"
                },
                {
                  "flags": "--core-site <core-site>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--core-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--hive-site <hive-site>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--hive-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--hive-env <hive-env>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--hive-env",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--hdfs-site <hdfs-site>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--hdfs-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--hbase-env <hbase-env>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--hbase-env",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--hbase-site <hbase-site>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--hbase-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--mapred-site <mapred-site>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--mapred-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--oozie-env <oozie-env>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--oozie-env",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--oozie-site <oozie-site>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--oozie-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--storm-site <storm-site>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--storm-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--tez-site <tez-site>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--tez-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--webhcat-site <webhcat-site>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--webhcat-site",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--gateway <gateway>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--gateway",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "--yarn <yarn>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--yarn",
                  "description": "Config values in the format of 'name=value'"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            },
            {
              "name": "add-script-action",
              "description": "Adds a HDInsight script action.",
              "fullName": "hdinsight config add-script-action",
              "usage": "[options] <configFilePath>",
              "filePath": "commands/arm/hdinsight/hdinsight.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--configFilePath <configFilePath>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "long": "--configFilePath",
                  "description": "Configuration file path"
                },
                {
                  "flags": "--nodeType <nodeType>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--nodeType",
                  "description": "Specifies the node on which this cmdlet applies the action. Supported node types: HeadNode | WorkerNode | ZookeeperNode"
                },
                {
                  "flags": "--uri <uri>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--uri",
                  "description": "Specifies the URI for the action"
                },
                {
                  "flags": "--name <name>",
                  "required": -8,
                  "optional": 0,
                  "bool": true,
                  "long": "--name",
                  "description": "Specifies the name of the action"
                },
                {
                  "flags": "--parameters <parameters>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--parameters",
                  "description": "Specifies the parameters for the action"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription id"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "insights": {
      "name": "insights",
      "description": "Commands related to monitoring Insights (events, alert rules, autoscale settings, metrics)",
      "fullName": "insights",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "alerts": {
          "name": "alerts",
          "description": "Manages alert rules",
          "fullName": "insights alerts",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List alert logs for a resource.",
              "fullName": "insights alerts list",
              "usage": "[options] <resourceId>",
              "filePath": "commands/arm/insights/insights.alerts.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i --resourceId <resourceId>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--resourceId",
                  "description": "The resource Id."
                },
                {
                  "flags": "-b --startTime <startTime>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--startTime",
                  "description": "The start time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-e --endTime <endTime>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endTime",
                  "description": "The end time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "--status <status>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--status",
                  "description": "The status."
                },
                {
                  "flags": "--caller <caller>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--caller",
                  "description": "Caller to look for when querying."
                },
                {
                  "flags": "-d --detailedOutput",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--detailedOutput",
                  "description": "Shows the details of the events in the log."
                },
                {
                  "flags": "-s --subscription <subscription>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier."
                }
              ]
            }
          ],
          "categories": {
            "actions": {
              "name": "actions",
              "description": "Creates alert rules actions",
              "fullName": "insights alerts actions",
              "usage": "[options]",
              "options": [],
              "commands": [],
              "categories": {
                "email": {
                  "name": "email",
                  "description": "Creates alert rule e-mail actions",
                  "fullName": "insights alerts actions email",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "create",
                      "description": "Creates an alert rule e-mail action.",
                      "fullName": "insights alerts actions email create",
                      "usage": "[options]",
                      "filePath": "commands/arm/insights/insights.alerts.actions.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-e --customEmails <customEmails>",
                          "required": -19,
                          "optional": 0,
                          "bool": true,
                          "short": "-e",
                          "long": "--customEmails",
                          "description": "A string with the list of custom e-mails in comma-separated format."
                        },
                        {
                          "flags": "-o --sendToServiceOwners",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-o",
                          "long": "--sendToServiceOwners",
                          "description": "Flag to send em-mail to the service owners when the alert fires."
                        }
                      ]
                    }
                  ],
                  "categories": {}
                },
                "webhook": {
                  "name": "webhook",
                  "description": "Creates alert rule webhook actions",
                  "fullName": "insights alerts actions webhook",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "create",
                      "description": "Creates an alert rule webhook action.",
                      "fullName": "insights alerts actions webhook create",
                      "usage": "[options] <serviceUri>",
                      "filePath": "commands/arm/insights/insights.alerts.actions.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-e --serviceUri <serviceUri>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-e",
                          "long": "--serviceUri",
                          "description": "The service Uri."
                        },
                        {
                          "flags": "-o --properties <properties>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-o",
                          "long": "--properties",
                          "description": "A string with the list of key / value pairs in comma-separated format. Example: \"key1=value1;key2=value2\"."
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            },
            "rule": {
              "name": "rule",
              "description": "Manages alert rules",
              "fullName": "insights alerts rule",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List alert rules for a resource.",
                  "fullName": "insights alerts rule list",
                  "usage": "[options] <resourceGroup>",
                  "filePath": "commands/arm/insights/insights.alerts.rule.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resourceGroup <resourceGroup>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resourceGroup",
                      "description": "The resource group."
                    },
                    {
                      "flags": "-n --ruleName <ruleName>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--ruleName",
                      "description": "The name of the rule to query."
                    },
                    {
                      "flags": "-i --targetResourceId <targetResourceId>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--targetResourceId",
                      "description": "The target resource of the query."
                    },
                    {
                      "flags": "-s --subscription <subscription>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription identifier."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Deletes an alert rule.",
                  "fullName": "insights alerts rule delete",
                  "usage": "[options] <resourceGroup> <ruleName>",
                  "filePath": "commands/arm/insights/insights.alerts.rule.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resourceGroup <resourceGroup>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resourceGroup",
                      "description": "The resource group."
                    },
                    {
                      "flags": "-n --ruleName <ruleName>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--ruleName",
                      "description": "The name of the rule to query."
                    },
                    {
                      "flags": "-s --subscription <subscription>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription identifier."
                    }
                  ]
                }
              ],
              "categories": {
                "log": {
                  "name": "log",
                  "description": "Creates event-based alerts rules",
                  "fullName": "insights alerts rule log",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "set",
                      "description": "Create or set an event-based alert rule.",
                      "fullName": "insights alerts rule log set",
                      "usage": "[options] <ruleName> <location> <resourceGroup> <operationName>",
                      "filePath": "commands/arm/insights/insights.alerts.rule.log.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-x --disable",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-x",
                          "long": "--disable",
                          "description": "Flag to disable the rule."
                        },
                        {
                          "flags": "-s --subscription <subscription>",
                          "required": -19,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "The subscription identifier."
                        },
                        {
                          "flags": "-n --ruleName <ruleName>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--ruleName",
                          "description": "The name of the rule."
                        },
                        {
                          "flags": "-d --description <description>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--description",
                          "description": "The description of the rule."
                        },
                        {
                          "flags": "-l --location <location>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--location",
                          "description": "The location."
                        },
                        {
                          "flags": "-g --resourceGroup <resourceGroup>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resourceGroup",
                          "description": "The resource group."
                        },
                        {
                          "flags": "-p --operationName <operationName>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-p",
                          "long": "--operationName",
                          "description": "The operation name."
                        },
                        {
                          "flags": "-z --actions <actions>",
                          "required": -14,
                          "optional": 0,
                          "bool": true,
                          "short": "-z",
                          "long": "--actions",
                          "description": "The list of alert rule actions. The list must be a json object (string) of an array. Example: \"[{\\\"customEmails\\\":[\\\"gu@ms.com\\\"]},{\\\"serviceUri\\\":\\\"http://foo.com\\\",\\\"properties\\\":[{\\\"key\\\":\\\"key1\\\",\\\"value\\\":\\\"value1\\\"},{\\\"key\\\":\\\"value1\\\",\\\"value\\\":\\\"key2\\\"}]}]\""
                        },
                        {
                          "flags": "-i --targetResourceId <targetResourceId>",
                          "required": -23,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--targetResourceId",
                          "description": "The target resource Id."
                        },
                        {
                          "flags": "-k --targetResourceProvider <targetResourceProvider>",
                          "required": -29,
                          "optional": 0,
                          "bool": true,
                          "short": "-k",
                          "long": "--targetResourceProvider",
                          "description": "The target resource provider."
                        },
                        {
                          "flags": "-z --targetResourceGroup <targetResourceGroup>",
                          "required": -26,
                          "optional": 0,
                          "bool": true,
                          "short": "-z",
                          "long": "--targetResourceGroup",
                          "description": "The target resource group."
                        },
                        {
                          "flags": "-f --level <level>",
                          "required": -12,
                          "optional": 0,
                          "bool": true,
                          "short": "-f",
                          "long": "--level",
                          "description": "The level for the rule."
                        },
                        {
                          "flags": "-u --status <status>",
                          "required": -13,
                          "optional": 0,
                          "bool": true,
                          "short": "-u",
                          "long": "--status",
                          "description": "The status."
                        },
                        {
                          "flags": "-b --subStatus <subStatus>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-b",
                          "long": "--subStatus",
                          "description": "The substatus."
                        }
                      ]
                    }
                  ],
                  "categories": {}
                },
                "metric": {
                  "name": "metric",
                  "description": "Creates metric-based alerts rules",
                  "fullName": "insights alerts rule metric",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "set",
                      "description": "Create or set a metric alert rule.",
                      "fullName": "insights alerts rule metric set",
                      "usage": "[options] <ruleName> <location> <resourceGroup> <windowSize> <operator> <threshold> <targetResourceId> <metricName> <timeAggregationOperator>",
                      "filePath": "commands/arm/insights/insights.alerts.rule.metric.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-x --disable",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-x",
                          "long": "--disable",
                          "description": "Flag to disable the rule."
                        },
                        {
                          "flags": "-s --subscription <subscription>",
                          "required": -19,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "The subscription identifier."
                        },
                        {
                          "flags": "-n --ruleName <ruleName>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--ruleName",
                          "description": "The name of the rule."
                        },
                        {
                          "flags": "-d --description <description>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--description",
                          "description": "The description of the rule."
                        },
                        {
                          "flags": "-l --location <location>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--location",
                          "description": "The location."
                        },
                        {
                          "flags": "-g --resourceGroup <resourceGroup>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resourceGroup",
                          "description": "The resource group."
                        },
                        {
                          "flags": "--windowSize <windowSize>",
                          "required": -14,
                          "optional": 0,
                          "bool": true,
                          "long": "--windowSize",
                          "description": "The time window size. Expected format hh:mm:ss."
                        },
                        {
                          "flags": "-o --operator <operator>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-o",
                          "long": "--operator",
                          "description": "The condition operator: GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual. Value is case insensitive."
                        },
                        {
                          "flags": "-a --threshold <threshold>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-a",
                          "long": "--threshold",
                          "description": "The threshold."
                        },
                        {
                          "flags": "-i --targetResourceId <targetResourceId>",
                          "required": -23,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--targetResourceId",
                          "description": "The target resource Id."
                        },
                        {
                          "flags": "-m --metricName <metricName>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-m",
                          "long": "--metricName",
                          "description": "The metric name."
                        },
                        {
                          "flags": "--timeAggregationOperator <timeAggregationOperator>",
                          "required": -27,
                          "optional": 0,
                          "bool": true,
                          "long": "--timeAggregationOperator",
                          "description": "The time aggregation operator: Average, Minimum, Maximum, Total. Value is case insensitve."
                        },
                        {
                          "flags": "-z --actions <actions>",
                          "required": -14,
                          "optional": 0,
                          "bool": true,
                          "short": "-z",
                          "long": "--actions",
                          "description": "The list of alert rule actions. The list must be a json object (string) of an array. Example: \"[{\\\"customEmails\\\":[\\\"gu@ms.com\\\"]},{\\\"serviceUri\\\":\\\"http://foo.com\\\",\\\"properties\\\":[{\\\"key\\\":\\\"key1\\\",\\\"value\\\":\\\"value1\\\"},{\\\"key\\\":\\\"value1\\\",\\\"value\\\":\\\"key2\\\"}]}]\""
                        }
                      ]
                    }
                  ],
                  "categories": {}
                },
                "webtest": {
                  "name": "webtest",
                  "description": "Creates webtest alerts rules",
                  "fullName": "insights alerts rule webtest",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "set",
                      "description": "Create a webtest alert rule.",
                      "fullName": "insights alerts rule webtest set",
                      "usage": "[options] <ruleName> <location> <resourceGroup> <windowSize> <failedLocationCount> <metricName> <webtestResourceUri>",
                      "filePath": "commands/arm/insights/insights.alerts.rule.webtest.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-x --disable",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-x",
                          "long": "--disable",
                          "description": "Flag to disable the rule."
                        },
                        {
                          "flags": "-s --subscription <subscription>",
                          "required": -19,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "The subscription identifier."
                        },
                        {
                          "flags": "-n --ruleName <ruleName>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--ruleName",
                          "description": "The name of the rule."
                        },
                        {
                          "flags": "-d --description <description>",
                          "required": -18,
                          "optional": 0,
                          "bool": true,
                          "short": "-d",
                          "long": "--description",
                          "description": "The description of the rule."
                        },
                        {
                          "flags": "-l --location <location>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--location",
                          "description": "The location."
                        },
                        {
                          "flags": "-g --resourceGroup <resourceGroup>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resourceGroup",
                          "description": "The resource group."
                        },
                        {
                          "flags": "-m --metricName <metricName>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-m",
                          "long": "--metricName",
                          "description": "The metric name."
                        },
                        {
                          "flags": "--windowSize <windowSize>",
                          "required": -14,
                          "optional": 0,
                          "bool": true,
                          "long": "--windowSize",
                          "description": "The time window size. Expected format hh:mm:ss."
                        },
                        {
                          "flags": "-f --failedLocationCount <failedLocationCount>",
                          "required": -26,
                          "optional": 0,
                          "bool": true,
                          "short": "-f",
                          "long": "--failedLocationCount",
                          "description": "The failed location."
                        },
                        {
                          "flags": "-i --webtestResourceUri <webtestResourceUri>",
                          "required": -25,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--webtestResourceUri",
                          "description": "The webtest resource Id."
                        },
                        {
                          "flags": "-y --metricNamespace <metricNamespace>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-y",
                          "long": "--metricNamespace",
                          "description": "The metric namespace."
                        },
                        {
                          "flags": "-z --actions <actions>",
                          "required": -14,
                          "optional": 0,
                          "bool": true,
                          "short": "-z",
                          "long": "--actions",
                          "description": "The list of alert rule actions. The list must be a json object (string) of an array. Example: \"[{\\\"customEmails\\\":[\\\"gu@ms.com\\\"]},{\\\"serviceUri\\\":\\\"http://foo.com\\\",\\\"properties\\\":[{\\\"key\\\":\\\"key1\\\",\\\"value\\\":\\\"value1\\\"},{\\\"key\\\":\\\"value1\\\",\\\"value\\\":\\\"key2\\\"}]}]\""
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            }
          }
        },
        "autoscale": {
          "name": "autoscale",
          "description": "Retrieve autoscale logs",
          "fullName": "insights autoscale",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List autoscale logs for a resource.",
              "fullName": "insights autoscale list",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.autoscale.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i --resourceId <resourceId>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--resourceId",
                  "description": "The resource Id."
                },
                {
                  "flags": "-b --startTime <startTime>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--startTime",
                  "description": "The start time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-e --endTime <endTime>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endTime",
                  "description": "The end time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "--status <status>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--status",
                  "description": "The status."
                },
                {
                  "flags": "--caller <caller>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--caller",
                  "description": "Caller to look for when querying."
                },
                {
                  "flags": "-d --detailedOutput",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--detailedOutput",
                  "description": "Shows the details of the events in the log."
                },
                {
                  "flags": "-s --subscription <subscription>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier."
                }
              ]
            }
          ],
          "categories": {
            "notifications": {
              "name": "notifications",
              "description": "Creates autoscale notifications",
              "fullName": "insights autoscale notifications",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Creates an autoscale notification.",
                  "fullName": "insights autoscale notifications create",
                  "usage": "[options]",
                  "filePath": "commands/arm/insights/insights.autoscale.notifications.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-e --customEmails <customEmails>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--customEmails",
                      "description": "A string with the list of custom e-mails in comma-separated format."
                    },
                    {
                      "flags": "-o --sendEmailToSubscriptionAdministrator",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--sendEmailToSubscriptionAdministrator",
                      "description": "Flag to send em-mail to the subscription administrator when the rule fires."
                    },
                    {
                      "flags": "-p --sendEmailToSubscriptionCoAdministrators",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--sendEmailToSubscriptionCoAdministrators",
                      "description": "Flag to send em-mail to the subscription coadministrators when the alert fires."
                    },
                    {
                      "flags": "-w --webhooks <webhooks>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--webhooks",
                      "description": "List of webhooks in the escaped json format"
                    }
                  ]
                }
              ],
              "categories": {
                "webhook": {
                  "name": "webhook",
                  "description": "Creates autoscale webhook notifications",
                  "fullName": "insights autoscale notifications webhook",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "create",
                      "description": "Creates an autoscale webhook notification.",
                      "fullName": "insights autoscale notifications webhook create",
                      "usage": "[options] <serviceUri>",
                      "filePath": "commands/arm/insights/insights.autoscale.notifications.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-e --serviceUri <serviceUri>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-e",
                          "long": "--serviceUri",
                          "description": "The service Uri."
                        },
                        {
                          "flags": "-o --properties <properties>",
                          "required": -17,
                          "optional": 0,
                          "bool": true,
                          "short": "-o",
                          "long": "--properties",
                          "description": "A string with the list of key / value pairs in comma-separated format. Example: \"key1=value1;key2=value2\"."
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            },
            "profile": {
              "name": "profile",
              "description": "Manages autoscale profiles",
              "fullName": "insights autoscale profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create or set an autoscale profile.",
                  "fullName": "insights autoscale profile create",
                  "usage": "[options] <profileType> <profileName> <defaultCapacity> <maximumCapacity> <minimumCapacity> <rules>",
                  "filePath": "commands/arm/insights/insights.autoscale.profile.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-y --profileType <profileType>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--profileType",
                      "description": "The type of the profile: NoSchedule, FixedDate, Recurrent (the value case insensitive)"
                    },
                    {
                      "flags": "-n --profileName <profileName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--profileName",
                      "description": "The name of the profile."
                    },
                    {
                      "flags": "-d --defaultCapacity <defaultCapacity>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--defaultCapacity",
                      "description": "The default capacity of the profile."
                    },
                    {
                      "flags": "-a --maximumCapacity <maximumCapacity>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--maximumCapacity",
                      "description": "The maximum capacity of the profile."
                    },
                    {
                      "flags": "-m --minimumCapacity <minimumCapacity>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--minimumCapacity",
                      "description": "The minimum capacity of the profile."
                    },
                    {
                      "flags": "-l --rules <rules>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--rules",
                      "description": "The rules of the profile. A json string containing a listing of scale rules."
                    },
                    {
                      "flags": "-b --startTimeWindow <startTimeWindow>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--startTimeWindow",
                      "description": "The start time window of a fixed date schedule."
                    },
                    {
                      "flags": "-e --endTimeWindow <endTimeWindow>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--endTimeWindow",
                      "description": "The end time window of a fixed date schedule."
                    },
                    {
                      "flags": "-z --timeWindowTimeZone <timeWindowTimeZone>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--timeWindowTimeZone",
                      "description": "The time window timezone of a fixed date schedule."
                    },
                    {
                      "flags": "-f --recurrenceFrequency <recurrenceFrequency>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--recurrenceFrequency",
                      "description": "The recurrence frequency of a recurrent schedule: None, Second, Minute, Hour, Day, Week, Month, Year (the value is case insensitive)"
                    },
                    {
                      "flags": "-g --scheduleDays <scheduleDays>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--scheduleDays",
                      "description": "The list of schedule days a recurrent schedule. Values are comma-separated."
                    },
                    {
                      "flags": "-o --scheduleHours <scheduleHours>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--scheduleHours",
                      "description": "The list of schedule hours a recurrent schedule. Values are comma-separated."
                    },
                    {
                      "flags": "-u --scheduleMinutes <scheduleMinutes>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--scheduleMinutes",
                      "description": "The list of schedule minutes a recurrent schedule. Values are comma-separated."
                    },
                    {
                      "flags": "-x --scheduleTimeZone <scheduleTimeZone>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-x",
                      "long": "--scheduleTimeZone",
                      "description": "The list of schedule timezone a recurrent schedule."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "rule": {
              "name": "rule",
              "description": "Manages autoscale rules",
              "fullName": "insights autoscale rule",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create or set an autoscale rule.",
                  "fullName": "insights autoscale rule create",
                  "usage": "[options] <metricName> <metricResourceId> <conditionOperatorType> <metricStatisticType> <threshold> <timeGrain> <actionCooldown> <actionDirection> <actionType> <scaleValue>",
                  "filePath": "commands/arm/insights/insights.autoscale.rule.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-m --metricName <metricName>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--metricName",
                      "description": "The metric name."
                    },
                    {
                      "flags": "-i --metricResourceId <metricResourceId>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--metricResourceId",
                      "description": "The resource Id."
                    },
                    {
                      "flags": "-o --conditionOperatorType <conditionOperatorType>",
                      "required": -28,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--conditionOperatorType",
                      "description": "The condition operator: Equals, NotEquals, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual. The value is case insensitive."
                    },
                    {
                      "flags": "-r --metricStatisticType <metricStatisticType>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--metricStatisticType",
                      "description": "The metric statistic type: Average, Min, Max, Sum. The value is case insensitive."
                    },
                    {
                      "flags": "-t --threshold <threshold>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--threshold",
                      "description": "The threshold."
                    },
                    {
                      "flags": "-n --timeGrain <timeGrain>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--timeGrain",
                      "description": "The time grain. Expected format hh:mm:ss."
                    },
                    {
                      "flags": "-c --actionCooldown <actionCooldown>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--actionCooldown",
                      "description": "The scale action cooldown time. Expected format hh:mm:ss."
                    },
                    {
                      "flags": "-d --actionDirection <actionDirection>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--actionDirection",
                      "description": "The scale action direction: None, Increase, Decrease. The value is case insensitive."
                    },
                    {
                      "flags": "-y --actionType <actionType>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--actionType",
                      "description": "The scale action type name: ChangeSize, ChangeCount, PercentChangeCount, ExactCount. The value is case insensitive."
                    },
                    {
                      "flags": "-l --scaleValue <scaleValue>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--scaleValue",
                      "description": "The scale action value."
                    },
                    {
                      "flags": "-a --timeAggregationOperator <timeAggregationOperator>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--timeAggregationOperator",
                      "description": "The time aggregation operator: Average, Minimum, Maximum, Total. The value is case insensitive."
                    },
                    {
                      "flags": "-w --windowSize <windowSize>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--windowSize",
                      "description": "The time window size. Expected format hh:mm:ss."
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "setting": {
              "name": "setting",
              "description": "Manages autoscale settings",
              "fullName": "insights autoscale setting",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List autoscale settings for a resource.",
                  "fullName": "insights autoscale setting list",
                  "usage": "[options] <resourceGroup>",
                  "filePath": "commands/arm/insights/insights.autoscale.setting.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resourceGroup <resourceGroup>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resourceGroup",
                      "description": "The resource group."
                    },
                    {
                      "flags": "-n --settingName <settingName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--settingName",
                      "description": "The name of the setting."
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Deletes an autoscale setting.",
                  "fullName": "insights autoscale setting delete",
                  "usage": "[options] <resourceGroup> <settingName>",
                  "filePath": "commands/arm/insights/insights.autoscale.setting.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g --resourceGroup <resourceGroup>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resourceGroup",
                      "description": "The resource group."
                    },
                    {
                      "flags": "-n --settingName <settingName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--settingName",
                      "description": "The name of the setting."
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Create or set an autoscale setting.",
                  "fullName": "insights autoscale setting set",
                  "usage": "[options] <settingName> <location> <resourceGroup>",
                  "filePath": "commands/arm/insights/insights.autoscale.setting.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-x --disable",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-x",
                      "long": "--disable",
                      "description": "Flag to disable the setting."
                    },
                    {
                      "flags": "-a --autoProfiles <autoProfiles>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--autoProfiles",
                      "description": "A list of autoscale profiles in JSON format."
                    },
                    {
                      "flags": "-g --resourceGroup <resourceGroup>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resourceGroup",
                      "description": "The resource group."
                    },
                    {
                      "flags": "-n --settingName <settingName>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--settingName",
                      "description": "The name of the setting."
                    },
                    {
                      "flags": "-l --location <location>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--location",
                      "description": "The location."
                    },
                    {
                      "flags": "-i --targetResourceId <targetResourceId>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--targetResourceId",
                      "description": "The resource Id."
                    },
                    {
                      "flags": "-p --settingSpec <settingSpec>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--settingSpec",
                      "description": "The setting spec in JSON format."
                    },
                    {
                      "flags": "-w --notifications <notifications>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--notifications",
                      "description": "The list object autoscale notifications in escaped-jsson format."
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "diagnostic": {
          "name": "diagnostic",
          "description": "Configure diagnostics for resources",
          "fullName": "insights diagnostic",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "get",
              "description": "Get the diagnostics for the resource.",
              "fullName": "insights diagnostic get",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.diagnostic.get.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --resourceId <resourceId>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--resourceId",
                  "description": "resource Id."
                }
              ]
            },
            {
              "name": "set",
              "description": "Set the diagnostics for the resource.",
              "fullName": "insights diagnostic set",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.diagnostic.set.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i, --resourceId <resourceId>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--resourceId",
                  "description": "resource Id."
                },
                {
                  "flags": "-a, --storageId <storageId>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--storageId",
                  "description": "storage account Id."
                },
                {
                  "flags": "-e, --enabled <enabled>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--enabled",
                  "description": "whether the configuration is enabled or disabled."
                },
                {
                  "flags": "-c, --categories <categories>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--categories",
                  "description": "comma separated list of categories to be affected. Valid values vary per resource type."
                },
                {
                  "flags": "-t, --timegrains <timegrains>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--timegrains",
                  "description": "comma separated list of timegrains to be affected in ISO 8601 format. Example: 'PT1M' for 1 minute."
                }
              ]
            }
          ],
          "categories": {}
        },
        "logs": {
          "name": "logs",
          "description": "Retrieve operation logs for a subscription, a correlationId, a resource group, resource, or resource provider.",
          "fullName": "insights logs",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List operation logs for a subscription.",
              "fullName": "insights logs list",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-c --correlationId <correlationId>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--correlationId",
                  "description": "The correlation id of the query."
                },
                {
                  "flags": "-g --resourceGroup <resourceGroup>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resourceGroup",
                  "description": "The resource group."
                },
                {
                  "flags": "-i --resourceId <resourceId>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--resourceId",
                  "description": "The resource Id."
                },
                {
                  "flags": "-p --resourceProvider <resourceProvider>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--resourceProvider",
                  "description": "The resource provider."
                },
                {
                  "flags": "-b --startTime <startTime>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--startTime",
                  "description": "The start time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-e --endTime <endTime>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endTime",
                  "description": "The end time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-m --maxEvents <maxEvents>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--maxEvents",
                  "description": "The maximum number of records to be returned by the command."
                },
                {
                  "flags": "--status <status>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--status",
                  "description": "The status."
                },
                {
                  "flags": "--caller <caller>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--caller",
                  "description": "Caller to look for when querying."
                },
                {
                  "flags": "-d --detailedOutput",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--detailedOutput",
                  "description": "Shows the details of the events in the log."
                },
                {
                  "flags": "-s --subscription <subscription>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier."
                }
              ]
            }
          ],
          "categories": {}
        },
        "logprofile": {
          "name": "logprofile",
          "description": "Configure log profiles",
          "fullName": "insights logprofile",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "add",
              "description": "Add a new log profile.",
              "fullName": "insights logprofile add",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.logprofiles.add.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "resource Id."
                },
                {
                  "flags": "-a, --storageId <storageId>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--storageId",
                  "description": "storage account Id."
                },
                {
                  "flags": "-b, --serviceBusRuleId <servicesBusRuleId>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--serviceBusRuleId",
                  "description": "the authorization rule id of the service bus."
                },
                {
                  "flags": "-c, --categories <categories>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--categories",
                  "description": "comma separated list of categories to be included in the captured logs."
                },
                {
                  "flags": "-l, --locations <locations>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--locations",
                  "description": "comma separated list of locations of the resources to be included in the log profile."
                },
                {
                  "flags": "-t, --retentionInDays <retentionInDays>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--retentionInDays",
                  "description": "the number of days the logs will be kept before being delete."
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete the log profile.",
              "fullName": "insights logprofile delete",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.logprofiles.delete.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "name of the log profile."
                }
              ]
            },
            {
              "name": "get",
              "description": "Get the log profile.",
              "fullName": "insights logprofile get",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.logprofiles.get.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "name of the log profile."
                }
              ]
            },
            {
              "name": "list",
              "description": "List log profiles.",
              "fullName": "insights logprofile list",
              "usage": "[options]",
              "filePath": "commands/arm/insights/insights.logprofiles.list.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                }
              ]
            }
          ],
          "categories": {}
        },
        "metrics": {
          "name": "metrics",
          "description": "Retrieve metrics values resource",
          "fullName": "insights metrics",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List metric values for a resource.",
              "fullName": "insights metrics list",
              "usage": "[options] <resourceId> <timeGrain>",
              "filePath": "commands/arm/insights/insights.metrics.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-i --resourceId <resourceId>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--resourceId",
                  "description": "The resource Id."
                },
                {
                  "flags": "-t --timeGrain <timeGrain>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--timeGrain",
                  "description": "The time grain. Expected format hh:mm:ss."
                },
                {
                  "flags": "-b --startTime <startTime>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--startTime",
                  "description": "The start time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-e --endTime <endTime>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endTime",
                  "description": "The end time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-n --metricNames <metricNames>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--metricNames",
                  "description": "The list of metric names."
                },
                {
                  "flags": "-s --subscription <subscription>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier."
                }
              ]
            }
          ],
          "categories": {
            "definition": {
              "name": "definition",
              "description": "Retrieves metric definitions for a resource",
              "fullName": "insights metrics definition",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List metric definitions for a resource.",
                  "fullName": "insights metrics definition list",
                  "usage": "[options] <resourceId>",
                  "filePath": "commands/arm/insights/insights.metrics.definition.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-i --resourceId <resourceId>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--resourceId",
                      "description": "The resource Id."
                    },
                    {
                      "flags": "-n --metricNames <metricNames>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--metricNames",
                      "description": "The list of metric names."
                    },
                    {
                      "flags": "-s --subscription <subscription>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "The subscription identifier."
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "usage": {
          "name": "usage",
          "description": "Retrieve usage metrics for a resource.",
          "fullName": "insights usage",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List usage metrics for a resource.",
              "fullName": "insights usage list",
              "usage": "[options] <resourceId>",
              "filePath": "commands/arm/insights/insights.usage.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-p --ApiVersion <apiVersion>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--ApiVersion",
                  "description": "The underlying resource provider API version."
                },
                {
                  "flags": "-n --metricNames <metricNames>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--metricNames",
                  "description": "The list of metric names."
                },
                {
                  "flags": "-b --startTime <startTime>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--startTime",
                  "description": "The start time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-e --endTime <endTime>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--endTime",
                  "description": "The end time of the query. In ISO format with explicit indication of timezone: 1970-01-01T00:00:00Z, 1970-01-01T00:00:00-0500"
                },
                {
                  "flags": "-s --subscription <subscription>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier."
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "keyvault": {
      "name": "keyvault",
      "description": "Commands to manage key vault instances in the Azure Key Vault service",
      "fullName": "keyvault",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "Lists existing vaults",
          "fullName": "keyvault list",
          "usage": "[[--resource-group] <resource-group>] [options]",
          "filePath": "commands/arm/keyvault/keyvault.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "lists only vaults belonging to the informed resource group"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "create",
          "description": "Creates a vault",
          "fullName": "keyvault create",
          "usage": "[--vault-name] <vault-name> --resource-group <resource-group> --location <location> [options]",
          "filePath": "commands/arm/keyvault/keyvault.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-u, --vault-name <vault-name>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--vault-name",
              "description": "the vault name; this is used to compute the vault's DNS name"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "Azure region in which to create the vault"
            },
            {
              "flags": "-x, --sku <sku>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-x",
              "long": "--sku",
              "description": "SKU setting, one of: [Standard, Premium]"
            },
            {
              "flags": "-t, --tags <tags>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set on the vault. Can be multiple in the format 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            },
            {
              "flags": "--no-self-perms",
              "required": 0,
              "optional": 0,
              "bool": false,
              "long": "--no-self-perms",
              "description": "If specified, don't add permissions for the current user in the new vault"
            }
          ]
        },
        {
          "name": "set-attributes",
          "description": "Changes attributes of an existing vault",
          "fullName": "keyvault set-attributes",
          "usage": "[--vault-name] <vault-name> [options]",
          "filePath": "commands/arm/keyvault/keyvault.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-u, --vault-name <vault-name>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--vault-name",
              "description": "the vault name"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "changes only if vault belongs to the informed resource group; otherwise returns 'not found'"
            },
            {
              "flags": "-x, --sku <sku>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-x",
              "long": "--sku",
              "description": "SKU setting, one of: [Standard, Premium]"
            },
            {
              "flags": "-t, --tags <tags>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set on the vault. Can be multiple in the format 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
            },
            {
              "flags": "--reset-tags",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--reset-tags",
              "description": "remove previously existing tags; can combined with --tags"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Shows properties of a vault",
          "fullName": "keyvault show",
          "usage": "[--vault-name] <vault-name> [options]",
          "filePath": "commands/arm/keyvault/keyvault.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-u, --vault-name <vault-name>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--vault-name",
              "description": "the vault name"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "shows only if vault belongs to the informed resource group; otherwise returns 'not found'"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Deletes an existing vault",
          "fullName": "keyvault delete",
          "usage": "[--vault-name] <vault-name> [options]",
          "filePath": "commands/arm/keyvault/keyvault.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-u, --vault-name <vault-name>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--vault-name",
              "description": "the vault name"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "deletes only if vault belongs to the informed resource group; otherwise returns 'not found'"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode (do not ask for delete confirmation)"
            },
            {
              "flags": "-p, --pass-thru",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--pass-thru",
              "description": "outputs the deleted vault"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "set-policy",
          "description": "Adds or modifies an access policy for a vault",
          "fullName": "keyvault set-policy",
          "usage": "[--vault-name] <vault-name> [options]",
          "filePath": "commands/arm/keyvault/keyvault.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-u, --vault-name <vault-name>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--vault-name",
              "description": "the vault name"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "changes only if vault belongs to the informed resource group; otherwise returns 'not found'"
            },
            {
              "flags": "--object-id <object-id>",
              "required": -13,
              "optional": 0,
              "bool": true,
              "long": "--object-id",
              "description": "a GUID that identifies the principal that will receive permissions"
            },
            {
              "flags": "--spn <service-principal-name>",
              "required": -7,
              "optional": 0,
              "bool": true,
              "long": "--spn",
              "description": "name of a service principal that will receive permissions"
            },
            {
              "flags": "--upn <user-principal-name>",
              "required": -7,
              "optional": 0,
              "bool": true,
              "long": "--upn",
              "description": "name of a user principal that will receive permissions"
            },
            {
              "flags": "--perms-to-keys <perms-to-keys>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "long": "--perms-to-keys",
              "description": "JSON-encoded array of strings representing key operations; each string can be one of [all, create, import, update, delete, get, list, backup, restore, sign, verify, encrypt, decrypt, wrapKey, unwrapKey]"
            },
            {
              "flags": "--perms-to-secrets <perms-to-secrets>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "long": "--perms-to-secrets",
              "description": "JSON-encoded array of strings representing secret operations; each string can be one of [all, set, get, list, delete]"
            },
            {
              "flags": "--enabled-for-deployment <boolean>",
              "required": -26,
              "optional": 0,
              "bool": true,
              "long": "--enabled-for-deployment",
              "description": "specifies whether the Azure Compute resource provider can access secrets"
            },
            {
              "flags": "--enabled-for-template-deployment <boolean>",
              "required": -35,
              "optional": 0,
              "bool": true,
              "long": "--enabled-for-template-deployment",
              "description": "specifies whether Azure Resource Manager can access secrets"
            },
            {
              "flags": "--enabled-for-disk-encryption <boolean>",
              "required": -31,
              "optional": 0,
              "bool": true,
              "long": "--enabled-for-disk-encryption",
              "description": "specifies whether Azure Disk Encryption can access secrets"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete-policy",
          "description": "Removes an access policy from a vault",
          "fullName": "keyvault delete-policy",
          "usage": "[--vault-name] <vault-name> [options]",
          "filePath": "commands/arm/keyvault/keyvault.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-u, --vault-name <vault-name>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-u",
              "long": "--vault-name",
              "description": "the vault name"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "deletes only if vault belongs to the informed resource group; otherwise returns 'not found'"
            },
            {
              "flags": "--object-id <object-id>",
              "required": -13,
              "optional": 0,
              "bool": true,
              "long": "--object-id",
              "description": "a GUID that identifies the principal that will lose permissions"
            },
            {
              "flags": "--spn <service-principal-name>",
              "required": -7,
              "optional": 0,
              "bool": true,
              "long": "--spn",
              "description": "name of a service principal that will lose permissions"
            },
            {
              "flags": "--upn <user-principal-name>",
              "required": -7,
              "optional": 0,
              "bool": true,
              "long": "--upn",
              "description": "name of a user principal that will lose permissions"
            },
            {
              "flags": "--enabled-for-deployment",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--enabled-for-deployment",
              "description": "if provided, will set the enabledForDeployment property to false in the vault"
            },
            {
              "flags": "--enabled-for-template-deployment",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--enabled-for-template-deployment",
              "description": "if provided, will set the enabledForTemplateDeployment property to false in the vault"
            },
            {
              "flags": "--enabled-for-disk-encryption",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--enabled-for-disk-encryption",
              "description": "if provided, will set the enabledForDiskEncryption property to false in the vault"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {
        "key": {
          "name": "key",
          "description": "Commands to manage keys in the Azure Key Vault service",
          "fullName": "keyvault key",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Lists keys of a vault",
              "fullName": "keyvault key list",
              "usage": "[--vault-name] <vault-name> [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                }
              ]
            },
            {
              "name": "list-versions",
              "description": "Lists key versions",
              "fullName": "keyvault key list-versions",
              "usage": "[--vault-name] <vault-name> [[--key-name] <key-name>] [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-k, --key-name <key-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--key-name",
                  "description": "lists only versions of this key"
                }
              ]
            },
            {
              "name": "create",
              "description": "Creates a key in the vault",
              "fullName": "keyvault key create",
              "usage": "[--vault-name] <vault-name> [--key-name] <key-name> --destination <destination> [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-k, --key-name <key-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--key-name",
                  "description": "name of the key to be created; if already exists, a new key version is generated"
                },
                {
                  "flags": "-d, --destination <destination>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--destination",
                  "description": "tells if the key is software-protected or HSM-protected; valid values: [Software, HSM]"
                },
                {
                  "flags": "--enabled <boolean>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--enabled",
                  "description": "tells if the key should be enabled; valid values: [false, true]; default is true"
                },
                {
                  "flags": "-e, --expires <datetime>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--expires",
                  "description": "key expiration time, in UTC format"
                },
                {
                  "flags": "-n, --not-before <datetime>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--not-before",
                  "description": "time before which key cannot be used, in UTC format"
                },
                {
                  "flags": "-o, --key-ops <key-ops>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--key-ops",
                  "description": "JSON-encoded array of strings representing key operations; each string can be one of [encrypt, decrypt, sign, verify, wrapKey, unwrapKey]"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set on the key. Can be multiple in the format 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                }
              ]
            },
            {
              "name": "import",
              "description": "Imports an existing key into a vault",
              "fullName": "keyvault key import",
              "usage": "[--vault-name] <vault-name> [--key-name] <key-name> ( --pem-file | --byok-file ) <file-name> [--destination <destination>] [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-k, --key-name <key-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--key-name",
                  "description": "name of the key to be imported; if already exists, a new key version is generated"
                },
                {
                  "flags": "--pem-file <file-name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--pem-file",
                  "description": "name of a PEM file containing the key to be imported; the file must not be password protected"
                },
                {
                  "flags": "--byok-file <file-name>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "long": "--byok-file",
                  "description": "name of a BYOK file containing the key to be imported"
                },
                {
                  "flags": "-p, --password <password>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "password of key file; if not informed and the file is encrypted, will prompt"
                },
                {
                  "flags": "-d, --destination <destination>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--destination",
                  "description": "tells if the key is software-protected or HSM-protected; valid values: [Software, HSM]"
                },
                {
                  "flags": "--enabled <boolean>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--enabled",
                  "description": "tells if the key should be enabled; valid values: [false, true]; default is true"
                },
                {
                  "flags": "-e, --expires <datetime>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--expires",
                  "description": "key expiration time, in UTC format"
                },
                {
                  "flags": "-n, --not-before <datetime>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--not-before",
                  "description": "time before which key cannot be used, in UTC format"
                },
                {
                  "flags": "-o, --key-ops <key-ops>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--key-ops",
                  "description": "JSON-encoded array of strings representing key operations; each string can be one of [encrypt, decrypt, sign, verify, wrapKey, unwrapKey]"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set on the key. Can be multiple in the format 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                }
              ]
            },
            {
              "name": "set-attributes",
              "description": "Changes attributes of an existing key",
              "fullName": "keyvault key set-attributes",
              "usage": "[--vault-name] <vault-name> [--key-name] <key-name> [[--key-version] <key-version>] [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-k, --key-name <key-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--key-name",
                  "description": "name of the key to be modified"
                },
                {
                  "flags": "-r, --key-version <key-version>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--key-version",
                  "description": "the version to be modified; if ommited, modifies only the most recent"
                },
                {
                  "flags": "--enabled <boolean>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--enabled",
                  "description": "if informed, command will change the enabled state; valid values: [false, true]"
                },
                {
                  "flags": "-e, --expires <datetime>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--expires",
                  "description": "if informed, command will change key expiration time; must be a date in UTC format or null"
                },
                {
                  "flags": "-n, --not-before <datetime>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--not-before",
                  "description": "if informed, command will change time before which key cannot be used; must be a date in UTC format or null"
                },
                {
                  "flags": "-o, --key-ops <key-ops>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--key-ops",
                  "description": "if informed, command will change valid operations; must be JSON-encoded array of strings representing key operations; each string can be one of [encrypt, decrypt, sign, verify, wrapKey, unwrapKey]"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set on the key. Can be multiple in the format 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                },
                {
                  "flags": "--reset-tags",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--reset-tags",
                  "description": "remove previously existing tags; can combined with --tags"
                }
              ]
            },
            {
              "name": "show",
              "description": "Shows properties of a vault key",
              "fullName": "keyvault key show",
              "usage": "[--vault-name] <vault-name> [--key-name] <key-name> [[--key-version] <key-version>] [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-k, --key-name <key-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--key-name",
                  "description": "the key name"
                },
                {
                  "flags": "-r, --key-version <key-version>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--key-version",
                  "description": "the key version; if ommited, uses the most recent"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes a key from the vault",
              "fullName": "keyvault key delete",
              "usage": "[--vault-name] <vault-name> [--key-name] <key-name> [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-k, --key-name <key-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--key-name",
                  "description": "the key name"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                },
                {
                  "flags": "-p, --pass-thru",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pass-thru",
                  "description": "outputs the deleted key"
                }
              ]
            },
            {
              "name": "backup",
              "description": "Generates a protected backup of a vault key",
              "fullName": "keyvault key backup",
              "usage": "[--vault-name] <vault-name> [--key-name] <key-name> [--output-file] <output-file> [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-k, --key-name <key-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--key-name",
                  "description": "the key name"
                },
                {
                  "flags": "-f, --output-file <output-file>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--output-file",
                  "description": "name of the binary file that will contain backup data"
                }
              ]
            },
            {
              "name": "restore",
              "description": "Restores a backed up key to a vault",
              "fullName": "keyvault key restore",
              "usage": "[--vault-name] <vault-name> [--input-file] <input-file> [options]",
              "filePath": "commands/arm/keyvault/keyvault.key.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-f, --input-file <input-file>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--input-file",
                  "description": "name of the binary file that contains backup data"
                }
              ]
            }
          ],
          "categories": {}
        },
        "secret": {
          "name": "secret",
          "description": "Commands to manage secrets in the Azure Key Vault service",
          "fullName": "keyvault secret",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Lists secrets of a vault",
              "fullName": "keyvault secret list",
              "usage": "[--vault-name] <vault-name> [options]",
              "filePath": "commands/arm/keyvault/keyvault.secret.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                }
              ]
            },
            {
              "name": "list-versions",
              "description": "Lists secret versions",
              "fullName": "keyvault secret list-versions",
              "usage": "[--vault-name] <vault-name> [[--secret-name] <secret-name>] [options]",
              "filePath": "commands/arm/keyvault/keyvault.secret.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-s, --secret-name <secret-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--secret-name",
                  "description": "lists only versions of this secret"
                }
              ]
            },
            {
              "name": "set",
              "description": "Stores a secret on the vault",
              "fullName": "keyvault secret set",
              "usage": "[--vault-name] <vault-name> [--secret-name] <secret-name> [--value] <secret-value> [options]",
              "filePath": "commands/arm/keyvault/keyvault.secret.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-s, --secret-name <secret-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--secret-name",
                  "description": "name of the secret to be created; if already exists, a new secret version is created"
                },
                {
                  "flags": "-w, --value <secret-value>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--value",
                  "description": "the secret value"
                },
                {
                  "flags": "--enabled <boolean>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--enabled",
                  "description": "tells if the secret should be enabled; valid values: [false, true]; default is true"
                },
                {
                  "flags": "-e, --expires <datetime>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--expires",
                  "description": "expiration time of secret, in UTC format"
                },
                {
                  "flags": "-n, --not-before <datetime>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--not-before",
                  "description": "time before which secret cannot be used, in UTC format"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set on the secret. Can be multiple in the format 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                }
              ]
            },
            {
              "name": "set-attributes",
              "description": "Changes attributes of an existing secret",
              "fullName": "keyvault secret set-attributes",
              "usage": "[--vault-name] <vault-name> [--secret-name] <secret-name> [[--secret-version] <secret-version>] [options]",
              "filePath": "commands/arm/keyvault/keyvault.secret.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-s, --secret-name <secret-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--secret-name",
                  "description": "name of the secret to be modified"
                },
                {
                  "flags": "-r, --secret-version <secret-version>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--secret-version",
                  "description": "the version to be modified; if ommited, modifies only the most recent"
                },
                {
                  "flags": "--enabled <boolean>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "long": "--enabled",
                  "description": "if informed, command will change the enabled state; valid values: [false, true]"
                },
                {
                  "flags": "-e, --expires <datetime>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--expires",
                  "description": "if informed, command will change secret expiration time; must be a date in UTC format or null"
                },
                {
                  "flags": "-n, --not-before <datetime>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--not-before",
                  "description": "if informed, command will change time before which secret cannot be used; must be a date in UTC format or null"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "Tags to set on the secret. Can be multiple in the format 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
                },
                {
                  "flags": "--reset-tags",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--reset-tags",
                  "description": "remove previously existing tags; can combined with --tags"
                }
              ]
            },
            {
              "name": "show",
              "description": "Shows a vault secret",
              "fullName": "keyvault secret show",
              "usage": "[--vault-name] <vault-name> [--secret-name] <secret-name> [[--secret-version] <secret-version>] [options]",
              "filePath": "commands/arm/keyvault/keyvault.secret.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-s, --secret-name <secret-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--secret-name",
                  "description": "the secret name"
                },
                {
                  "flags": "-r, --secret-version <secret-version>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--secret-version",
                  "description": "the secret version; if ommited, uses the most recent"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes a secret from the vault",
              "fullName": "keyvault secret delete",
              "usage": "[--vault-name] <vault-name> [--secret-name] <secret-name> [options]",
              "filePath": "commands/arm/keyvault/keyvault.secret.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-u, --vault-name <vault-name>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--vault-name",
                  "description": "the vault name"
                },
                {
                  "flags": "-s, --secret-name <secret-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--secret-name",
                  "description": "the secret name"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                },
                {
                  "flags": "-p, --pass-thru",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--pass-thru",
                  "description": "outputs the deleted secret"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "location": {
      "name": "location",
      "description": "Commands to get the available locations",
      "fullName": "location",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "list the available locations",
          "fullName": "location list",
          "usage": "[options]",
          "filePath": "commands/arm/location/location.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "network": {
      "name": "network",
      "description": "Commands to manage network resources",
      "fullName": "network",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "vnet": {
          "name": "vnet",
          "description": "Commands to manage virtual networks",
          "fullName": "network vnet",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a virtual network",
              "fullName": "network vnet create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-a, --address-prefixes <address-prefixes>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--address-prefixes",
                  "description": "the comma separated list of address prefixes for this virtual network.\n     For example, -a \"10.0.0.0/24,10.0.1.0/24\"\n     Default value is 10.0.0.0/8"
                },
                {
                  "flags": "-d, --dns-servers <dns-servers>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--dns-servers",
                  "description": "the comma separated list of DNS servers IP addresses"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set virtual network",
              "fullName": "network vnet set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network"
                },
                {
                  "flags": "-a, --address-prefixes <address-prefixes>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--address-prefixes",
                  "description": "the comma separated list of address prefixes for this virtual network.\n     For example, -a \"10.0.0.0/24,10.0.1.0/24\"\n     This list will be appended to the current list of address prefixes.\n     The address prefixes in this list should not overlap between them.\n     The address prefixes in this list should not overlap with existing address prefixes in the vnet."
                },
                {
                  "flags": "-d, --dns-servers [dns-servers]",
                  "required": 0,
                  "optional": -19,
                  "bool": true,
                  "short": "-d",
                  "long": "--dns-servers",
                  "description": "the comma separated list of DNS servers IP addresses.\n     This list will be appended to the current list of DNS server IP addresses."
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all virtual networks",
              "fullName": "network vnet list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a virtual network",
              "fullName": "network vnet show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a virtual network",
              "fullName": "network vnet delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {
            "subnet": {
              "name": "subnet",
              "description": "Commands to manage virtual network subnets",
              "fullName": "network vnet subnet",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create virtual network subnet",
                  "fullName": "network vnet subnet create",
                  "usage": "[options] <resource-group> <vnet-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-e, --vnet-name <vnet-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--vnet-name",
                      "description": "the name of the virtual network"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the subnet"
                    },
                    {
                      "flags": "-a, --address-prefix <address-prefix>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--address-prefix",
                      "description": "the address prefix in CIDR format"
                    },
                    {
                      "flags": "-w, --network-security-group-id <network-security-group-id>",
                      "required": -33,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--network-security-group-id",
                      "description": "the network security group identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkSecurityGroups/<nsg-name>"
                    },
                    {
                      "flags": "-o, --network-security-group-name <network-security-group-name>",
                      "required": -35,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--network-security-group-name",
                      "description": "the network security group name"
                    },
                    {
                      "flags": "-i, --route-table-id <route-table-id>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--route-table-id",
                      "description": "the route table identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/routeTables/<route-table-name>"
                    },
                    {
                      "flags": "-r, --route-table-name <route-table-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--route-table-name",
                      "description": "the route table name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a virtual network subnet",
                  "fullName": "network vnet subnet set",
                  "usage": "[options] <resource-group> <vnet-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-e, --vnet-name <vnet-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--vnet-name",
                      "description": "the name of the virtual network"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the subnet"
                    },
                    {
                      "flags": "-a, --address-prefix <address-prefix>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--address-prefix",
                      "description": "the address prefix in CIDR format"
                    },
                    {
                      "flags": "-w, --network-security-group-id [network-security-group-id]",
                      "required": 0,
                      "optional": -33,
                      "bool": true,
                      "short": "-w",
                      "long": "--network-security-group-id",
                      "description": "the network security group identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkSecurityGroups/<nsg-name>"
                    },
                    {
                      "flags": "-o, --network-security-group-name [network-security-group-name]",
                      "required": 0,
                      "optional": -35,
                      "bool": true,
                      "short": "-o",
                      "long": "--network-security-group-name",
                      "description": "the network security group name"
                    },
                    {
                      "flags": "-i, --route-table-id [route-table-id]",
                      "required": 0,
                      "optional": -22,
                      "bool": true,
                      "short": "-i",
                      "long": "--route-table-id",
                      "description": "the route table identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/routeTables/<route-table-name>"
                    },
                    {
                      "flags": "-r, --route-table-name [route-table-name]",
                      "required": 0,
                      "optional": -24,
                      "bool": true,
                      "short": "-r",
                      "long": "--route-table-name",
                      "description": "the route table name"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all virtual network subnets",
                  "fullName": "network vnet subnet list",
                  "usage": "[options] <resource-group> <vnet-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-e, --vnet-name <vnet-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--vnet-name",
                      "description": "the name of the virtual network"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get a virtual network subnet",
                  "fullName": "network vnet subnet show",
                  "usage": "[options] <resource-group> <vnet-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-e, --vnet-name <vnet-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--vnet-name",
                      "description": "the name of the virtual network"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the subnet"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a subnet of a virtual network",
                  "fullName": "network vnet subnet delete",
                  "usage": "[options] <resource-group> <vnet-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-e, --vnet-name <vnet-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--vnet-name",
                      "description": "the name of the virtual network"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the subnet name"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "usage": {
          "name": "usage",
          "description": "Commands to manage network usage",
          "fullName": "network usage",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "List usage of network resources.",
              "fullName": "network usage list",
              "usage": "[options] <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "lb": {
          "name": "lb",
          "description": "Commands to manage load balancers",
          "fullName": "network lb",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a load balancer",
              "fullName": "network lb create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the load balancer"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a load balancer",
              "fullName": "network lb set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the load balancer"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all load balancers",
              "fullName": "network lb list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a load balancer",
              "fullName": "network lb show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the load balancer"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a load balancer",
              "fullName": "network lb delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the load balancer"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {
            "frontend-ip": {
              "name": "frontend-ip",
              "description": "Commands to manage frontend ip configurations of a load balancer",
              "fullName": "network lb frontend-ip",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a frontend ip configuration to the load balancer",
                  "fullName": "network lb frontend-ip create",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the frontend ip configuration"
                    },
                    {
                      "flags": "-a, --private-ip-address <private-ip-address>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--private-ip-address",
                      "description": "the private ip address"
                    },
                    {
                      "flags": "-u, --public-ip-id <public-ip-id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--public-ip-id",
                      "description": "the public ip address identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                    },
                    {
                      "flags": "-i, --public-ip-name <public-ip-name>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--public-ip-name",
                      "description": "the public ip address name.\n     This public ip must exist in the same resource group as the load balancer.\n     Please use public-ip-id if that is not the case."
                    },
                    {
                      "flags": "-b, --subnet-id <subnet-id>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--subnet-id",
                      "description": "the subnet identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/VirtualNetworks/<vnet-name>/subnets/<subnet-name>"
                    },
                    {
                      "flags": "-e, --subnet-name <subnet-name>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--subnet-name",
                      "description": "the subnet name"
                    },
                    {
                      "flags": "-m, --subnet-vnet-name <subnet-vnet-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--subnet-vnet-name",
                      "description": "the virtual network name in which subnet exists.\n     This virtual network must exist in the same resource group as the load balancer.\n     Please use subnet-id if that is not the case."
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a frontend ip configuration of a load balancer",
                  "fullName": "network lb frontend-ip set",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the frontend ip configuration"
                    },
                    {
                      "flags": "-a, --private-ip-address [private-ip-address]",
                      "required": 0,
                      "optional": -26,
                      "bool": true,
                      "short": "-a",
                      "long": "--private-ip-address",
                      "description": "the private ip address"
                    },
                    {
                      "flags": "-u, --public-ip-id <public-ip-id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--public-ip-id",
                      "description": "the public ip address identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                    },
                    {
                      "flags": "-i, --public-ip-name <public-ip-name>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--public-ip-name",
                      "description": "the public ip address name.\n     This public ip must exist in the same resource group as the load balancer.\n     Please use public-ip-id if that is not the case."
                    },
                    {
                      "flags": "-b, --subnet-id <subnet-id>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--subnet-id",
                      "description": "the subnet identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/VirtualNetworks/<vnet-name>/subnets/<subnet-name>"
                    },
                    {
                      "flags": "-e, --subnet-name <subnet-name>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--subnet-name",
                      "description": "the subnet name"
                    },
                    {
                      "flags": "-m, --subnet-vnet-name <subnet-vnet-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--subnet-vnet-name",
                      "description": "the virtual network name in which subnet exists.\n     This virtual network must exist in the same resource group as the load balancer.\n     Please use subnet-id if that is not the case."
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all frontend ip configurations in the load balancer",
                  "fullName": "network lb frontend-ip list",
                  "usage": "[options] <resource-group> <lb-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a frontend ip configuration from a load balancer",
                  "fullName": "network lb frontend-ip delete",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the frontend ip configuration"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "probe": {
              "name": "probe",
              "description": "Commands to manage probes of a load balancer",
              "fullName": "network lb probe",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a probe to the load balancer",
                  "fullName": "network lb probe create",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the probe"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the probe protocol"
                    },
                    {
                      "flags": "-o, --port <port>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--port",
                      "description": "the probe port"
                    },
                    {
                      "flags": "-f, --path <path>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--path",
                      "description": "the probe path"
                    },
                    {
                      "flags": "-i, --interval <interval>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--interval",
                      "description": "the probe interval in seconds"
                    },
                    {
                      "flags": "-c, --count <count>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--count",
                      "description": "the number of probes"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a probe of a load balancer",
                  "fullName": "network lb probe set",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the probe"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the probe protocol"
                    },
                    {
                      "flags": "-o, --port <port>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--port",
                      "description": "the probe port"
                    },
                    {
                      "flags": "-f, --path <path>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--path",
                      "description": "the probe path"
                    },
                    {
                      "flags": "-i, --interval <interval>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--interval",
                      "description": "the probe interval in seconds"
                    },
                    {
                      "flags": "-c, --count <count>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--count",
                      "description": "the number of probes"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all probes in a load balancer",
                  "fullName": "network lb probe list",
                  "usage": "[options] <resource-group> <lb-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a probe from a load balancer",
                  "fullName": "network lb probe delete",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the probe name"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "address-pool": {
              "name": "address-pool",
              "description": "Commands to manage backend address pools of a load balancer",
              "fullName": "network lb address-pool",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a backend address pool to the load balancer",
                  "fullName": "network lb address-pool create",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the backend address pool"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all backend address pools in the load balancer",
                  "fullName": "network lb address-pool list",
                  "usage": "[options] <resource-group> <lb-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a backend address pool from a load balancer",
                  "fullName": "network lb address-pool delete",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the backend address pool"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "rule": {
              "name": "rule",
              "description": "Commands to manage load balancer rules",
              "fullName": "network lb rule",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a load balancing rule to a load balancer",
                  "fullName": "network lb rule create",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the rule"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the rule protocol [tcp,udp]"
                    },
                    {
                      "flags": "-f, --frontend-port <frontend-port>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--frontend-port",
                      "description": "the frontend port [0-65535]"
                    },
                    {
                      "flags": "-b, --backend-port <backend-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--backend-port",
                      "description": "the backend port [0-65535]"
                    },
                    {
                      "flags": "-e, --enable-floating-ip <enable-floating-ip>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--enable-floating-ip",
                      "description": "enable floating point ip [true, false]"
                    },
                    {
                      "flags": "-i, --idle-timeout <idle-timeout>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--idle-timeout",
                      "description": "the idle timeout specified in minutes"
                    },
                    {
                      "flags": "-d, --load-distribution <load-distribution>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--load-distribution",
                      "description": "client session persistence"
                    },
                    {
                      "flags": "-t, --frontend-ip-name <frontend-ip-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--frontend-ip-name",
                      "description": "the name of the frontend ip configuration in the same load balancer"
                    },
                    {
                      "flags": "-o, --backend-address-pool-name <backend-address-pool-name>",
                      "required": -33,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--backend-address-pool-name",
                      "description": "the name of the backend address pool defined in the same load balancer"
                    },
                    {
                      "flags": "-a, --probe-name <probe-name>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--probe-name",
                      "description": "the name of the probe defined in the same load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a load balancing rule of a load balancer",
                  "fullName": "network lb rule set",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the rule"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the rule protocol [tcp,udp]"
                    },
                    {
                      "flags": "-f, --frontend-port <frontend-port>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--frontend-port",
                      "description": "the frontend port [0-65535]"
                    },
                    {
                      "flags": "-b, --backend-port <backend-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--backend-port",
                      "description": "the backend port [0-65535]"
                    },
                    {
                      "flags": "-e, --enable-floating-ip <enable-floating-ip>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--enable-floating-ip",
                      "description": "enable floating point ip [true, false]"
                    },
                    {
                      "flags": "-i, --idle-timeout <idle-timeout>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--idle-timeout",
                      "description": "the idle timeout specified in minutes"
                    },
                    {
                      "flags": "-d, --load-distribution <load-distribution>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--load-distribution",
                      "description": "client session persistence"
                    },
                    {
                      "flags": "-t, --frontend-ip-name <frontend-ip-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--frontend-ip-name",
                      "description": "the name of the frontend ip configuration in the same load balancer"
                    },
                    {
                      "flags": "-o, --backend-address-pool-name <backend-address-pool-name>",
                      "required": -33,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--backend-address-pool-name",
                      "description": "the name of the backend address pool defined in the same load balancer"
                    },
                    {
                      "flags": "-a, --probe-name [probe-name]",
                      "required": 0,
                      "optional": -18,
                      "bool": true,
                      "short": "-a",
                      "long": "--probe-name",
                      "description": "the name of the probe defined in the same load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all load balancing rules of a load balancer",
                  "fullName": "network lb rule list",
                  "usage": "[options] <resource-group> <lb-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a load balancing rule from a load balancer",
                  "fullName": "network lb rule delete",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the rule"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "inbound-nat-rule": {
              "name": "inbound-nat-rule",
              "description": "Commands to manage load balancer inbound NAT rules",
              "fullName": "network lb inbound-nat-rule",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a load balancing inbound NAT rule to the load balancer",
                  "fullName": "network lb inbound-nat-rule create",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the inbound NAT rule"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the rule protocol [tcp,udp]"
                    },
                    {
                      "flags": "-f, --frontend-port <frontend-port>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--frontend-port",
                      "description": "the frontend port [0-65535]"
                    },
                    {
                      "flags": "-b, --backend-port <backend-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--backend-port",
                      "description": "the backend port [0-65535]"
                    },
                    {
                      "flags": "-e, --enable-floating-ip <enable-floating-ip>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--enable-floating-ip",
                      "description": "enable floating point ip [true, false]"
                    },
                    {
                      "flags": "-i, --idle-timeout <idle-timeout>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--idle-timeout",
                      "description": "the idle timeout specified in minutes"
                    },
                    {
                      "flags": "-t, --frontend-ip-name <frontend-ip-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--frontend-ip-name",
                      "description": "the name of the frontend ip configuration"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a load balancing inbound NAT rule of load balancer",
                  "fullName": "network lb inbound-nat-rule set",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the inbound NAT rule"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the rule protocol [tcp,udp]"
                    },
                    {
                      "flags": "-f, --frontend-port <frontend-port>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--frontend-port",
                      "description": "the frontend port [0-65535]"
                    },
                    {
                      "flags": "-b, --backend-port <backend-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--backend-port",
                      "description": "the backend port [0-65535]"
                    },
                    {
                      "flags": "-e, --enable-floating-ip <enable-floating-ip>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--enable-floating-ip",
                      "description": "enable floating point ip [true, false]"
                    },
                    {
                      "flags": "-i, --idle-timeout <idle-timeout>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--idle-timeout",
                      "description": "the idle timeout specified in minutes"
                    },
                    {
                      "flags": "-t, --frontend-ip-name <frontend-ip-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--frontend-ip-name",
                      "description": "the name of the frontend ip configuration"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all load balancing inbound NAT rules of load balancer",
                  "fullName": "network lb inbound-nat-rule list",
                  "usage": "[options] <resource-group> <lb-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a load balancing inbound NAT rule from a load balancer",
                  "fullName": "network lb inbound-nat-rule delete",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the inbound NAT rule"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "inbound-nat-pool": {
              "name": "inbound-nat-pool",
              "description": "Commands to manage load balancer inbound NAT pools",
              "fullName": "network lb inbound-nat-pool",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a load balancing inbound NAT pool to the load balancer",
                  "fullName": "network lb inbound-nat-pool create",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the inbound NAT pool"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the pool protocol [tcp,udp]"
                    },
                    {
                      "flags": "-f, --frontend-port-range-start  <frontend-port-range-start>",
                      "required": -34,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--frontend-port-range-start",
                      "description": "the frontend port range start [0-65535]"
                    },
                    {
                      "flags": "-e, --frontend-port-range-end <frontend-port-range-end>",
                      "required": -31,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--frontend-port-range-end",
                      "description": "the frontend port range end [0-65535]"
                    },
                    {
                      "flags": "-b, --backend-port <backend-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--backend-port",
                      "description": "the backend port [0-65535]"
                    },
                    {
                      "flags": "-i, --frontend-ip-name <frontend-ip-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--frontend-ip-name",
                      "description": "the name of the frontend ip configuration"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a load balancing inbound NAT pool of load balancer",
                  "fullName": "network lb inbound-nat-pool set",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the inbound NAT pool"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the pool protocol [tcp,udp]"
                    },
                    {
                      "flags": "-f, --frontend-port-range-start  <frontend-port-range-start>",
                      "required": -34,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--frontend-port-range-start",
                      "description": "the frontend port range start [0-65535]"
                    },
                    {
                      "flags": "-e, --frontend-port-range-end <frontend-port-range-end>",
                      "required": -31,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--frontend-port-range-end",
                      "description": "the frontend port range end [0-65535]"
                    },
                    {
                      "flags": "-b, --backend-port <backend-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--backend-port",
                      "description": "the backend port [0-65535]"
                    },
                    {
                      "flags": "-i, --frontend-ip-name <frontend-ip-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--frontend-ip-name",
                      "description": "the name of the frontend ip configuration"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all load balancing inbound NAT pools of load balancer",
                  "fullName": "network lb inbound-nat-pool list",
                  "usage": "[options] <resource-group> <lb-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a load balancing inbound NAT pool from a load balancer",
                  "fullName": "network lb inbound-nat-pool delete",
                  "usage": "[options] <resource-group> <lb-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-l, --lb-name <lb-name>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--lb-name",
                      "description": "the name of the load balancer"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the inbound NAT pool"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "public-ip": {
          "name": "public-ip",
          "description": "Commands to manage public ip addresses",
          "fullName": "network public-ip",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a public ip address",
              "fullName": "network public-ip create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the public ip"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-d, --domain-name-label <domain-name-label>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--domain-name-label",
                  "description": "the domain name label.\n     This set DNS to <domain-name-label>.<location>.cloudapp.azure.com"
                },
                {
                  "flags": "-a, --allocation-method <allocation-method>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--allocation-method",
                  "description": "the allocation method, valid values are\n     [Dynamic,Static], default is Dynamic"
                },
                {
                  "flags": "-i, --idle-timeout <idle-timeout>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--idle-timeout",
                  "description": "the idle timeout specified in minutes"
                },
                {
                  "flags": "-f, --reverse-fqdn <reverse-fqdn>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--reverse-fqdn",
                  "description": "the reverse fqdn"
                },
                {
                  "flags": "-e, --ip-version <ip-version>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--ip-version",
                  "description": "the ip version, valid values are\n     [IPv4,IPv6], default is IPv4"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a public ip address",
              "fullName": "network public-ip set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the public ip"
                },
                {
                  "flags": "-d, --domain-name-label [domain-name-label]",
                  "required": 0,
                  "optional": -25,
                  "bool": true,
                  "short": "-d",
                  "long": "--domain-name-label",
                  "description": "the domain name label.\n     This set DNS to <domain-name-label>.<location>.cloudapp.azure.com"
                },
                {
                  "flags": "-a, --allocation-method <allocation-method>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--allocation-method",
                  "description": "the allocation method, valid values are\n     [Dynamic,Static], default is Dynamic"
                },
                {
                  "flags": "-i, --idle-timeout <idle-timeout>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--idle-timeout",
                  "description": "the idle timeout specified in minutes"
                },
                {
                  "flags": "-f, --reverse-fqdn <reverse-fqdn>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--reverse-fqdn",
                  "description": "the reverse fqdn"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all public ip addresses",
              "fullName": "network public-ip list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a public ip address",
              "fullName": "network public-ip show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the public IP"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a public ip address",
              "fullName": "network public-ip delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the public IP"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "nic": {
          "name": "nic",
          "description": "Commands to manage network interfaces",
          "fullName": "network nic",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a network interface",
              "fullName": "network nic create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network interface"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-u, --subnet-id <subnet-id>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--subnet-id",
                  "description": "the subnet identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/VirtualNetworks/<vnet-name>/subnets/<subnet-name>"
                },
                {
                  "flags": "-k, --subnet-name <subnet-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--subnet-name",
                  "description": "the subnet name"
                },
                {
                  "flags": "-m, --subnet-vnet-name <subnet-vnet-name>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--subnet-vnet-name",
                  "description": "the vnet name under which subnet-name exists"
                },
                {
                  "flags": "-w, --network-security-group-id <network-security-group-id>",
                  "required": -33,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--network-security-group-id",
                  "description": "the network security group identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkSecurityGroups/<nsg-name>"
                },
                {
                  "flags": "-o, --network-security-group-name <network-security-group-name>",
                  "required": -35,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--network-security-group-name",
                  "description": "the network security group name.\n     This network security group must exist in the same resource group as the nic.\n     Please use network-security-group-id if that is not the case."
                },
                {
                  "flags": "-i, --public-ip-id <public-ip-id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--public-ip-id",
                  "description": "the public ip identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                },
                {
                  "flags": "-p, --public-ip-name <public-ip-name>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--public-ip-name",
                  "description": "the public ip name.\n     This public ip must exist in the same resource group as the nic.\n     Please use public-ip-id if that is not the case."
                },
                {
                  "flags": "-d, --lb-address-pool-ids <lb-address-pool-ids>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--lb-address-pool-ids",
                  "description": "the comma separated list of load balancer address pool identifiers\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/backendAddressPools/<address-pool-name>"
                },
                {
                  "flags": "-e, --lb-inbound-nat-rule-ids <lb-inbound-nat-rule-ids>",
                  "required": -31,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--lb-inbound-nat-rule-ids",
                  "description": "the comma separated list of load balancer inbound NAT rule identifiers\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/inboundNatRules/<nat-rule-name>"
                },
                {
                  "flags": "-a, --private-ip-address <private-ip-address>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--private-ip-address",
                  "description": "the private ip address"
                },
                {
                  "flags": "-b, --private-ip-version <private-ip-version>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--private-ip-version",
                  "description": "the private ip version, valid values are\n     [IPv4,IPv6], default is IPv4"
                },
                {
                  "flags": "-r, --internal-dns-name-label <internal-dns-name-label>",
                  "required": -31,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--internal-dns-name-label",
                  "description": "the internal DNS name label"
                },
                {
                  "flags": "-f, --enable-ip-forwarding <enable-ip-forwarding>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--enable-ip-forwarding",
                  "description": "enable ip forwarding [true, false]"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a network interface",
              "fullName": "network nic set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network interface"
                },
                {
                  "flags": "-w, --network-security-group-id [network-security-group-id]",
                  "required": 0,
                  "optional": -33,
                  "bool": true,
                  "short": "-w",
                  "long": "--network-security-group-id",
                  "description": "the network security group identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/networkSecurityGroups/<nsg-name>"
                },
                {
                  "flags": "-o, --network-security-group-name [network-security-group-name]",
                  "required": 0,
                  "optional": -35,
                  "bool": true,
                  "short": "-o",
                  "long": "--network-security-group-name",
                  "description": "the network security group name.\n     This network security group must exist in the same resource group as the nic.\n     Please use network-security-group-id if that is not the case."
                },
                {
                  "flags": "-r, --internal-dns-name-label [internal-dns-name-label]",
                  "required": 0,
                  "optional": -31,
                  "bool": true,
                  "short": "-r",
                  "long": "--internal-dns-name-label",
                  "description": "the internal DNS name label"
                },
                {
                  "flags": "-f, --enable-ip-forwarding <enable-ip-forwarding>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--enable-ip-forwarding",
                  "description": "enable ip forwarding [true, false]"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all network interfaces",
              "fullName": "network nic list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-m, --virtual-machine-scale-set-name <virtual-machine-scale-set-name>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--virtual-machine-scale-set-name",
                  "description": "the name of the virtual machine scale set"
                },
                {
                  "flags": "-i, --virtual-machine-index <virtual-machine-index>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--virtual-machine-index",
                  "description": "the index of the virtual machine in scale set"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a network interface",
              "fullName": "network nic show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network interface"
                },
                {
                  "flags": "-m, --virtual-machine-scale-set-name <virtual-machine-scale-set-name>",
                  "required": -38,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--virtual-machine-scale-set-name",
                  "description": "the name of the virtual machine scale set"
                },
                {
                  "flags": "-i, --virtual-machine-index <virtual-machine-index>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--virtual-machine-index",
                  "description": "the index of virtual machine in scale set"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a network interface",
              "fullName": "network nic delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network interface"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {
            "ip-config": {
              "name": "ip-config",
              "description": "Commands to manage network interface ip configurations",
              "fullName": "network nic ip-config",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a network interface ip configuration",
                  "fullName": "network nic ip-config create",
                  "usage": "[options] <resource-group> <nic-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --nic-name <nic-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--nic-name",
                      "description": "the name of the network interface"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the ip configuration"
                    },
                    {
                      "flags": "-u, --subnet-id <subnet-id>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--subnet-id",
                      "description": "the subnet identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/VirtualNetworks/<vnet-name>/subnets/<subnet-name>"
                    },
                    {
                      "flags": "-k, --subnet-name <subnet-name>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--subnet-name",
                      "description": "the subnet name"
                    },
                    {
                      "flags": "-m, --subnet-vnet-name <subnet-vnet-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--subnet-vnet-name",
                      "description": "the vnet name under which subnet-name exists"
                    },
                    {
                      "flags": "-i, --public-ip-id <public-ip-id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--public-ip-id",
                      "description": "the public IP identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                    },
                    {
                      "flags": "-p, --public-ip-name <public-ip-name>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--public-ip-name",
                      "description": "the public IP name.\n     This public ip must exist in the same resource group as the nic.\n     Please use public-ip-id if that is not the case."
                    },
                    {
                      "flags": "-d, --lb-address-pool-ids <lb-address-pool-ids>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--lb-address-pool-ids",
                      "description": "the comma separated list of load balancer address pool identifiers\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/backendAddressPools/<address-pool-name>"
                    },
                    {
                      "flags": "-e, --lb-inbound-nat-rule-ids <lb-inbound-nat-rule-ids>",
                      "required": -31,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--lb-inbound-nat-rule-ids",
                      "description": "the comma separated list of load balancer inbound NAT rule identifiers\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/inboundNatRules/<nat-rule-name>"
                    },
                    {
                      "flags": "-a, --private-ip-address <private-ip-address>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--private-ip-address",
                      "description": "the private ip address"
                    },
                    {
                      "flags": "-b, --private-ip-version <private-ip-version>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--private-ip-version",
                      "description": "the private ip version, valid values are\n     [IPv4,IPv6], default is IPv4"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a network interface ip configuration",
                  "fullName": "network nic ip-config set",
                  "usage": "[options] <resource-group> <nic-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --nic-name <nic-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--nic-name",
                      "description": "the name of the network interface"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the ip configuration"
                    },
                    {
                      "flags": "-u, --subnet-id <subnet-id>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--subnet-id",
                      "description": "the subnet identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/VirtualNetworks/<vnet-name>/subnets/<subnet-name>"
                    },
                    {
                      "flags": "-k, --subnet-name <subnet-name>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--subnet-name",
                      "description": "the subnet name"
                    },
                    {
                      "flags": "-m, --subnet-vnet-name <subnet-vnet-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--subnet-vnet-name",
                      "description": "the vnet name under which subnet-name exists"
                    },
                    {
                      "flags": "-i, --public-ip-id <public-ip-id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--public-ip-id",
                      "description": "the public IP identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                    },
                    {
                      "flags": "-p, --public-ip-name <public-ip-name>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--public-ip-name",
                      "description": "the public IP name.\n     This public ip must exist in the same resource group as the nic.\n     Please use public-ip-id if that is not the case."
                    },
                    {
                      "flags": "-d, --lb-address-pool-ids [lb-address-pool-ids]",
                      "required": 0,
                      "optional": -27,
                      "bool": true,
                      "short": "-d",
                      "long": "--lb-address-pool-ids",
                      "description": "the comma separated list of load balancer address pool identifiers\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/backendAddressPools/<address-pool-name>"
                    },
                    {
                      "flags": "-e, --lb-inbound-nat-rule-ids [lb-inbound-nat-rule-ids]",
                      "required": 0,
                      "optional": -31,
                      "bool": true,
                      "short": "-e",
                      "long": "--lb-inbound-nat-rule-ids",
                      "description": "the comma separated list of load balancer inbound NAT rule identifiers\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/inboundNatRules/<nat-rule-name>"
                    },
                    {
                      "flags": "-a, --private-ip-address <private-ip-address>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--private-ip-address",
                      "description": "the private ip address"
                    },
                    {
                      "flags": "-b, --private-ip-version <private-ip-version>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--private-ip-version",
                      "description": "the private ip version, valid values are\n     [IPv4,IPv6]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "List a network interface ip configurations",
                  "fullName": "network nic ip-config list",
                  "usage": "[options] <resource-group> <nic-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --nic-name <nic-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--nic-name",
                      "description": "the name of the network interface"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get details of a network interface ip configuration",
                  "fullName": "network nic ip-config show",
                  "usage": "[options] <resource-group> <nic-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --nic-name <nic-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--nic-name",
                      "description": "the name of the network interface"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the ip configuration"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a network interface ip configuration",
                  "fullName": "network nic ip-config delete",
                  "usage": "[options] <resource-group> <nic-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --nic-name <nic-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--nic-name",
                      "description": "the name of the network interface"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the ip configuration"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {
                "address-pool": {
                  "name": "address-pool",
                  "description": "Commands to manage backend address pools of the network interface ip configuration",
                  "fullName": "network nic ip-config address-pool",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "create",
                      "description": "Add a backend address pool to a NIC ip configuration",
                      "fullName": "network nic ip-config address-pool create",
                      "usage": "[options] <resource-group> <nic-name> <ip-config-name>",
                      "filePath": "commands/arm/network/network.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-g, --resource-group <resource-group>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the name of the resource group"
                        },
                        {
                          "flags": "-c, --nic-name <nic-name>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-c",
                          "long": "--nic-name",
                          "description": "the name of the network interface"
                        },
                        {
                          "flags": "-n, --ip-config-name <ip-config-name>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--ip-config-name",
                          "description": "the name of ip configuration"
                        },
                        {
                          "flags": "-i, --lb-address-pool-id <lb-address-pool-id>",
                          "required": -26,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--lb-address-pool-id",
                          "description": "the load balancer backend address pool identifier\n   e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/backendAddressPools/<address-pool-name>"
                        },
                        {
                          "flags": "-l, --lb-name <lb-name>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--lb-name",
                          "description": "the load balancer name.\n   This load balancer must exists in the same resource group as the NIC."
                        },
                        {
                          "flags": "-a, --lb-address-pool-name <lb-address-pool-name>",
                          "required": -28,
                          "optional": 0,
                          "bool": true,
                          "short": "-a",
                          "long": "--lb-address-pool-name",
                          "description": "the name of the address pool that exists in the load balancer\n   Please use --lb-address-pool-id if that is not the case."
                        },
                        {
                          "flags": "-s, --subscription <subscription>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "delete",
                      "description": "Delete a backend address pool from a NIC ip configuration",
                      "fullName": "network nic ip-config address-pool delete",
                      "usage": "[options] <resource-group> <nic-name> <ip-config-name>",
                      "filePath": "commands/arm/network/network.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-g, --resource-group <resource-group>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the name of the resource group"
                        },
                        {
                          "flags": "-c, --nic-name <nic-name>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-c",
                          "long": "--nic-name",
                          "description": "the name of the network interface"
                        },
                        {
                          "flags": "-n, --ip-config-name <ip-config-name>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--ip-config-name",
                          "description": "the name of ip configuration"
                        },
                        {
                          "flags": "-i, --lb-address-pool-id <lb-address-pool-id>",
                          "required": -26,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--lb-address-pool-id",
                          "description": "the load balancer backend address pool identifier\n   e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/backendAddressPools/<address-pool-name>"
                        },
                        {
                          "flags": "-l, --lb-name <lb-name>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--lb-name",
                          "description": "the load balancer name.\n   This load balancer must exists in the same resource group as the NIC."
                        },
                        {
                          "flags": "-a, --lb-address-pool-name <lb-address-pool-name>",
                          "required": -28,
                          "optional": 0,
                          "bool": true,
                          "short": "-a",
                          "long": "--lb-address-pool-name",
                          "description": "the name of the address pool that exists in the load balancer\n   Please use --lb-address-pool-id if that is not the case."
                        },
                        {
                          "flags": "-s, --subscription <subscription>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    }
                  ],
                  "categories": {}
                },
                "inbound-nat-rule": {
                  "name": "inbound-nat-rule",
                  "description": "Commands to manage inbound NAT rules of the network interface ip configuration",
                  "fullName": "network nic ip-config inbound-nat-rule",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "create",
                      "description": "Add an inbound NAT rule to a NIC ip configuration",
                      "fullName": "network nic ip-config inbound-nat-rule create",
                      "usage": "[options] <resource-group> <nic-name> <ip-config-name>",
                      "filePath": "commands/arm/network/network.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-g, --resource-group <resource-group>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the name of the resource group"
                        },
                        {
                          "flags": "-c, --nic-name <nic-name>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-c",
                          "long": "--nic-name",
                          "description": "the name of the network interface"
                        },
                        {
                          "flags": "-n, --ip-config-name <ip-config-name>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--ip-config-name",
                          "description": "the name of ip configuration"
                        },
                        {
                          "flags": "-i, --lb-inbound-nat-rule-id <lb-inbound-nat-rule-id>",
                          "required": -30,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--lb-inbound-nat-rule-id",
                          "description": "the inbound NAT rule identifier.\n   e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/inboundNatRules/<nat-rule-name>"
                        },
                        {
                          "flags": "-l, --lb-name <lb-name>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--lb-name",
                          "description": "the load balancer name.\n   This load balancer must exists in the same resource group as the NIC."
                        },
                        {
                          "flags": "-r, --lb-inbound-nat-rule-name <lb-inbound-nat-rule-name>",
                          "required": -32,
                          "optional": 0,
                          "bool": true,
                          "short": "-r",
                          "long": "--lb-inbound-nat-rule-name",
                          "description": "the name of the inbound NAT rule that exists in the load balancer.\n   Please use --inbound-nat-rule-id if that is not the case."
                        },
                        {
                          "flags": "-s, --subscription <subscription>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "delete",
                      "description": "Delete an inbound NAT rule from a NIC ip configuration",
                      "fullName": "network nic ip-config inbound-nat-rule delete",
                      "usage": "[options] <resource-group> <nic-name> <ip-config-name>",
                      "filePath": "commands/arm/network/network.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-g, --resource-group <resource-group>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the name of the resource group"
                        },
                        {
                          "flags": "-c, --nic-name <nic-name>",
                          "required": -16,
                          "optional": 0,
                          "bool": true,
                          "short": "-c",
                          "long": "--nic-name",
                          "description": "the name of the network interface"
                        },
                        {
                          "flags": "-n, --ip-config-name <ip-config-name>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--ip-config-name",
                          "description": "the name of ip configuration"
                        },
                        {
                          "flags": "-i, --lb-inbound-nat-rule-id <lb-inbound-nat-rule-id>",
                          "required": -30,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--lb-inbound-nat-rule-id",
                          "description": "the inbound NAT rule identifier.\n   e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/loadbalancers/<lb-name>/inboundNatRules/<nat-rule-name>"
                        },
                        {
                          "flags": "-l, --lb-name <lb-name>",
                          "required": -15,
                          "optional": 0,
                          "bool": true,
                          "short": "-l",
                          "long": "--lb-name",
                          "description": "the load balancer name.\n   This load balancer must exists in the same resource group as the NIC."
                        },
                        {
                          "flags": "-r, --lb-inbound-nat-rule-name <lb-inbound-nat-rule-name>",
                          "required": -32,
                          "optional": 0,
                          "bool": true,
                          "short": "-r",
                          "long": "--lb-inbound-nat-rule-name",
                          "description": "the name of the inbound NAT rule that exists in the load balancer.\n   Please use --inbound-nat-rule-id if that is not the case."
                        },
                        {
                          "flags": "-s, --subscription <subscription>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            }
          }
        },
        "nsg": {
          "name": "nsg",
          "description": "Commands to manage network security groups",
          "fullName": "network nsg",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a network security group",
              "fullName": "network nsg create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network security group"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a network security group",
              "fullName": "network nsg set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network security group"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all network security groups",
              "fullName": "network nsg list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a network security group",
              "fullName": "network nsg show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network security group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a network security group",
              "fullName": "network nsg delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the network security group"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {
            "rule": {
              "name": "rule",
              "description": "Commands to manage network security group rules",
              "fullName": "network nsg rule",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a network security group rule",
                  "fullName": "network nsg rule create",
                  "usage": "[options] <resource-group> <nsg-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-a, --nsg-name <nsg-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--nsg-name",
                      "description": "the name of the network security group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the rule"
                    },
                    {
                      "flags": "-d, --description <description>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--description",
                      "description": "the description"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the protocol [Tcp,Udp,*]"
                    },
                    {
                      "flags": "-f, --source-address-prefix <source-address-prefix>",
                      "required": -29,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--source-address-prefix",
                      "description": "the source address prefix"
                    },
                    {
                      "flags": "-o, --source-port-range <source-port-range>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--source-port-range",
                      "description": "the source port range [0-65535]"
                    },
                    {
                      "flags": "-e, --destination-address-prefix <destination-address-prefix>",
                      "required": -34,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--destination-address-prefix",
                      "description": "the destination address prefix"
                    },
                    {
                      "flags": "-u, --destination-port-range <destination-port-range>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--destination-port-range",
                      "description": "the destination port range [0-65535]"
                    },
                    {
                      "flags": "-c, --access <access>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--access",
                      "description": "the access mode [Allow,Deny]"
                    },
                    {
                      "flags": "-y, --priority <priority>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--priority",
                      "description": "the priority [100-4096]"
                    },
                    {
                      "flags": "-r, --direction <direction>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--direction",
                      "description": "the direction [Inbound,Outbound]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a network security group rule",
                  "fullName": "network nsg rule set",
                  "usage": "[options] <resource-group> <nsg-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-a, --nsg-name <nsg-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--nsg-name",
                      "description": "the name of the network security group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the rule"
                    },
                    {
                      "flags": "-d, --description <description>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--description",
                      "description": "the description"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the protocol [Tcp,Udp,*]"
                    },
                    {
                      "flags": "-f, --source-address-prefix <source-address-prefix>",
                      "required": -29,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--source-address-prefix",
                      "description": "the source address prefix"
                    },
                    {
                      "flags": "-o, --source-port-range <source-port-range>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--source-port-range",
                      "description": "the source port range [0-65535]"
                    },
                    {
                      "flags": "-e, --destination-address-prefix <destination-address-prefix>",
                      "required": -34,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--destination-address-prefix",
                      "description": "the destination address prefix"
                    },
                    {
                      "flags": "-u, --destination-port-range <destination-port-range>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--destination-port-range",
                      "description": "the destination port range [0-65535]"
                    },
                    {
                      "flags": "-c, --access <access>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--access",
                      "description": "the access mode [Allow,Deny]"
                    },
                    {
                      "flags": "-y, --priority <priority>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--priority",
                      "description": "the priority [undefined-undefined]"
                    },
                    {
                      "flags": "-r, --direction <direction>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--direction",
                      "description": "the direction [Inbound,Outbound]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all rules in a network security group",
                  "fullName": "network nsg rule list",
                  "usage": "[options] <resource-group> <nsg-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-a, --nsg-name <nsg-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--nsg-name",
                      "description": "the name of the network security group"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get a rule in a network security group",
                  "fullName": "network nsg rule show",
                  "usage": "[options] <resource-group> <nsg-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-a, --nsg-name <nsg-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--nsg-name",
                      "description": "the name of the network security group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the rule"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a rule in a network security group",
                  "fullName": "network nsg rule delete",
                  "usage": "[options] <resource-group> <nsg-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-a, --nsg-name <nsg-name>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--nsg-name",
                      "description": "the name of the network security group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the rule"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "dns": {
          "name": "dns",
          "description": "Commands to manage DNS",
          "fullName": "network dns",
          "usage": "[options]",
          "options": [],
          "commands": [],
          "categories": {
            "zone": {
              "name": "zone",
              "description": "Commands to manage DNS zone",
              "fullName": "network dns zone",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a DNS zone",
                  "fullName": "network dns zone create",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-t, --tags <tags>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a DNS zone",
                  "fullName": "network dns zone set",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-t, --tags [tags]",
                      "required": 0,
                      "optional": -12,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all DNS zones",
                  "fullName": "network dns zone list",
                  "usage": "[options] <resource-group>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get a DNS zone",
                  "fullName": "network dns zone show",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the DNS zone\n   You can specify \"*\" (in quotes) for this parameter"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a DNS zone",
                  "fullName": "network dns zone delete",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "import",
                  "description": "Import a DNS zone",
                  "fullName": "network dns zone import",
                  "usage": "[options] <resource-group> <name> <file-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-f, --file-name <file-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--file-name",
                      "description": "the name of the zone file"
                    },
                    {
                      "flags": "--force",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--force",
                      "description": "force overwrite of existing record sets. Otherwise, records are merged with existing record sets"
                    },
                    {
                      "flags": "--debug",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--debug",
                      "description": "output debug info"
                    },
                    {
                      "flags": "--parse-only",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--parse-only",
                      "description": "parse zone file only, without import"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "export",
                  "description": "Export a DNS zone as a zone file",
                  "fullName": "network dns zone export",
                  "usage": "[options] <resource-group> <name> <file-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-f, --file-name <file-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--file-name",
                      "description": "the name of the zone file"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for overwrite confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "record-set": {
              "name": "record-set",
              "description": "Commands to manage record sets in DNS zone",
              "fullName": "network dns record-set",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a DNS zone record set",
                  "fullName": "network dns record-set create",
                  "usage": "[options] <resource-group> <dns-zone-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-z, --dns-zone-name <dns-zone-name>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--dns-zone-name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the relative name of the record set within the DNS zone"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the type of the record set.\n     Valid values are [A, AAAA, CNAME, MX, NS, SOA, SRV, TXT, PTR]"
                    },
                    {
                      "flags": "-l, --ttl <ttl>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--ttl",
                      "description": "time to live specified in seconds"
                    },
                    {
                      "flags": "-t, --tags <tags>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a DNS zone record set",
                  "fullName": "network dns record-set set",
                  "usage": "[options] <resource-group> <dns-zone-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-z, --dns-zone-name <dns-zone-name>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--dns-zone-name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the relative name of the record set within the DNS zone"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the type of the record set.\n     Valid values are [A, AAAA, CNAME, MX, NS, SOA, SRV, TXT, PTR]"
                    },
                    {
                      "flags": "-l, --ttl <ttl>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--ttl",
                      "description": "time to live specified in seconds"
                    },
                    {
                      "flags": "-t, --tags [tags]",
                      "required": 0,
                      "optional": -12,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all record sets in a DNS zone",
                  "fullName": "network dns record-set list",
                  "usage": "[options] <resource-group> <dns-zone-name> [type]",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-z, --dns-zone-name <dns-zone-name>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--dns-zone-name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the type of the record set.\n     If specified only record sets of this type will be listed.\n     Valid values are [A, AAAA, CNAME, MX, NS, SOA, SRV, TXT, PTR]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get a record set in a DNS zone",
                  "fullName": "network dns record-set show",
                  "usage": "[options] <resource-group> <dns-zone-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-z, --dns-zone-name <dns-zone-name>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--dns-zone-name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the relative name of the record set within the DNS zone"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the type of the record set.\n     Valid values are [A, AAAA, CNAME, MX, NS, SOA, SRV, TXT, PTR]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a record set from a DNS zone",
                  "fullName": "network dns record-set delete",
                  "usage": "[options] <resource-group> <dns-zone-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-z, --dns-zone-name <dns-zone-name>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--dns-zone-name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the relative name of the record set within the DNS zone"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the type of the record set.\n     If specified only record sets of this type will be listed.\n     Valid values are [A, AAAA, CNAME, MX, NS, SOA, SRV, TXT, PTR]"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "add-record",
                  "description": "Add a record in a record set under a DNS zone",
                  "fullName": "network dns record-set add-record",
                  "usage": "[options] <resource-group> <dns-zone-name> <record-set-name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-z, --dns-zone-name <dns-zone-name>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--dns-zone-name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-n, --record-set-name <record-set-name>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--record-set-name",
                      "description": "the name of the record set"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the type of the record set.\n     If specified only record sets of this type will be listed.\n     Valid values are [A, AAAA, CNAME, MX, NS, SOA, SRV, TXT, PTR]\n\nThe record type A \n\n"
                    },
                    {
                      "flags": "-a  --ipv4-address <ipv4-address>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--ipv4-address",
                      "description": "the IPv4 address attribute\n\nRecord type AAAA \n\n"
                    },
                    {
                      "flags": "-b  --ipv6-address <ipv6-address>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--ipv6-address",
                      "description": "the IPv6 address attribute\n\nRecord type CNAME\n\n"
                    },
                    {
                      "flags": "-c  --cname <cname>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--cname",
                      "description": "the canonical name (target)\n\nRecord type NS\n\n"
                    },
                    {
                      "flags": "-d  --nsdname <nsdname>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--nsdname",
                      "description": "the domain name attribute\n\nRecord type MX\n\n"
                    },
                    {
                      "flags": "-f, --preference <preference>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--preference",
                      "description": "preference attribute"
                    },
                    {
                      "flags": "-e, --exchange <exchange>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--exchange",
                      "description": "exchange attribute\n\nRecord type SRV\n\n"
                    },
                    {
                      "flags": "-p, --priority <priority>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--priority",
                      "description": "the priority attribute"
                    },
                    {
                      "flags": "-w, --weight <weight>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--weight",
                      "description": "the weight attribute"
                    },
                    {
                      "flags": "-o, --port <port>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--port",
                      "description": "the port"
                    },
                    {
                      "flags": "-u, --target <target>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--target",
                      "description": "the target attribute\n\nRecord type TXT\n\n"
                    },
                    {
                      "flags": "-x, --text <text>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-x",
                      "long": "--text",
                      "description": "the text attribute\n\nRecord type SOA\n\n"
                    },
                    {
                      "flags": "-l, --email <email>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--email",
                      "description": "the email attribute"
                    },
                    {
                      "flags": "-i, --expire-time <expire-time>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--expire-time",
                      "description": "the expire time specified in seconds"
                    },
                    {
                      "flags": "-S, --serial-number <serial-number>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-S",
                      "long": "--serial-number",
                      "description": "the serial number"
                    },
                    {
                      "flags": "-k, --host <host>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--host",
                      "description": "the host name attribute"
                    },
                    {
                      "flags": "-m, --minimum-ttl <minimum-ttl>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--minimum-ttl",
                      "description": "the minimum time to live specified in seconds"
                    },
                    {
                      "flags": "-r, --refresh-time <refresh-time>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--refresh-time",
                      "description": "the refresh time specified in seconds"
                    },
                    {
                      "flags": "-j, --retry-time <retry-time>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-j",
                      "long": "--retry-time",
                      "description": "the retry time specified in seconds\n\nRecord type PTR \n\n"
                    },
                    {
                      "flags": "-P, --ptrd-name <ptrd-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-P",
                      "long": "--ptrd-name",
                      "description": "ptr domain name\n\n"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete-record",
                  "description": "Delete a record from a record set under a DNS zone",
                  "fullName": "network dns record-set delete-record",
                  "usage": "[options] <resource-group> <dns-zone> <record-set-name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-z, --dns-zone-name <dns-zone-name>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-z",
                      "long": "--dns-zone-name",
                      "description": "the name of the DNS zone"
                    },
                    {
                      "flags": "-n, --record-set-name <record-set-name>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--record-set-name",
                      "description": "the name of the record set"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the type of the record set.\n     If specified only record sets of this type will be listed.\n     Valid values are [A, AAAA, CNAME, MX, NS, SOA, SRV, TXT, PTR]\n\nThe record type A \n\n"
                    },
                    {
                      "flags": "-a  --ipv4-address <ipv4-address>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--ipv4-address",
                      "description": "the IPv4 address attribute\n\nRecord type AAAA \n\n"
                    },
                    {
                      "flags": "-b  --ipv6-address <ipv6-address>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--ipv6-address",
                      "description": "the IPv6 address attribute\n\nRecord type CNAME\n\n"
                    },
                    {
                      "flags": "-c  --cname <cname>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--cname",
                      "description": "the canonical name (target)\n\nRecord type NS\n\n"
                    },
                    {
                      "flags": "-d  --nsdname <nsdname>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--nsdname",
                      "description": "the domain name attribute\n\nRecord type MX\n\n"
                    },
                    {
                      "flags": "-f, --preference <preference>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--preference",
                      "description": "preference attribute"
                    },
                    {
                      "flags": "-e, --exchange <exchange>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--exchange",
                      "description": "exchange attribute\n\nRecord type SRV\n\n"
                    },
                    {
                      "flags": "-p, --priority <priority>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--priority",
                      "description": "the priority attribute"
                    },
                    {
                      "flags": "-w, --weight <weight>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--weight",
                      "description": "the weight attribute"
                    },
                    {
                      "flags": "-o, --port <port>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--port",
                      "description": "the port"
                    },
                    {
                      "flags": "-u, --target <target>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--target",
                      "description": "the target attribute\n\nRecord type TXT\n\n"
                    },
                    {
                      "flags": "-x, --text <text>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-x",
                      "long": "--text",
                      "description": "the text attribute\n\nRecord type PTR \n\n"
                    },
                    {
                      "flags": "-P, --ptrd-name <ptrd-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-P",
                      "long": "--ptrd-name",
                      "description": "ptr domain name\n\n"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "traffic-manager": {
          "name": "traffic-manager",
          "description": "Commands to manage Traffic Manager",
          "fullName": "network traffic-manager",
          "usage": "[options]",
          "options": [],
          "commands": [],
          "categories": {
            "profile": {
              "name": "profile",
              "description": "Commands to manage Traffic Manager profile",
              "fullName": "network traffic-manager profile",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create a Traffic Manager profile",
                  "fullName": "network traffic-manager profile create",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the profile"
                    },
                    {
                      "flags": "-u, --profile-status <profile-status> ",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--profile-status",
                      "description": "the profile status, valid values are\n     [Enabled,Disabled], default is Enabled"
                    },
                    {
                      "flags": "-m, --traffic-routing-method <traffic-routing-method>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--traffic-routing-method",
                      "description": "the traffic routing method for the profile,\n     valid values are [Performance,Weighted,Priority], default is Performance"
                    },
                    {
                      "flags": "-r, --relative-dns-name <relative-dns-name>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--relative-dns-name",
                      "description": "relative DNS name of the profile e.g. .trafficmanager.net"
                    },
                    {
                      "flags": "-l, --ttl <ttl>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--ttl",
                      "description": "time to live in specified in seconds"
                    },
                    {
                      "flags": "-p, --monitor-protocol <monitor-protocol>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--monitor-protocol",
                      "description": "the monitor protocol, valid values are\n     [http,https], default is http"
                    },
                    {
                      "flags": "-o, --monitor-port <monitor-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--monitor-port",
                      "description": "the monitoring port"
                    },
                    {
                      "flags": "-a, --monitor-path <monitor-path>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--monitor-path",
                      "description": "the monitoring path"
                    },
                    {
                      "flags": "-t, --tags <tags>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set a Traffic Manager profile",
                  "fullName": "network traffic-manager profile set",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the profile"
                    },
                    {
                      "flags": "-u, --profile-status <profile-status> ",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--profile-status",
                      "description": "the profile status, valid values are\n     [Enabled,Disabled], default is Enabled"
                    },
                    {
                      "flags": "-m, --traffic-routing-method <traffic-routing-method>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--traffic-routing-method",
                      "description": "the traffic routing method for the profile,\n     valid values are [Performance,Weighted,Priority], default is Performance"
                    },
                    {
                      "flags": "-l, --ttl <ttl>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--ttl",
                      "description": "time to live specified in seconds"
                    },
                    {
                      "flags": "-p, --monitor-protocol <monitor-protocol>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--monitor-protocol",
                      "description": "the monitor protocol, valid values are\n     [http,https], default is http"
                    },
                    {
                      "flags": "-o, --monitor-port <monitor-port>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--monitor-port",
                      "description": "the monitoring port"
                    },
                    {
                      "flags": "-a, --monitor-path <monitor-path>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--monitor-path",
                      "description": "the monitoring path"
                    },
                    {
                      "flags": "-t, --tags [tags]",
                      "required": 0,
                      "optional": -12,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all Traffic Manager profiles",
                  "fullName": "network traffic-manager profile list",
                  "usage": "[options] [resource-group]",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get a Traffic Manager profile",
                  "fullName": "network traffic-manager profile show",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the profile"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a Traffic Manager profile",
                  "fullName": "network traffic-manager profile delete",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the profile"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "is-dns-available",
                  "description": "Checks whether the specified DNS prefix is available for creating a Traffic Manager profile",
                  "fullName": "network traffic-manager profile is-dns-available",
                  "usage": "[options] <relative-dns-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-r, --relative-dns-name <relative-dns-name>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--relative-dns-name",
                      "description": "the relative DNS name to check for availability"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "endpoint": {
              "name": "endpoint",
              "description": "Commands to manage Traffic Manager endpoints",
              "fullName": "network traffic-manager endpoint",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create an endpoint in Traffic Manager profile",
                  "fullName": "network traffic-manager endpoint create",
                  "usage": "[options] <resource-group> <profile-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-f, --profile-name <profile-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--profile-name",
                      "description": "the profile name"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the endpoint"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the endpoint type, valid values are:\n       [ExternalEndpoints,AzureEndpoints,NestedEndpoints], where ExternalEndpoints represents endpoint\n       for a service with FQDN external to Azure\n       e.g. foobar.contoso.com"
                    },
                    {
                      "flags": "-l, --location <location>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--location",
                      "description": "the endpoint location. This is only used if the Traffic Manager profile is configured to use the \"Performance\" traffic-routing method.\n       This should only be specified on endpoints of type \"ExternalEndpoints\" and \"NestedEndpoints\".\n       It is not applicable for endpoints of type \"AzureEndpoints\", since the location is taken from the resource specified in \"--target-resource-id\"."
                    },
                    {
                      "flags": "-u, --status <status>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--status",
                      "description": "the endpoint status, valid values are:\n       [Enabled,Disabled] Default is Enabled"
                    },
                    {
                      "flags": "-t, --target <target>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--target",
                      "description": "the domain name target of the endpoint,\n       e.g. foobar.contoso.com. Only applicable to endpoints of type \"ExternalEndpoints\""
                    },
                    {
                      "flags": "-i, --target-resource-id <target-resource-id>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--target-resource-id",
                      "description": "the Azure Resource URI of the endpoint. Not applicable to endpoints of type \"ExternalEndpoints\""
                    },
                    {
                      "flags": "-w, --weight <weight>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--weight",
                      "description": "the endpoint weight used in the traffic-routing method,\n       valid range is [1, 1000] This is only used if the Traffic Manager profile is configured to use the \"Weighted\" traffic-routing method"
                    },
                    {
                      "flags": "-p, --priority <priority>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--priority",
                      "description": "the endpoint priority used in the traffic-routing method,\n       valid range is [1, 1000] This is only used if the Traffic Manager profile is configured to use the \"Priority\" traffic-routing method.\n       Lower values represent higher priority"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set an endpoint in a Traffic Manager profile",
                  "fullName": "network traffic-manager endpoint set",
                  "usage": "[options] <resource-group> <profile-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-f, --profile-name <profile-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--profile-name",
                      "description": "the profile name"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the endpoint"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the endpoint type, valid values are:\n       [ExternalEndpoints,AzureEndpoints,NestedEndpoints], where ExternalEndpoints represents endpoint\n       for a service with FQDN external to Azure\n       e.g. foobar.contoso.com"
                    },
                    {
                      "flags": "-l, --location <location>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--location",
                      "description": "the endpoint location. This is only used if the Traffic Manager profile is configured to use the \"Performance\" traffic-routing method.\n       This should only be specified on endpoints of type \"ExternalEndpoints\" and \"NestedEndpoints\".\n       It is not applicable for endpoints of type \"AzureEndpoints\", since the location is taken from the resource specified in \"--target-resource-id\"."
                    },
                    {
                      "flags": "-u, --status <status>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--status",
                      "description": "the endpoint status, valid values are:\n       [Enabled,Disabled] Default is Enabled"
                    },
                    {
                      "flags": "-t, --target <target>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--target",
                      "description": "the domain name target of the endpoint,\n       e.g. foobar.contoso.com. Only applicable to endpoints of type \"ExternalEndpoints\""
                    },
                    {
                      "flags": "-i, --target-resource-id <target-resource-id>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--target-resource-id",
                      "description": "the Azure Resource URI of the endpoint. Not applicable to endpoints of type \"ExternalEndpoints\""
                    },
                    {
                      "flags": "-w, --weight <weight>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--weight",
                      "description": "the endpoint weight used in the traffic-routing method,\n       valid range is [1, 1000] This is only used if the Traffic Manager profile is configured to use the \"Weighted\" traffic-routing method"
                    },
                    {
                      "flags": "-p, --priority <priority>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--priority",
                      "description": "the endpoint priority used in the traffic-routing method,\n       valid range is [1, 1000] This is only used if the Traffic Manager profile is configured to use the \"Priority\" traffic-routing method.\n       Lower values represent higher priority"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get an endpoint in Traffic Manager profile",
                  "fullName": "network traffic-manager endpoint show",
                  "usage": "[options] <resource-group> <profile-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-f, --profile-name <profile-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--profile-name",
                      "description": "the profile name"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the endpoint"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the endpoint type, valid values are:\n       [ExternalEndpoints,AzureEndpoints,NestedEndpoints], where ExternalEndpoints represents endpoint\n       for a service with FQDN external to Azure\n       e.g. foobar.contoso.com"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete an endpoint from a Traffic Manager profile",
                  "fullName": "network traffic-manager endpoint delete",
                  "usage": "[options] <resource-group> <profile-name> <name> <type>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-f, --profile-name <profile-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--profile-name",
                      "description": "the profile name"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the endpoint"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the endpoint type, valid values are:\n       [ExternalEndpoints,AzureEndpoints,NestedEndpoints], where ExternalEndpoints represents endpoint\n       for a service with FQDN external to Azure\n       e.g. foobar.contoso.com"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "route-table": {
          "name": "route-table",
          "description": "Commands to manage Route Table",
          "fullName": "network route-table",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a Route Table",
              "fullName": "network route-table create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the Route Table"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location, this must be same as the location of the virtual network containing the subnet on which this Route Table needs to be applied"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a Route Table",
              "fullName": "network route-table set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the Route Table"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all Route Tables",
              "fullName": "network route-table list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a Route Table",
              "fullName": "network route-table show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the Route Table"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a Route Table",
              "fullName": "network route-table delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the Route Table"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {
            "route": {
              "name": "route",
              "description": "Commands to manage Route Table routes",
              "fullName": "network route-table route",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create route in a Route Table",
                  "fullName": "network route-table route create",
                  "usage": "[options] <resource-group> <route-table-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-r, --route-table-name <route-table-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--route-table-name",
                      "description": "the name of the Route Table"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the route"
                    },
                    {
                      "flags": "-a, --address-prefix <address-prefix>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--address-prefix",
                      "description": "the route address prefix e.g. 0.0.0.0/0"
                    },
                    {
                      "flags": "-y, --next-hop-type <next-hop-type>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--next-hop-type",
                      "description": "the route next hop type, valid values are:\n       [VirtualAppliance,VirtualNetworkGateway,VNETLocal,Internet,None]"
                    },
                    {
                      "flags": "-p, --next-hop-ip-address <next-hop-ip-address>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--next-hop-ip-address",
                      "description": "the route next hop ip addresses, this parameter is valid\n       only for next hop type VirtualAppliance"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set route in a Route Table",
                  "fullName": "network route-table route set",
                  "usage": "[options] <resource-group> <route-table-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-r, --route-table-name <route-table-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--route-table-name",
                      "description": "the name of the Route Table"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the route"
                    },
                    {
                      "flags": "-a, --address-prefix <address-prefix>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--address-prefix",
                      "description": "the route address prefix e.g. 0.0.0.0/0"
                    },
                    {
                      "flags": "-y, --next-hop-type <next-hop-type>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--next-hop-type",
                      "description": "the route next hop type, valid values are:\n       [VirtualAppliance,VirtualNetworkGateway,VNETLocal,Internet,None]"
                    },
                    {
                      "flags": "-p, --next-hop-ip-address <next-hop-ip-address>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--next-hop-ip-address",
                      "description": "the route next hop ip addresses, this parameter is valid\n       only for next hop type VirualAppliance"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "List all routes in a Route Table",
                  "fullName": "network route-table route list",
                  "usage": "[options] <resource-group> <route-table-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-r, --route-table-name <route-table-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--route-table-name",
                      "description": "the name of the Route Table"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show details about route in a Route Table",
                  "fullName": "network route-table route show",
                  "usage": "[options] <resource-group> <route-table-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-r, --route-table-name <route-table-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--route-table-name",
                      "description": "the name of the Route Table"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the route"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete route from a Route Table",
                  "fullName": "network route-table route delete",
                  "usage": "[options] <resource-group> <route-table-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-r, --route-table-name <route-table-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--route-table-name",
                      "description": "the name of the Route Table"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the route"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "local-gateway": {
          "name": "local-gateway",
          "description": "Commands to manage Local Network Gateways",
          "fullName": "network local-gateway",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a local network gateway",
              "fullName": "network local-gateway create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the local network gateway"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-a, --address-space <address-space>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--address-space",
                  "description": "the comma separated list of address prefixes in CIDR format"
                },
                {
                  "flags": "-i, --ip-address <ip-address>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--ip-address",
                  "description": "the IP address of the local network site"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a local network gateway",
              "fullName": "network local-gateway set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the local network gateway"
                },
                {
                  "flags": "-a, --address-space [address-space]",
                  "required": 0,
                  "optional": -21,
                  "bool": true,
                  "short": "-a",
                  "long": "--address-space",
                  "description": "the comma separated list of address prefixes in CIDR format"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all local networks gateways",
              "fullName": "network local-gateway list",
              "usage": "[options] <resource-group>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a local network gateway",
              "fullName": "network local-gateway show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the local network gateway"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a local network gateway",
              "fullName": "network local-gateway delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the local network gateway"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "vpn-gateway": {
          "name": "vpn-gateway",
          "description": "Commands to manage Virtual Network Gateways",
          "fullName": "network vpn-gateway",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a virtual network gateway",
              "fullName": "network vpn-gateway create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network gateway"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-w, --gateway-type <gateway-type>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--gateway-type",
                  "description": "the gateway type\n     Valid values are [Vpn,ExpressRoute]\n     Default is Vpn"
                },
                {
                  "flags": "-y, --vpn-type <vpn-type>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-y",
                  "long": "--vpn-type",
                  "description": "the vpn type\n     Valid values are [RouteBased,PolicyBased,Dedicated]\n     Default is RouteBased"
                },
                {
                  "flags": "-k, --sku-name <sku-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--sku-name",
                  "description": "the SKU name\n     Valid values are [Basic,HighPerformance,Standard]\n     Default is Basic"
                },
                {
                  "flags": "-u, --public-ip-id <public-ip-id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--public-ip-id",
                  "description": "the public ip identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                },
                {
                  "flags": "-p, --public-ip-name <public-ip-name>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--public-ip-name",
                  "description": "the public ip name. This public ip must exists in the same resource group as the vnet gateway. \n     Please use public-ip-id if that is not the case."
                },
                {
                  "flags": "-f, --subnet-id <subnet-id>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--subnet-id",
                  "description": "the subnet identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/VirtualNetworks/<vnet-name>/subnets/<subnet-name>"
                },
                {
                  "flags": "-m, --vnet-name <vnet-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--vnet-name",
                  "description": "the virtual network name. This virtual network must exists in the same resource group as the vnet gateway. \n     Please use subnet-id if that is not the case."
                },
                {
                  "flags": "-e, --subnet-name <subnet-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--subnet-name",
                  "description": "the subnet name which exists in vnet. Default value is \"GatewaySubnet\""
                },
                {
                  "flags": "-d, --default-site-name <default-site-name>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--default-site-name",
                  "description": "the Local Network Gateway name. This Local Network Gateway must exists in the same resource group as the vnet gateway. \n     Please use default-site-id if that is not the case."
                },
                {
                  "flags": "-i, --default-site-id <default-site-id>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--default-site-id",
                  "description": "Local Network Gateway identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/localNetworkGateways/<local-gateway-name>"
                },
                {
                  "flags": "-f, --address-prefixes <address-prefixes>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--address-prefixes",
                  "description": "the comma separated list of address prefixes.\n     For example, -f \"10.0.0.0/24,10.0.1.0/24\""
                },
                {
                  "flags": "-a, --private-ip-address <private-ip-address>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--private-ip-address",
                  "description": "the local ip address for the gateway in the vnet. If not provided then using Dynamic ip address"
                },
                {
                  "flags": "-b, --enable-bgp <enable-bgp>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--enable-bgp",
                  "description": "enable bgp [true, false]"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a virtual network gateway",
              "fullName": "network vpn-gateway set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network gateway"
                },
                {
                  "flags": "-k, --sku-name <sku-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--sku-name",
                  "description": "the SKU name\n     Valid values are [Basic,HighPerformance,Standard]"
                },
                {
                  "flags": "-a, --private-ip-address <private-ip-address>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--private-ip-address",
                  "description": "the local ip address for the gateway in the vnet"
                },
                {
                  "flags": "-d, --default-site-name [default-site-name]",
                  "required": 0,
                  "optional": -25,
                  "bool": true,
                  "short": "-d",
                  "long": "--default-site-name",
                  "description": "the Local Network Gateway name. This Local Network Gateway must exists in the same resource group as the vnet gateway. \n     Please use default-site-id if that is not the case."
                },
                {
                  "flags": "-i, --default-site-id [default-site-id]",
                  "required": 0,
                  "optional": -23,
                  "bool": true,
                  "short": "-i",
                  "long": "--default-site-id",
                  "description": "Local Network Gateway identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/localNetworkGateways/<local-gateway-name>"
                },
                {
                  "flags": "-f, --address-prefixes <address-prefixes>",
                  "required": -24,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--address-prefixes",
                  "description": "the comma separated list of address prefixes.\n     For example, -f \"10.0.0.0/24,10.0.1.0/24\""
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "List virtual network gateways",
              "fullName": "network vpn-gateway list",
              "usage": "[options] <resource-group>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get a virtual network gateway",
              "fullName": "network vpn-gateway show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network gateway"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a virtual network gateway",
              "fullName": "network vpn-gateway delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the virtual network gateway"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {
            "root-cert": {
              "name": "root-cert",
              "description": "Commands to manage Virtual Network Gateways Root Certificates",
              "fullName": "network vpn-gateway root-cert",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a root certificate to a virtual network gateway",
                  "fullName": "network vpn-gateway root-cert create",
                  "usage": "[options] <resource-group> <name> <cert-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the virtual network gateway"
                    },
                    {
                      "flags": "-c, --cert-name <cert-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--cert-name",
                      "description": "the name of the root certificate"
                    },
                    {
                      "flags": "-f, --cert-file <cert-file>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--cert-file",
                      "description": "the path to the root certificate"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a root certificate from a virtual network gateway",
                  "fullName": "network vpn-gateway root-cert delete",
                  "usage": "[options] <resource-group> <name> <cert-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the virtual network gateway"
                    },
                    {
                      "flags": "-c, --cert-name <cert-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--cert-name",
                      "description": "the name of the root certificate"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "revoked-cert": {
              "name": "revoked-cert",
              "description": "Commands to manage Virtual Network Gateways Revoked Certificates",
              "fullName": "network vpn-gateway revoked-cert",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a revoked certificate to a virtual network gateway",
                  "fullName": "network vpn-gateway revoked-cert create",
                  "usage": "[options] <resource-group> <name> <cert-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the virtual network gateway"
                    },
                    {
                      "flags": "-c, --cert-name <cert-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--cert-name",
                      "description": "the name of the revoked certificate"
                    },
                    {
                      "flags": "-f, --thumbprint <thumbprint>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--thumbprint",
                      "description": "the certificate thumbprint"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a revoked certificate from a virtual network gateway",
                  "fullName": "network vpn-gateway revoked-cert delete",
                  "usage": "[options] <resource-group> <name> <cert-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the virtual network gateway"
                    },
                    {
                      "flags": "-c, --cert-name <cert-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--cert-name",
                      "description": "the name of the revoked certificate"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "vpn-connection": {
          "name": "vpn-connection",
          "description": "Commands to manage gateway connections",
          "fullName": "network vpn-connection",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a gateway connection",
              "fullName": "network vpn-connection create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the gateway connection"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-i, --vnet-gateway1 <vnet-gateway1>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--vnet-gateway1",
                  "description": "the name of the virtual network gateway"
                },
                {
                  "flags": "-r, --vnet-gateway1-group <vnet-gateway1-group>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--vnet-gateway1-group",
                  "description": "the resource group name of the virtual network gateway"
                },
                {
                  "flags": "-e, --vnet-gateway2 <vnet-gateway2>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--vnet-gateway2",
                  "description": "the name of the connected virtual network gateway"
                },
                {
                  "flags": "-m, --vnet-gateway2-group <vnet-gateway2-group>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--vnet-gateway2-group",
                  "description": "the resource group name of the connected virtual network gateway"
                },
                {
                  "flags": "-d, --lnet-gateway2 <lnet-gateway2>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--lnet-gateway2",
                  "description": "the name of the connected local network gateway"
                },
                {
                  "flags": "-z, --lnet-gateway2-group <lnet-gateway2-group>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-z",
                  "long": "--lnet-gateway2-group",
                  "description": "the resource group name of the connected local network gateway"
                },
                {
                  "flags": "-y, --type <type>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-y",
                  "long": "--type",
                  "description": "the connection type\n     Valid values are [Vnet2Vnet,IPsec,ExpressRoute]"
                },
                {
                  "flags": "-w, --routing-weight <routing-weight>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--routing-weight",
                  "description": "the routing weight"
                },
                {
                  "flags": "-k, --shared-key <shared-key>",
                  "required": -18,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--shared-key",
                  "description": "the IPsec shared key"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                }
              ]
            },
            {
              "name": "set",
              "description": "Set a gateway connection",
              "fullName": "network vpn-connection set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the gateway connection"
                },
                {
                  "flags": "-w, --routing-weight <routing-weight>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--routing-weight",
                  "description": "the routing weight"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                }
              ]
            },
            {
              "name": "list",
              "description": "Get all gateway connections",
              "fullName": "network vpn-connection list",
              "usage": "[options] <resource-group>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Get details about gateway connection",
              "fullName": "network vpn-connection show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the gateway connection"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a gateway connection",
              "fullName": "network vpn-connection delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the gateway connection"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for delete confirmation"
                },
                {
                  "flags": "-s, --subscription <id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription id"
                }
              ]
            }
          ],
          "categories": {
            "shared-key": {
              "name": "shared-key",
              "description": "Commands to manage gateway connection shared key",
              "fullName": "network vpn-connection shared-key",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "set",
                  "description": "Set gateway connection shared key",
                  "fullName": "network vpn-connection shared-key set",
                  "usage": "[options] <resource-group> <name> <value>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the gateway connection"
                    },
                    {
                      "flags": "-k, --value <value>",
                      "required": -13,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--value",
                      "description": "the shared key value"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "reset",
                  "description": "Reset gateway connection shared key",
                  "fullName": "network vpn-connection shared-key reset",
                  "usage": "[options] <resource-group> <name> <key-length>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the gateway connection"
                    },
                    {
                      "flags": "-l, --key-length <key-length>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--key-length",
                      "description": "the shared key length"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get details about gateway connection shared key",
                  "fullName": "network vpn-connection shared-key show",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the gateway connection"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        },
        "application-gateway": {
          "name": "application-gateway",
          "description": "Commands to manage application gateways",
          "fullName": "network application-gateway",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create an application gateway",
              "fullName": "network application-gateway create",
              "usage": "[options] <resource-group> <name> <location>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the application gateway"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-e, --vnet-name <vnet-name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--vnet-name",
                  "description": "the name of the virtual network application gateway should be deployed in"
                },
                {
                  "flags": "-m, --subnet-name <subnet-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-m",
                  "long": "--subnet-name",
                  "description": "the name of subnet in the virtual network identified by --vnet-name"
                },
                {
                  "flags": "-d, --subnet-id <subnet-id>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--subnet-id",
                  "description": "the subnet identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/VirtualNetworks/<vnet-name>/subnets/<subnet-name>"
                },
                {
                  "flags": "-y, --cert-file <cert-file>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-y",
                  "long": "--cert-file",
                  "description": "the path to the certificate"
                },
                {
                  "flags": "-x, --cert-password <cert-password>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-x",
                  "long": "--cert-password",
                  "description": "the certificate password"
                },
                {
                  "flags": "-r, --servers <servers>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--servers",
                  "description": "comma separated list of IP addresses or DNS names corresponding to backend servers"
                },
                {
                  "flags": "-i, --http-settings-protocol <http-settings-protocol>",
                  "required": -30,
                  "optional": 0,
                  "bool": true,
                  "short": "-i",
                  "long": "--http-settings-protocol",
                  "description": "the HTTP settings protocol, valid values are [http]"
                },
                {
                  "flags": "-o, --http-settings-port <http-settings-port>",
                  "required": -26,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--http-settings-port",
                  "description": "the HTTP settings port, valid range is [0-65535]"
                },
                {
                  "flags": "-f, --http-settings-cookie-based-affinity <http-settings-cookie-based-affinity>",
                  "required": -43,
                  "optional": 0,
                  "bool": true,
                  "short": "-f",
                  "long": "--http-settings-cookie-based-affinity",
                  "description": "Enable or disable HTTP settings cookie based affinity, valid values are\n     [Disabled,Enabled],\n     default value is \"Disabled\""
                },
                {
                  "flags": "-j, --frontend-port <frontend-port>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-j",
                  "long": "--frontend-port",
                  "description": "the frontend port value, valid range is [0-65535]"
                },
                {
                  "flags": "-k, --public-ip-name <public-ip-name>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-k",
                  "long": "--public-ip-name",
                  "description": "the name of the public ip"
                },
                {
                  "flags": "-p, --public-ip-id <public-ip-id>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--public-ip-id",
                  "description": "the public ip identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                },
                {
                  "flags": "-b, --http-listener-protocol <http-listener-protocol>",
                  "required": -30,
                  "optional": 0,
                  "bool": true,
                  "short": "-b",
                  "long": "--http-listener-protocol",
                  "description": "the HTTP listener protocol, valid values are [http,https]"
                },
                {
                  "flags": "-w, --routing-rule-type <routing-rule-type>",
                  "required": -25,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--routing-rule-type",
                  "description": "the request routing rule type, default is \"Basic\""
                },
                {
                  "flags": "-a, --sku-name <sku-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--sku-name",
                  "description": "the name of the sku, valid values are [Standard_Medium,Standard_Small,Standard_Large]. Default values is \"Standard_Medium\""
                },
                {
                  "flags": "-u, --sku-tier <sku-tier>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--sku-tier",
                  "description": "the sku tier, valid values are [undefined]. Default values is \"Standard\""
                },
                {
                  "flags": "-z, --capacity <capacity>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-z",
                  "long": "--capacity",
                  "description": "application gateway instance count in range [2,10]. Default value is 2."
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": ""
                }
              ]
            },
            {
              "name": "set",
              "description": "Set an application gateway",
              "fullName": "network application-gateway set",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the application gateway"
                },
                {
                  "flags": "-a, --sku-name <sku-name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--sku-name",
                  "description": "the name of the sku, valid values are [Standard_Medium,Standard_Small,Standard_Large]"
                },
                {
                  "flags": "-u, --sku-tier <sku-tier>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--sku-tier",
                  "description": "the sku tier, valid values are [Standard]"
                },
                {
                  "flags": "-z, --capacity <capacity>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-z",
                  "long": "--capacity",
                  "description": "application gateway instance count in range [2,10]"
                },
                {
                  "flags": "-t, --tags [tags]",
                  "required": 0,
                  "optional": -12,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "List resource group application gateways",
              "fullName": "network application-gateway list",
              "usage": "[options]",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show application gateway",
              "fullName": "network application-gateway show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the application gateway"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete application gateway",
              "fullName": "network application-gateway delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the application gateway"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode, do not ask for unregister confirmation"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "start",
              "description": "Start application gateway",
              "fullName": "network application-gateway start",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the application gateway"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "stop",
              "description": "Stop application gateway",
              "fullName": "network application-gateway stop",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/network/network.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the application gateway"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {
            "ssl-cert": {
              "name": "ssl-cert",
              "description": "Commands to manage application gateway SSL certificates",
              "fullName": "network application-gateway ssl-cert",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add application gateway SSL certificate",
                  "fullName": "network application-gateway ssl-cert create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the certificate"
                    },
                    {
                      "flags": "-f, --cert-file <cert-file>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--cert-file",
                      "description": "the full path to the certificate in pfx format"
                    },
                    {
                      "flags": "-p, --cert-password <cert-password>",
                      "required": -21,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--cert-password",
                      "description": "the certificate password"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete application gateway SSL certificate",
                  "fullName": "network application-gateway ssl-cert delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the certificate"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "frontend-ip": {
              "name": "frontend-ip",
              "description": "Commands to manage application gateway frontend ips",
              "fullName": "network application-gateway frontend-ip",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a frontend ip configuration to an application gateway",
                  "fullName": "network application-gateway frontend-ip create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the frontend IP address name"
                    },
                    {
                      "flags": "-e, --vnet-name <vnet-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--vnet-name",
                      "description": "the name of the virtual network"
                    },
                    {
                      "flags": "-u, --subnet-name <subnet-name>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--subnet-name",
                      "description": "the name of the subnet"
                    },
                    {
                      "flags": "-i, --subnet-id <subnet-id>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--subnet-id",
                      "description": "the id of the subnet"
                    },
                    {
                      "flags": "-a, --static-ip-address <static-ip-address>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--static-ip-address",
                      "description": "the static IP address name"
                    },
                    {
                      "flags": "-p, --public-ip-name <public-ip-name>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--public-ip-name",
                      "description": "the name of the public ip name"
                    },
                    {
                      "flags": "-r, --public-ip-id <public-ip-id>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--public-ip-id",
                      "description": "the public ip identifier.\n     e.g. /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/publicIPAddresses/<public-ip-name>"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a frontend ip configuration from an application gateway",
                  "fullName": "network application-gateway frontend-ip delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the frontend IP configuration"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "frontend-port": {
              "name": "frontend-port",
              "description": "Commands to manage application gateway frontend ports",
              "fullName": "network application-gateway frontend-port",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a frontend port to an application gateway",
                  "fullName": "network application-gateway frontend-port create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the frontend port"
                    },
                    {
                      "flags": "-p, --port <port>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--port",
                      "description": "the port, valid range is [0,65535]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a frontend port from an application gateway",
                  "fullName": "network application-gateway frontend-port delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the frontend port"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "address-pool": {
              "name": "address-pool",
              "description": "Commands to manage application gateway backend address pools",
              "fullName": "network application-gateway address-pool",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add a backend address pool to an application gateway",
                  "fullName": "network application-gateway address-pool create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the backend address pool"
                    },
                    {
                      "flags": "-r, --servers <servers>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--servers",
                      "description": "comma separated list of IP addresses or DNS names\n     corresponding to backend servers"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a backend address pool from an application gateway",
                  "fullName": "network application-gateway address-pool delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the backend address pool"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for unregister confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "http-settings": {
              "name": "http-settings",
              "description": "Commands to manage application gateway http settings",
              "fullName": "network application-gateway http-settings",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add http settings to an application gateway",
                  "fullName": "network application-gateway http-settings create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the HTTP settings"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the protocol, valid value is [http]"
                    },
                    {
                      "flags": "-o, --port <port>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--port",
                      "description": "the port, valid range is [0,65535]"
                    },
                    {
                      "flags": "-c, --cookie-based-affinity <cookie-based-affinity>",
                      "required": -29,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--cookie-based-affinity",
                      "description": "enable or disable cookie based affinity, valid values are\n     [Disabled,Enabled],\n     default value is [Disabled]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete http settings to an application gateway",
                  "fullName": "network application-gateway http-settings delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the HTTP settings"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for unregister confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "http-listener": {
              "name": "http-listener",
              "description": "Commands to manage application gateway http listeners",
              "fullName": "network application-gateway http-listener",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add an http listener to an application gateway",
                  "fullName": "network application-gateway http-listener create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the HTTP listener"
                    },
                    {
                      "flags": "-i, --frontend-ip-name <frontend-ip-name>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--frontend-ip-name",
                      "description": "the name of an existing frontend ip configuration"
                    },
                    {
                      "flags": "-p, --frontend-port-name <frontend-port-name>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--frontend-port-name",
                      "description": "the name of an existing frontend port"
                    },
                    {
                      "flags": "-r, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--protocol",
                      "description": "the protocol, supported values are [http,https]"
                    },
                    {
                      "flags": "-c, --ssl-cert <ssl-cert>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--ssl-cert",
                      "description": "the name of an existing SSL certificate.\n   This parameter is required when --protocol is Https"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete an http listener from an application gateway",
                  "fullName": "network application-gateway http-listener delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the HTTP listener"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "rule": {
              "name": "rule",
              "description": "Commands to manage application gateway request routing rule",
              "fullName": "network application-gateway rule",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add request routing rule to application gateway",
                  "fullName": "network application-gateway rule create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the request routing rule"
                    },
                    {
                      "flags": "-i, --http-settings-name <http-settings-name>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--http-settings-name",
                      "description": "the name of an existing backend HTTP settings"
                    },
                    {
                      "flags": "-l, --http-listener-name <http-listener-name>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--http-listener-name",
                      "description": "the name of an existing HTTP listener"
                    },
                    {
                      "flags": "-p, --address-pool-name <address-pool-name>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--address-pool-name",
                      "description": "the name of an existing backend address pool"
                    },
                    {
                      "flags": "-t, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--type",
                      "description": "the type, currently supported only default value \"%s\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a request routing rule from an application gateway",
                  "fullName": "network application-gateway rule delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the request routing rule"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "probe": {
              "name": "probe",
              "description": "Commands to manage application gateway probes",
              "fullName": "network application-gateway probe",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add probe to application gateway",
                  "fullName": "network application-gateway probe create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the probe"
                    },
                    {
                      "flags": "-o, --port <port>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--port",
                      "description": "the port, valid range is [0,65535]"
                    },
                    {
                      "flags": "-p, --protocol <protocol>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--protocol",
                      "description": "the protocol, only valid value is \"http\""
                    },
                    {
                      "flags": "-d, --host-name <host-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--host-name",
                      "description": "the name of host to send probe.\n   Default value is \"http://127.0.0.1\""
                    },
                    {
                      "flags": "-f, --path <path>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--path",
                      "description": "the relative path of probe. Valid path starts from \"/\".\n   Probe is sent to ://:. Default value is \"/\""
                    },
                    {
                      "flags": "-i, --interval <interval>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--interval",
                      "description": "the probe interval in seconds.\n   This is the time interval between two consecutive probes.\n   Default value is 30"
                    },
                    {
                      "flags": "-u, --timeout <timeout>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--timeout",
                      "description": "the probe timeout in seconds.\n   Probe marked as failed if valid response is not received with this timeout period.\n   Default value is 30"
                    },
                    {
                      "flags": "-e, --unhealthy-threshold <unhealthy-threshold>",
                      "required": -27,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--unhealthy-threshold",
                      "description": "probe retry count.\n   Back end server is marked down after consecutive probe failure count reaches an unhealthy threshold\n   Default value is 5"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete a probe from an application gateway",
                  "fullName": "network application-gateway probe delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the probe"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "url-path-map": {
              "name": "url-path-map",
              "description": "Commands to manage application gateway url path maps",
              "fullName": "network application-gateway url-path-map",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Add url path map to application gateway",
                  "fullName": "network application-gateway url-path-map create",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the url path map"
                    },
                    {
                      "flags": "-r, --rule-name <rule-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--rule-name",
                      "description": "the name of the url path map rule"
                    },
                    {
                      "flags": "-p, --path <path>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--path",
                      "description": "path, which specifies application gateway path rule"
                    },
                    {
                      "flags": "-i, --http-settings-name <http-settings-name>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--http-settings-name",
                      "description": "the name of an existing backend HTTP settings"
                    },
                    {
                      "flags": "-a, --address-pool-name <address-pool-name>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--address-pool-name",
                      "description": "the name of an existing backend address pool"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete an url path map from an application gateway",
                  "fullName": "network application-gateway url-path-map delete",
                  "usage": "[options] <resource-group> <gateway-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-w, --gateway-name <gateway-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-w",
                      "long": "--gateway-name",
                      "description": "the name of the application gateway"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the url path map"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {
                "rule": {
                  "name": "rule",
                  "description": "Commands to manage application gateway url path map rules",
                  "fullName": "network application-gateway url-path-map rule",
                  "usage": "[options] [command]",
                  "options": [],
                  "commands": [
                    {
                      "name": "create",
                      "description": "Add url path map to application gateway",
                      "fullName": "network application-gateway url-path-map rule create",
                      "usage": "[options] <resource-group> <gateway-name> <name>",
                      "filePath": "commands/arm/network/network.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-g, --resource-group <resource-group>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the name of the resource group"
                        },
                        {
                          "flags": "-w, --gateway-name <gateway-name>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-w",
                          "long": "--gateway-name",
                          "description": "the name of the application gateway"
                        },
                        {
                          "flags": "-u, --url-path-map-name <url-path-map-name>",
                          "required": -25,
                          "optional": 0,
                          "bool": true,
                          "short": "-u",
                          "long": "--url-path-map-name",
                          "description": "the name of the url path map"
                        },
                        {
                          "flags": "-n, --name <name>",
                          "required": -12,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--name",
                          "description": "the name of the url path map rule"
                        },
                        {
                          "flags": "-p, --path <path>",
                          "required": -12,
                          "optional": 0,
                          "bool": true,
                          "short": "-p",
                          "long": "--path",
                          "description": "path, which specifies application gateway path rule"
                        },
                        {
                          "flags": "-i, --http-settings-name <http-settings-name>",
                          "required": -26,
                          "optional": 0,
                          "bool": true,
                          "short": "-i",
                          "long": "--http-settings-name",
                          "description": "the name of an existing backend HTTP settings"
                        },
                        {
                          "flags": "-a, --address-pool-name <address-pool-name>",
                          "required": -25,
                          "optional": 0,
                          "bool": true,
                          "short": "-a",
                          "long": "--address-pool-name",
                          "description": "the name of an existing backend address pool"
                        },
                        {
                          "flags": "-s, --subscription <subscription>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    },
                    {
                      "name": "delete",
                      "description": "Delete an url path map from an application gateway",
                      "fullName": "network application-gateway url-path-map rule delete",
                      "usage": "[options] <resource-group> <gateway-name> <name>",
                      "filePath": "commands/arm/network/network.js",
                      "options": [
                        {
                          "flags": "-v, --verbose",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-v",
                          "long": "--verbose",
                          "description": "use verbose output"
                        },
                        {
                          "flags": "-vv",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "-vv",
                          "description": "more verbose with debug output"
                        },
                        {
                          "flags": "--json",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "long": "--json",
                          "description": "use json output"
                        },
                        {
                          "flags": "-g, --resource-group <resource-group>",
                          "required": -22,
                          "optional": 0,
                          "bool": true,
                          "short": "-g",
                          "long": "--resource-group",
                          "description": "the name of the resource group"
                        },
                        {
                          "flags": "-w, --gateway-name <gateway-name>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-w",
                          "long": "--gateway-name",
                          "description": "the name of the application gateway"
                        },
                        {
                          "flags": "-u, --url-path-map-name <url-path-map-name>",
                          "required": -25,
                          "optional": 0,
                          "bool": true,
                          "short": "-u",
                          "long": "--url-path-map-name",
                          "description": "the name of the url path map"
                        },
                        {
                          "flags": "-n, --name <name>",
                          "required": -12,
                          "optional": 0,
                          "bool": true,
                          "short": "-n",
                          "long": "--name",
                          "description": "the name of the map rule"
                        },
                        {
                          "flags": "-q, --quiet",
                          "required": 0,
                          "optional": 0,
                          "bool": true,
                          "short": "-q",
                          "long": "--quiet",
                          "description": "quiet mode, do not ask for delete confirmation"
                        },
                        {
                          "flags": "-s, --subscription <subscription>",
                          "required": -20,
                          "optional": 0,
                          "bool": true,
                          "short": "-s",
                          "long": "--subscription",
                          "description": "the subscription identifier"
                        }
                      ]
                    }
                  ],
                  "categories": {}
                }
              }
            }
          }
        },
        "express-route": {
          "name": "express-route",
          "description": "Commands to manage express routes",
          "fullName": "network express-route",
          "usage": "[options]",
          "options": [],
          "commands": [],
          "categories": {
            "provider": {
              "name": "provider",
              "description": "Commands to manage express route service providers",
              "fullName": "network express-route provider",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List express route service providers",
                  "fullName": "network express-route provider list",
                  "usage": "[options]",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "circuit": {
              "name": "circuit",
              "description": "Commands to manage express routes circuits",
              "fullName": "network express-route circuit",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create express route circuit",
                  "fullName": "network express-route circuit create",
                  "usage": "[options] <resource-group> <name> <location>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-l, --location <location>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--location",
                      "description": "the location"
                    },
                    {
                      "flags": "-p, --service-provider-name <service-provider-name>",
                      "required": -29,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--service-provider-name",
                      "description": "the service provider name"
                    },
                    {
                      "flags": "-i, --peering-location <peering-location>",
                      "required": -24,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--peering-location",
                      "description": "the service provider peering location"
                    },
                    {
                      "flags": "-b, --bandwidth-in-mbps <bandwidth-in-mbps>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--bandwidth-in-mbps",
                      "description": "the bandwidth in Mbps"
                    },
                    {
                      "flags": "-e, --sku-tier <sku-tier>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--sku-tier",
                      "description": "the sku tier"
                    },
                    {
                      "flags": "-f, --sku-family <sku-family>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--sku-family",
                      "description": "the sku family"
                    },
                    {
                      "flags": "-t, --tags <tags>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set an express route circuit",
                  "fullName": "network express-route circuit set",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-b, --bandwidth-in-mbps <bandwidth-in-mbps>",
                      "required": -25,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--bandwidth-in-mbps",
                      "description": "the bandwidth in Mbps"
                    },
                    {
                      "flags": "-e, --sku-tier <sku-tier>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--sku-tier",
                      "description": "the sku tier"
                    },
                    {
                      "flags": "-f, --sku-family <sku-family>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--sku-family",
                      "description": "the sku family"
                    },
                    {
                      "flags": "-t, --tags [tags]",
                      "required": 0,
                      "optional": -12,
                      "bool": true,
                      "short": "-t",
                      "long": "--tags",
                      "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     Existing tag values will be replaced by the values specified.\n     For example, -t \"tag1=value1;tag2\""
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all express route circuits",
                  "fullName": "network express-route circuit list",
                  "usage": "[options] [resource-group]",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Create express route circuit",
                  "fullName": "network express-route circuit show",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete an express route circuit",
                  "fullName": "network express-route circuit delete",
                  "usage": "[options] <resource-group> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "peering": {
              "name": "peering",
              "description": "Commands to manage express route peerings",
              "fullName": "network express-route peering",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create express route peering",
                  "fullName": "network express-route peering create",
                  "usage": "[options] <resource-group> <circuit-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit peering"
                    },
                    {
                      "flags": "-y, --type <type>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-y",
                      "long": "--type",
                      "description": "the express route circuit peering type,\n     supported types [AzurePrivatePeering,AzurePublicPeering,MicrosoftPeering}"
                    },
                    {
                      "flags": "-a, --azure-asn <azure-asn>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--azure-asn",
                      "description": "the express route circuit peering azure ASN"
                    },
                    {
                      "flags": "-p, --peer-asn <peer-asn>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--peer-asn",
                      "description": "the express route circuit peering peer ASN"
                    },
                    {
                      "flags": "-r, --primary-address-prefix <primary-address-prefix>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--primary-address-prefix",
                      "description": "the primary address prefix,\n     must be valid CIDR format"
                    },
                    {
                      "flags": "-o, --secondary-address-prefix <secondary-address-prefix>",
                      "required": -32,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--secondary-address-prefix",
                      "description": "the secondary address prefix, must be valid CIDR format"
                    },
                    {
                      "flags": "-d, --primary-azure-port <primary-azure-port>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--primary-azure-port",
                      "description": "the primary azure port"
                    },
                    {
                      "flags": "-b, --secondary-azure-port <secondary-azure-port>",
                      "required": -28,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--secondary-azure-port",
                      "description": "the secondary azure port"
                    },
                    {
                      "flags": "-k, --shared-key <shared-key>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--shared-key",
                      "description": "the shared key"
                    },
                    {
                      "flags": "-i, --vlan-id <vlan-id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--vlan-id",
                      "description": "the identifier that is used to identify the customer"
                    },
                    {
                      "flags": "-f, --ms-advertised-public-prefixes <ms-advertised-public-prefixes>",
                      "required": -37,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--ms-advertised-public-prefixes",
                      "description": "comma separated list of prefixes that will be advertised through the BGP peering"
                    },
                    {
                      "flags": "-m, --ms-advertised-public-prefix-state <ms-advertised-public-prefix-state>",
                      "required": -41,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--ms-advertised-public-prefix-state",
                      "description": "specifies the configuration state of the BGP session,\n      one of [NotConfigured,Configuring,Configured,ValidationNeeded]"
                    },
                    {
                      "flags": "-l, --ms-customer-asn <ms-customer-asn>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--ms-customer-asn",
                      "description": "ASN of the customer"
                    },
                    {
                      "flags": "-u, --ms-routing-registry-name <ms-routing-registry-name>",
                      "required": -32,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--ms-routing-registry-name",
                      "description": "Internet Routing Registry / Regional Internet Registry,\n     supported values are [ARIN,APNIC,AFRINIC,LACNIC,RIPENCC,RADB,ALTDB,LEVEL3]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set express route peering",
                  "fullName": "network express-route peering set",
                  "usage": "[options] <resource-group> <circuit-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit peering"
                    },
                    {
                      "flags": "-a, --azure-asn <azure-asn>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-a",
                      "long": "--azure-asn",
                      "description": "the express route circuit peering azure ASN"
                    },
                    {
                      "flags": "-p, --peer-asn <peer-asn>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-p",
                      "long": "--peer-asn",
                      "description": "the express route circuit peering peer ASN"
                    },
                    {
                      "flags": "-r, --primary-address-prefix <primary-address-prefix>",
                      "required": -30,
                      "optional": 0,
                      "bool": true,
                      "short": "-r",
                      "long": "--primary-address-prefix",
                      "description": "the primary address prefix,\n     must be valid CIDR format"
                    },
                    {
                      "flags": "-o, --secondary-address-prefix <secondary-address-prefix>",
                      "required": -32,
                      "optional": 0,
                      "bool": true,
                      "short": "-o",
                      "long": "--secondary-address-prefix",
                      "description": "the secondary address prefix, must be valid CIDR format"
                    },
                    {
                      "flags": "-d, --primary-azure-port <primary-azure-port>",
                      "required": -26,
                      "optional": 0,
                      "bool": true,
                      "short": "-d",
                      "long": "--primary-azure-port",
                      "description": "the primary azure port"
                    },
                    {
                      "flags": "-b, --secondary-azure-port <secondary-azure-port>",
                      "required": -28,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--secondary-azure-port",
                      "description": "the secondary azure port"
                    },
                    {
                      "flags": "-k, --shared-key <shared-key>",
                      "required": -18,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--shared-key",
                      "description": "the shared key"
                    },
                    {
                      "flags": "-i, --vlan-id <vlan-id>",
                      "required": -15,
                      "optional": 0,
                      "bool": true,
                      "short": "-i",
                      "long": "--vlan-id",
                      "description": "the identifier that is used to identify the customer"
                    },
                    {
                      "flags": "-f, --ms-advertised-public-prefixes <ms-advertised-public-prefixes>",
                      "required": -37,
                      "optional": 0,
                      "bool": true,
                      "short": "-f",
                      "long": "--ms-advertised-public-prefixes",
                      "description": "comma separated list of prefixes that will be advertised through the BGP peering"
                    },
                    {
                      "flags": "-m, --ms-advertised-public-prefix-state <ms-advertised-public-prefix-state>",
                      "required": -41,
                      "optional": 0,
                      "bool": true,
                      "short": "-m",
                      "long": "--ms-advertised-public-prefix-state",
                      "description": "specifies the configuration state of the BGP session,\n      one of [NotConfigured,Configuring,Configured,ValidationNeeded]"
                    },
                    {
                      "flags": "-l, --ms-customer-asn <ms-customer-asn>",
                      "required": -23,
                      "optional": 0,
                      "bool": true,
                      "short": "-l",
                      "long": "--ms-customer-asn",
                      "description": "ASN of the customer"
                    },
                    {
                      "flags": "-u, --ms-routing-registry-name <ms-routing-registry-name>",
                      "required": -32,
                      "optional": 0,
                      "bool": true,
                      "short": "-u",
                      "long": "--ms-routing-registry-name",
                      "description": "Internet Routing Registry / Regional Internet Registry,\n     supported values are [ARIN,APNIC,AFRINIC,LACNIC,RIPENCC,RADB,ALTDB,LEVEL3]"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Get peering details",
                  "fullName": "network express-route peering show",
                  "usage": "[options] <resource-group> <circuit-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit express route peering"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "List Peerings of Express Circuit",
                  "fullName": "network express-route peering list",
                  "usage": "[options] <resource-group> <circuit-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete express route peering",
                  "fullName": "network express-route peering delete",
                  "usage": "[options] <resource-group> <circuit-name> <name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --name <name>",
                      "required": -12,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--name",
                      "description": "the name of the express route circuit express route peering"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            },
            "authorization": {
              "name": "authorization",
              "description": "Commands to manage express routes authorization",
              "fullName": "network express-route authorization",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "create",
                  "description": "Create express route circuit authorization",
                  "fullName": "network express-route authorization create",
                  "usage": "[options] <resource-group> <circuit-name> <auth-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --auth-name <auth-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--auth-name",
                      "description": "the name of the express route circuit authorization"
                    },
                    {
                      "flags": "-k, --key <key>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--key",
                      "description": "the express route circuit authorization key"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "set",
                  "description": "Set express route circuit authorization",
                  "fullName": "network express-route authorization set",
                  "usage": "[options] <resource-group> <circuit-name> <auth-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --auth-name <auth-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--auth-name",
                      "description": "the name of the express route circuit authorization"
                    },
                    {
                      "flags": "-k, --key <key>",
                      "required": -11,
                      "optional": 0,
                      "bool": true,
                      "short": "-k",
                      "long": "--key",
                      "description": "the express route circuit authorization key"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "show",
                  "description": "Show express route circuit authorization",
                  "fullName": "network express-route authorization show",
                  "usage": "[options] <resource-group> <circuit-name> <auth-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --auth-name <auth-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--auth-name",
                      "description": "the name of the express route circuit express route authorization"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "delete",
                  "description": "Delete express route circuit authorization",
                  "fullName": "network express-route authorization delete",
                  "usage": "[options] <resource-group> <circuit-name> <auth-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-n, --auth-name <auth-name>",
                      "required": -17,
                      "optional": 0,
                      "bool": true,
                      "short": "-n",
                      "long": "--auth-name",
                      "description": "the name of the express route circuit express route authorization"
                    },
                    {
                      "flags": "-q, --quiet",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-q",
                      "long": "--quiet",
                      "description": "quiet mode, do not ask for delete confirmation"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                },
                {
                  "name": "list",
                  "description": "Get all express route circuit authorizations",
                  "fullName": "network express-route authorization list",
                  "usage": "[options] <resource-group> <circuit-name>",
                  "filePath": "commands/arm/network/network.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-g, --resource-group <resource-group>",
                      "required": -22,
                      "optional": 0,
                      "bool": true,
                      "short": "-g",
                      "long": "--resource-group",
                      "description": "the name of the resource group"
                    },
                    {
                      "flags": "-c, --circuit-name <circuit-name>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-c",
                      "long": "--circuit-name",
                      "description": "the name of the express route circuit"
                    },
                    {
                      "flags": "-s, --subscription <subscription>",
                      "required": -20,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "the subscription identifier"
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        }
      }
    },
    "policy": {
      "name": "policy",
      "description": "Commands to manage your policies on ARM Resources.",
      "fullName": "policy",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "assignment": {
          "name": "assignment",
          "description": "Commands to manage your policy assignments.",
          "fullName": "policy assignment",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Creates a new policy assignment",
              "fullName": "policy assignment create",
              "usage": "[options] <name> <policyDefinitionId> <scope>",
              "filePath": "commands/arm/policy/policy.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy assignment name"
                },
                {
                  "flags": "-p --policy-definition-id <policyDefinitionId>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--policy-definition-id",
                  "description": "the fully qualified id of existing policy definition. For example: /subscriptions/{mySubId}/providers/Microsoft.Authorization/policyDefinitions/{myPolicy}. Use policy definition list to get a list of existing policy definitions. More information here: https://azure.microsoft.com/en-us/documentation/articles/resource-manager-policy/"
                },
                {
                  "flags": "-s --scope <scope>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--scope",
                  "description": "the scope for policy assignment. For example, /subscriptions/{mySubId}/resourceGroups/{myGroup}"
                },
                {
                  "flags": "-d --display-name <display-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--display-name",
                  "description": "the display name for policy assignment."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Updates a policy assignment",
              "fullName": "policy assignment set",
              "usage": "[options] <name> <scope>",
              "filePath": "commands/arm/policy/policy.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy assignment name"
                },
                {
                  "flags": "-p --policy-definition-id <policyDefinitionId>",
                  "required": -27,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--policy-definition-id",
                  "description": "the fully qualified id of existing policy definition. For example: /subscriptions/{mySubId}/providers/Microsoft.Authorization/policyDefinitions/{myPolicy}. Use policy definition list to get a list of existing policy definitions. More information here: https://azure.microsoft.com/en-us/documentation/articles/resource-manager-policy/"
                },
                {
                  "flags": "-s --scope <scope>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--scope",
                  "description": "the scope for policy assignment. For example, /subscriptions/{mySubId}/resourceGroups/{myGroup}"
                },
                {
                  "flags": "-d --display-name <display-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--display-name",
                  "description": "the display name for policy assignment."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists all the policy assignments in the subscription.",
              "fullName": "policy assignment list",
              "usage": "[options]",
              "filePath": "commands/arm/policy/policy.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Shows a policy assignment",
              "fullName": "policy assignment show",
              "usage": "[options] <name> <scope>",
              "filePath": "commands/arm/policy/policy.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy assignment name"
                },
                {
                  "flags": "-s --scope <scope>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--scope",
                  "description": "the scope for policy assignment. For example, /subscriptions/{mySubId}/resourceGroups/{myGroup}"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes a policy assignment",
              "fullName": "policy assignment delete",
              "usage": "[options] <name> <scope>",
              "filePath": "commands/arm/policy/policy.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy definition name"
                },
                {
                  "flags": "-s --scope <scope>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--scope",
                  "description": "the scope for policy assignment. For example, /subscriptions/{mySubId}/resourceGroups/{myGroup}"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "definition": {
          "name": "definition",
          "description": "Commands to manage your policy definitions.",
          "fullName": "policy definition",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Creates a new policy definition",
              "fullName": "policy definition create",
              "usage": "[options] <name> <policy>",
              "filePath": "commands/arm/policy/policy.definition.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy definition name"
                },
                {
                  "flags": "-p --policy <policy>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--policy",
                  "description": "the rule for policy definition. This should be a path to a file name containing the rule. More information here: https://azure.microsoft.com/en-us/documentation/articles/resource-manager-policy/",
                  "fileRelatedOption": true
                },
                {
                  "flags": "--policy-string <policyString>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--policy-string",
                  "description": "a JSON-formatted string containing the policy rule."
                },
                {
                  "flags": "-d --display-name <display-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--display-name",
                  "description": "the display name for policy definition."
                },
                {
                  "flags": "--description <description>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--description",
                  "description": "the description for policy definition."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "set",
              "description": "Updates a policy definition",
              "fullName": "policy definition set",
              "usage": "[options] <name>",
              "filePath": "commands/arm/policy/policy.definition.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy definition name"
                },
                {
                  "flags": "-p --policy <policy>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--policy",
                  "description": "the rule for policy definition. This should be a path to a file name containing the rule. More information here: https://azure.microsoft.com/en-us/documentation/articles/resource-manager-policy/",
                  "fileRelatedOption": true
                },
                {
                  "flags": "--policy-string <policyString>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "long": "--policy-string",
                  "description": "a JSON-formatted string containing the policy rule."
                },
                {
                  "flags": "-d --display-name <display-name>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--display-name",
                  "description": "the display name for policy definition."
                },
                {
                  "flags": "--description <description>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "long": "--description",
                  "description": "the description for policy definition."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists all the policy definitions in the subscription.",
              "fullName": "policy definition list",
              "usage": "[options]",
              "filePath": "commands/arm/policy/policy.definition.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Shows a policy definition",
              "fullName": "policy definition show",
              "usage": "[options] <name>",
              "filePath": "commands/arm/policy/policy.definition.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy definition name"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Deletes a policy definition",
              "fullName": "policy definition delete",
              "usage": "[options] <name>",
              "filePath": "commands/arm/policy/policy.definition.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the policy definition name"
                },
                {
                  "flags": "-q, --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "quiet mode (do not ask for delete confirmation)"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "powerbi": {
      "name": "powerbi",
      "description": "Commands to manage your Azure Power BI Embedded Workspace Collections",
      "fullName": "powerbi",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "Create a new workspace collection",
          "fullName": "powerbi create",
          "usage": "[options] <resourceGroup> <name> <location> [tags]",
          "filePath": "commands/arm/powerbiembedded/powerbiembedded.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resourceGroup>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the resource group"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "The name of the new workspace collection"
            },
            {
              "flags": "-l --location <location>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "The location (azure region/datacenter) where the workspace collection will be provisioned"
            },
            {
              "flags": "-t --tags [tags]",
              "required": 0,
              "optional": -11,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set to the resource group. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, -t 'tag1=value1;tag2'. Providing an empty string '' will delete the tags."
            },
            {
              "flags": "-s --subscription [subscription]",
              "required": 0,
              "optional": -19,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "List workspace collections within subscription or within resource group",
          "fullName": "powerbi list",
          "usage": "[options] [resourceGroup]",
          "filePath": "commands/arm/powerbiembedded/powerbiembedded.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group [resourceGroup]",
              "required": 0,
              "optional": -21,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the resource group"
            },
            {
              "flags": "-s --subscription [subscription]",
              "required": 0,
              "optional": -19,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        }
      ],
      "categories": {
        "keys": {
          "name": "keys",
          "description": "Commands to manage your Power BI Workspace Collection keys",
          "fullName": "powerbi keys",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Get access keys for a workspace collection",
              "fullName": "powerbi keys list",
              "usage": "[options] <resourceGroup> <name>",
              "filePath": "commands/arm/powerbiembedded/powerbiembedded.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resourceGroup>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "Name of the resource group"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of workspace collection"
                },
                {
                  "flags": "-s --subscription [subscription]",
                  "required": 0,
                  "optional": -19,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier"
                }
              ]
            },
            {
              "name": "renew",
              "description": "Get access keys for a workspace collection",
              "fullName": "powerbi keys renew",
              "usage": "[options] <resourceGroup> <name>",
              "filePath": "commands/arm/powerbiembedded/powerbiembedded.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resourceGroup>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "Name of the resource group"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of workspace collection"
                },
                {
                  "flags": "--primary",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--primary",
                  "description": "Renew the Primary key"
                },
                {
                  "flags": "--secondary",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--secondary",
                  "description": "Renew the Secondary key"
                },
                {
                  "flags": "-s --subscription [subscription]",
                  "required": 0,
                  "optional": -19,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "workspaces": {
          "name": "workspaces",
          "description": "Commands to manage your Power BI Workspaces",
          "fullName": "powerbi workspaces",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "list",
              "description": "Get workspaces within given workspace collection",
              "fullName": "powerbi workspaces list",
              "usage": "[options] <resourceGroup> <name>",
              "filePath": "commands/arm/powerbiembedded/powerbiembedded.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g --resource-group <resourceGroup>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "Name of the resource group"
                },
                {
                  "flags": "-n --name <name>",
                  "required": -11,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "Name of workspace collection"
                },
                {
                  "flags": "-s --subscription [subscription]",
                  "required": 0,
                  "optional": -19,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "The subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "provider": {
      "name": "provider",
      "description": "Commands to manage resource provider registrations",
      "fullName": "provider",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "List currently registered providers in ARM",
          "fullName": "provider list",
          "usage": "[options]",
          "filePath": "commands/arm/providers/provider.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-s --subscription <subscription>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "Subscription to list providers for"
            }
          ]
        },
        {
          "name": "show",
          "description": "Show details about the requested provider namespace",
          "fullName": "provider show",
          "usage": "[options] <namespace>",
          "filePath": "commands/arm/providers/provider.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --namespace <namespace>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--namespace",
              "description": "the provider namespace to show"
            },
            {
              "flags": "-s --subscription <subscription",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "subscription to show provider for"
            }
          ]
        },
        {
          "name": "register",
          "description": "Register namespace provider with the subscription",
          "fullName": "provider register",
          "usage": "[options] <namespace>",
          "filePath": "commands/arm/providers/provider.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --namespace <namespace>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--namespace",
              "description": "the provider namespace to register"
            },
            {
              "flags": "-s --subscription <subscription>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "Subscription to register"
            }
          ]
        },
        {
          "name": "unregister",
          "description": "Un-register namespace provider with the subscription",
          "fullName": "provider unregister",
          "usage": "[options] <namespace>",
          "filePath": "commands/arm/providers/provider.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --namespace <namespace>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--namespace",
              "description": "the provider namespace to register"
            },
            {
              "flags": "-s --subscription <subscription>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "Subscription to register"
            }
          ]
        }
      ],
      "categories": {
        "operations": {
          "name": "operations",
          "description": "Commands to get the operations or actions allowed by an Azure resource provider.",
          "fullName": "provider operations",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "show",
              "description": "Show operations for the requested provider operation search string. Operations can be composed to create custom roles in Azure RBAC. The command takes as input a operation search string (with wildcard (*) character(s)) which determines the action details to display.",
              "fullName": "provider operations show",
              "usage": "[options] <operationSearchString>\n\n     --------------------------  Get all actions for all providers  --------------------------\n     azure provider operations show --operationSearchString *\n\n     --------------------------  Get actions for a particular resource provider  --------------------------\n     azure provider operations show --operationSearchString Microsoft.Insights/*\n\n     --------------------------  Get all actions that can be performed on virtual machines  --------------------------\n     azure provider operations show --operationSearchString */virtualMachines/*",
              "filePath": "commands/arm/providers/provider.operations.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-o --operationSearchString <operationSearchString>",
                  "required": -28,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--operationSearchString",
                  "description": "The provider operation string (with wildcard (*) character). Example: \"*\" to get all actions for all providers, \"Microsoft.Insights/*\" to get actions for a particular provider, \"*/virtualMachines/*\" to get all actions that can be performed on virtual machines."
                },
                {
                  "flags": "-s --subscription <subscription>",
                  "required": -19,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "Subscription to show provider operations for"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "quotas": {
      "name": "quotas",
      "description": "Command to view your aggregated Azure quotas",
      "fullName": "quotas",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "show",
          "description": "Show cores, storage account and network quotas for the current subscription",
          "fullName": "quotas show",
          "usage": "[options] <location>",
          "filePath": "commands/arm/quotas/quotas.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "rediscache": {
      "name": "rediscache",
      "description": "Commands to manage your Azure Redis Cache(s)",
      "fullName": "rediscache",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "Create a Redis Cache",
          "fullName": "rediscache create",
          "usage": "[--name <name> --resource-group <resource-group> --location <location> [options]]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group"
            },
            {
              "flags": "-l, --location <location>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "Location to create cache."
            },
            {
              "flags": "-z, --size <size>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-z",
              "long": "--size",
              "description": "Size of the Redis Cache. Valid values: [C0, C1, C2, C3, C4, C5, C6, P1, P2, P3, P4]"
            },
            {
              "flags": "-x, --sku <sku>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-x",
              "long": "--sku",
              "description": "Redis SKU. Should be one of : [Basic, Standard, Premium]"
            },
            {
              "flags": "-e, --enable-non-ssl-port",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-e",
              "long": "--enable-non-ssl-port",
              "description": "EnableNonSslPort property of the Redis Cache. Add this flag if you want to enable the Non SSL Port for your cache"
            },
            {
              "flags": "-c, --redis-configuration <redis-configuration>",
              "required": -27,
              "optional": 0,
              "bool": true,
              "short": "-c",
              "long": "--redis-configuration",
              "description": "Redis Configuration. Enter a JSON formatted string of configuration keys and values here. Format:\"{\"<key1>\":\"<value1>\",\"<key2>\":\"<value2>\"}\""
            },
            {
              "flags": "-f, --redis-configuration-file <redisConfigurationFile>",
              "required": -32,
              "optional": 0,
              "bool": true,
              "short": "-f",
              "long": "--redis-configuration-file",
              "description": "Redis Configuration. Enter the path of a file containing configuration keys and values here. Format for the file entry: {\"<key1>\":\"<value1>\",\"<key2>\":\"<value2>\"}",
              "fileRelatedOption": true
            },
            {
              "flags": "-r, --shard-count <shard-count>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--shard-count",
              "description": "Number of Shards to create on a Premium Cluster Cache"
            },
            {
              "flags": "-v, --virtual-network <virtual-network>",
              "required": -23,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--virtual-network",
              "description": "The exact ARM resource ID of the virtual network to deploy the redis cache in. Example format: /subscriptions/{subid}/resourceGroups/{resourceGroupName}/Microsoft.ClassicNetwork/VirtualNetworks/vnet1"
            },
            {
              "flags": "-t, --subnet <subnet>",
              "required": -14,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--subnet",
              "description": "Required when deploying a redis cache inside an existing Azure Virtual Network"
            },
            {
              "flags": "-p, --static-ip <static-ip>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--static-ip",
              "description": "Required when deploying a redis cache inside an existing Azure Virtual Network"
            },
            {
              "flags": "-s, --subscription <id>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Delete an existing Redis Cache",
          "fullName": "rediscache delete",
          "usage": "[--name <name> --resource-group <resource-group> ]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group under which the cache exists"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "List all Redis Caches within your Subscription or Resource Group",
          "fullName": "rediscache list",
          "usage": "[options]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Show properties of an existing Redis Cache",
          "fullName": "rediscache show",
          "usage": "[--name <name> --resource-group <resource-group>]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "set",
          "description": "Change settings of an existing Redis Cache",
          "fullName": "rediscache set",
          "usage": "[--name <name> --resource-group <resource-group> --redis-configuration <redis-configuration>/--redis-configuration-file <redisConfigurationFile>]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group"
            },
            {
              "flags": "-c, --redis-configuration <redis-configuration>",
              "required": -27,
              "optional": 0,
              "bool": true,
              "short": "-c",
              "long": "--redis-configuration",
              "description": "Redis Configuration. Enter a JSON formatted string of configuration keys and values here."
            },
            {
              "flags": "-f, --redis-configuration-file <redisConfigurationFile>",
              "required": -32,
              "optional": 0,
              "bool": true,
              "short": "-f",
              "long": "--redis-configuration-file",
              "description": "Redis Configuration. Enter the path of a file containing configuration keys and values here.",
              "fileRelatedOption": true
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "renew-key",
          "description": "Renew the authentication key for an existing Redis Cache",
          "fullName": "rediscache renew-key",
          "usage": "[--name <name> --resource-group <resource-group> ]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group under which cache exists"
            },
            {
              "flags": "-t, --key-type <key-type>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--key-type",
              "description": "type of key to renew. Valid values are: 'Primary', 'Secondary'."
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list-keys",
          "description": "Lists Primary and Secondary key of an existing Redis Cache",
          "fullName": "rediscache list-keys",
          "usage": "[--name <name> --resource-group <resource-group>]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group under which Cache exists"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "set-diagnostics",
          "description": "Sets diagnostics on an existing Redis Cache using the storage account specified",
          "fullName": "rediscache set-diagnostics",
          "usage": "[--name <name> --resource-group <resource-group> --storage-account-name <storage-account-name> --storage-account-resource-group <storage-account-resource-group>]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group under which Cache exists"
            },
            {
              "flags": "-x, --storage-account-name <storage-account-name>",
              "required": -28,
              "optional": 0,
              "bool": true,
              "short": "-x",
              "long": "--storage-account-name",
              "description": "Name of the Storage Account."
            },
            {
              "flags": "-b, --storage-account-resource-group <storage-account-resource-group>",
              "required": -38,
              "optional": 0,
              "bool": true,
              "short": "-b",
              "long": "--storage-account-resource-group",
              "description": "Name of the Resource Group under which the Storage Account exists"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete-diagnostics",
          "description": "Removes diagnostics on an existing Redis Cache",
          "fullName": "rediscache delete-diagnostics",
          "usage": "[--name <name> --resource-group <resource-group>]",
          "filePath": "commands/arm/rediscache/rediscache.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Redis Cache."
            },
            {
              "flags": "-g, --resource-group <resource-group>",
              "required": -22,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the Resource Group under which Cache exists"
            },
            {
              "flags": "-s, --subscription <subscription>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "resource": {
      "name": "resource",
      "description": "Commands to manage your resources",
      "fullName": "resource",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "Creates a resource in a resource group",
          "fullName": "resource create",
          "usage": "[options] <resource-group> <name> <resource-type> <location> <api-version>",
          "filePath": "commands/arm/resource/resource.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource name"
            },
            {
              "flags": "-l --location <location>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the location where we will create the resource"
            },
            {
              "flags": "-r --resource-type <resource-type>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--resource-type",
              "description": "the resource type"
            },
            {
              "flags": "-o --api-version <api-version>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-o",
              "long": "--api-version",
              "description": "the API version of the resource provider"
            },
            {
              "flags": "--parent <parent>",
              "required": -10,
              "optional": 0,
              "bool": true,
              "long": "--parent",
              "description": "the name of the parent resource (if needed), in path/path/path format"
            },
            {
              "flags": "-p --properties <properties>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--properties",
              "description": "a JSON-formatted string containing properties"
            },
            {
              "flags": "-t --tags <tags>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set to the resource group. Can be mutliple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "set",
          "description": "Updates a resource in a resource group without any templates or parameters",
          "fullName": "resource set",
          "usage": "[options] <resource-group> <name> <resource-type> <properties> <api-version>",
          "filePath": "commands/arm/resource/resource.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource name"
            },
            {
              "flags": "-r --resource-type <resource-type>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--resource-type",
              "description": "the resource type"
            },
            {
              "flags": "-p --properties <properties>",
              "required": -17,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--properties",
              "description": "a JSON-formatted string containing properties"
            },
            {
              "flags": "-o --api-version <api-version>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-o",
              "long": "--api-version",
              "description": "the API version of the resource provider"
            },
            {
              "flags": "--parent <parent>",
              "required": -10,
              "optional": 0,
              "bool": true,
              "long": "--parent",
              "description": "the name of the parent resource (if needed), in path/path/path format"
            },
            {
              "flags": "-t --tags <tags>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tags to set to the resource. Can be multiple. In the format of 'name=value'. Name is required and value is optional. For example, -t tag1=value1;tag2"
            },
            {
              "flags": "--no-tags",
              "required": 0,
              "optional": 0,
              "bool": false,
              "long": "--no-tags",
              "description": "remove all existing tags"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "Lists the resources",
          "fullName": "resource list",
          "usage": "[options] [resource-group]",
          "filePath": "commands/arm/resource/resource.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-r --resource-type <resource-type>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--resource-type",
              "description": "the resource type"
            },
            {
              "flags": "--details",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--details",
              "description": "show details such as permissions, etc."
            },
            {
              "flags": "-t --tags <tags>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-t",
              "long": "--tags",
              "description": "Tag to use to filter to the resource group. Can only take 1 tag. In the format of \"name=value\". Name is required and value is optional. For example, -t tag1 or -t tag1=value1."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Gets one resource within a resource group or subscription",
          "fullName": "resource show",
          "usage": "[options] <resource-group> <name> <resource-type> <api-version>",
          "filePath": "commands/arm/resource/resource.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource name"
            },
            {
              "flags": "-r --resource-type <resource-type>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--resource-type",
              "description": "the resource type"
            },
            {
              "flags": "-o --api-version <api-version>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-o",
              "long": "--api-version",
              "description": "the API version of the resource provider"
            },
            {
              "flags": "--parent <parent>",
              "required": -10,
              "optional": 0,
              "bool": true,
              "long": "--parent",
              "description": "the name of the parent resource (if needed), in path/path/path format"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Deletes a resource in a resource group",
          "fullName": "resource delete",
          "usage": "[options] <resource-group> <name> <resource-type> <api-version>",
          "filePath": "commands/arm/resource/resource.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the resource group name"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the resource name"
            },
            {
              "flags": "-r --resource-type <resource-type>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--resource-type",
              "description": "the resource type"
            },
            {
              "flags": "-o --api-version <api-version>",
              "required": -18,
              "optional": 0,
              "bool": true,
              "short": "-o",
              "long": "--api-version",
              "description": "the API version of the resource provider"
            },
            {
              "flags": "--parent <parent>",
              "required": -10,
              "optional": 0,
              "bool": true,
              "long": "--parent",
              "description": "the name of the parent resource (if needed), in path/path/path format"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode (do not ask for delete confirmation)"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "move",
          "description": "Moves resources from one resource group to another",
          "fullName": "resource move",
          "usage": "[options] <ids> <destination-group>",
          "filePath": "commands/arm/resource/resource.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-i --ids <ids>",
              "required": -10,
              "optional": 0,
              "bool": true,
              "short": "-i",
              "long": "--ids",
              "description": "the comma-delimitied resource ids to be moved"
            },
            {
              "flags": "-d --destination-group <destination-group>",
              "required": -24,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--destination-group",
              "description": "the destination resource group name"
            },
            {
              "flags": "--destination-subscriptionId <destination-subscriptionId>",
              "required": -30,
              "optional": 0,
              "bool": true,
              "long": "--destination-subscriptionId",
              "description": "the destination subscription identifier"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode (do not ask for move confirmation)"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "role": {
      "name": "role",
      "description": "Commands to manage role definitions",
      "fullName": "role",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "Lists Azure RBAC roles available for assignment. Use this command to determine what actions on what resource types an Azure RBAC role allows.",
          "fullName": "role list",
          "usage": "[scope]\n\n           -----    Example 1   -------\n           azure role list\n           Lists all RBAC role definitions.\n",
          "filePath": "commands/arm/role/role.definition.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "--custom",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--custom",
              "description": "If specified, display only the custom role definitions instead of all role definitions."
            },
            {
              "flags": "--scope <scope>",
              "required": -9,
              "optional": 0,
              "bool": true,
              "long": "--scope",
              "description": "Role definition scope. For e.g. /subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f"
            },
            {
              "flags": "--atScopeAndBelow",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--atScopeAndBelow",
              "description": "If specified, displays all role definitions."
            },
            {
              "flags": "-d --detailed",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--detailed",
              "description": "If specified, displays all the properties of a role definition"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "Name or identifier of the subscription to list the roles for."
            }
          ]
        },
        {
          "name": "show",
          "description": "Search for a role definition with role name or id to view its details. To inspect individual operations that a role grants access to, review the Actions and NotActions properties of the role.",
          "fullName": "role show",
          "usage": "[name] [id] [scope]\n\n           -----    Example 1   -------\n           azure role show --name Reader\n           Get the Reader role definition.\n           -----    Example 2   -------\n           azure role show --id 52a6cc13-ff92-47a8-a39b-2a8205c3087e\n           Get the Reader role definition.\n",
          "filePath": "commands/arm/role/role.definition.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Role definition name. For e.g. Reader, Contributor, Virtual Machine Contributor."
            },
            {
              "flags": "--id <id>",
              "required": -6,
              "optional": 0,
              "bool": true,
              "long": "--id",
              "description": "Role definition Id."
            },
            {
              "flags": "--scope <scope>",
              "required": -9,
              "optional": 0,
              "bool": true,
              "long": "--scope",
              "description": "Role definition scope. For e.g. /subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f"
            },
            {
              "flags": "--atScopeAndBelow",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--atScopeAndBelow",
              "description": "If specified, displays all role definitions."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "Name or identifier of the subscription to search the role definition in."
            }
          ]
        },
        {
          "name": "create",
          "description": "Creates a custom role in Azure RBAC. Provide either a JSON role definition file or a JSON-formatted string containing the role definition as input.\n     The input role definition MUST contain the following properties:\n     1) DisplayName: the name of the custom role\n     2) Description: a short description of the role that summarizes the access that the role grants.\n     3) Actions: the set of operations to which the custom role grants access. Use \"azure provider operations show\" with operationSearchString to get the operation for Azure resource providers that can be secured using Azure RBAC. Following are some valid operation strings\n       - \"*/read\" grants access to read operations of all Azure resource providers.\n       - \"Microsoft.Network/*/read\" grants access to read operations for all resource types in the Microsoft.Network resource provider of Azure.\n       - \"Microsoft.Compute/virtualMachines/*\" grants access to all operations of virtual machines and its child resource types.\n     4) AssignableScopes: the set of scopes (Azure subscriptions or resource groups) in which the custom role will be available for assignment. Using AssignableScopes you can make the custom role available for assignment in only the subscriptions or resource groups that need it, and not clutter the user experience for the rest of the subscriptions or resource groups. Following are some valid assignable scopes\n       - \"/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e\", \"/subscriptions/e91d47c4-76f3-4271-a796-21b4ecfe3624\": makes the role available for assignment in two subscriptions.\n       - \"/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e\": makes the role available for assignment in a single subscription.\n       - \"/subscriptions/c276fc76-9cd4-44c9-99a7-4fd71546436e/resourceGroups/Network\": makes the role available for assignment only in the Network resource group.\n\n     The input role definition MAY contain the following properties:\n     1) NotActions: the set of operations that must be excluded from the Actions to determine the effective actions for the custom role. If there is a specific operation that you do not wish to grant access to in a custom role, it is convenient to use NotActions to exclude it, rather than specifying all operations other than that specific operation in Actions.\n\n     NOTE: If a user is assigned a role that specifies an operation in NotActions and also assigned another role grants access to the same operation, the user will be able to perform that operation. NotActions is not a deny rule, it is simply a convenient way to create a set of allowed operations when specific operations need to be excluded.\n\n     Following is a sample json role definition that can be provided as input: \n     {\n     \"Name\": \"Contoso On-call\",\n     \"Description\": \"Can monitor compute, network and storage, and restart virtual machines\",\n     \"Actions\": [\n       \"Microsoft.Compute/*/read\",\n       \"Microsoft.Compute/virtualMachines/start/action\",\n       \"Microsoft.Compute/virtualMachines/restart/action\",\n       \"Microsoft.Compute/virtualMachines/downloadRemoteDesktopConnectionFile/action\",\n       \"Microsoft.Network/*/read\",\n       \"Microsoft.Storage/*/read\",\n       \"Microsoft.Authorization/*/read\",\n       \"Microsoft.Resources/subscriptions/resourceGroups/read\",\n       \"Microsoft.Resources/subscriptions/resourceGroups/resources/read\",\n       \"Microsoft.Insights/alertRules/*\",\n       \"Microsoft.Support/*\"\n     ],\n     \"AssignableScopes\": [\"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\"/subscriptions/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy\"]\n     }",
          "fullName": "role create",
          "usage": "[inputfile] [roledefinition]\n     --------------------------  Create using JSON file  --------------------------\n     azure role create --inputfile C:\\Temp\\roleDefinition.json",
          "filePath": "commands/arm/role/role.definition.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-f --inputfile <inputfile>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-f",
              "long": "--inputfile",
              "description": "File name containing a single role definition."
            },
            {
              "flags": "-r --roledefinition <roledefinition>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--roledefinition",
              "description": "A JSON-formatted string containing the role definition."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "set",
          "description": "Modifies a custom role in Azure RBAC. Provide the modified role definition either as a JSON file or as a JSON-formatted string containing the role definition.\n     The role definition for the updated custom role MUST contain the Id and all other required properties of the role even if they are not updated: Name, Description, Actions, AssignableScopes. NotActions is optional.\n\n     Following is a sample updated role definition json that can be provided as input:\n\n     {\n     \"Id\": \"52a6cc13-ff92-47a8-a39b-2a8205c3087e\",\n     \"Name\": \"Updated Role\",\n     \"Description\": \"Can monitor all resources and start and restart virtual machines\",\n     \"Actions\": [\n       \"*/read\",\n       \"Microsoft.ClassicCompute/virtualmachines/restart/action\",\n       \"Microsoft.ClassicCompute/virtualmachines/start/action\"\n     ],\n     \"AssignableScopes\": [\"/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f\"]\n     }",
          "fullName": "role set",
          "usage": "[inputfile] [roledefinition]\n     --------------------------  Create using JSON file  --------------------------\n     azure role set --inputfile C:\\Temp\\roleDefinition.json",
          "filePath": "commands/arm/role/role.definition.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-f --inputfile <inputfile>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "short": "-f",
              "long": "--inputfile",
              "description": "File name containing a single json role definition to be updated. Id, Name, Description, Actions and AssignableScopes are required."
            },
            {
              "flags": "-r --roledefinition <roledefinition>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-r",
              "long": "--roledefinition",
              "description": "A JSON-formatted string containing the role definition. For e.g. {\"Id\": \"52a6cc13-ff92-47a8-a39b-2a8205c3087e\",\"Description\": \"Updated role\",\"Actions\": [\"Microsoft.Support/*/read\"],\"Notactions\": [],\"AssignableScopes\": [\"/subscriptions/5004a9fd-d58e-48dc-aeb2-4a4aec58606f\"]}"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Deletes a custom role in Azure RBAC. The role to be deleted is specified using the Id or Name property of the role. Delete will fail if there are existing role assignments made to the custom role.",
          "fullName": "role delete",
          "usage": "[id] [name] [scope]\n\n     --------------------------  Example 1  --------------------------\n     azure role delete --name \"Contoso On-call\"\n\n     --------------------------  Example 2  --------------------------\n     azure role delete --id \"52a6cc13-ff92-47a8-a39b-2a8205c3087e\"",
          "filePath": "commands/arm/role/role.definition.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "--id <id>",
              "required": -6,
              "optional": 0,
              "bool": true,
              "long": "--id",
              "description": "Id of the Role definition to be deleted"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the Role definition to be deleted."
            },
            {
              "flags": "--scope <scope>",
              "required": -9,
              "optional": 0,
              "bool": true,
              "long": "--scope",
              "description": "Role definition scope.  For e.g. /subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f"
            },
            {
              "flags": "-q --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "If set, does not prompt for a confirmation before deleting the custom role"
            },
            {
              "flags": "--passthru",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--passthru",
              "description": "If set, displays the properties of deleted custom role"
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "The subscription identifier"
            }
          ]
        }
      ],
      "categories": {
        "assignment": {
          "name": "assignment",
          "description": "Commands to manage role assignments",
          "fullName": "role assignment",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Assigns the specified RBAC role to the specified principal, at the specified scope.",
              "fullName": "role assignment create",
              "usage": "[objectId] [signInName] [spn] [roleName] [roleId] [scope] [resource-group] [resource-type] [resource-name]\n\n           -----    Example 1   -------\n           azure role assignment create --resource-group testRG --signInName john.doe@contoso.com\n           Grant access to a user at a resource group scope.\n\n           -----    Example 2   -------\n           azure ad group show --search \"Christine Koch Team\"\n           + Getting group list\n           data:    Display Name:      Christine Koch Team\n           data:    ObjectId:          2f9d4375-cbf1-48e8-83c9-2a0be4cb33fb\n           data:    Security Enabled:  true\n           data:    Mail Enabled:\n\n           azure role assignment create --objectId 2f9d4375-cbf1-48e8-83c9-2a0be4cb33fb --roleName Contributor --resource-group testRG\n           Grants access to a security group.\n\n           -----    Example 3   -------\n           azure role assignment create --signInName john.doe@contoso.com --roleName Owner --scope \"/subscriptions/96231a05-34ce-4eb4-aa6a-70759cbb5e83/resourcegroups/rg1/providers/Microsoft.Web/sites/site1\"\n           Grants access to a user at a resource 'site1' (website) scope.\n\n           -----    Example 4   -------\n           azure role assignment create --objectId 5ac84765-1c8c-4994-94b2-629461bd191b --roleName \"Virtual Machine Contributor\" --resouce-name Devices-Engineering-ProjectRND --resource-type Microsoft.Network/virtualNetworks/subnets --parent virtualNetworks/VNET-EASTUS-01 --resource-group Network\n           Grant access to a group at a nested resource (subnet)\n",
              "filePath": "commands/arm/role/role.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--objectId <objectId>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--objectId",
                  "description": "Azure AD Objectid of the user, group or service principal"
                },
                {
                  "flags": "--signInName <signInName>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--signInName",
                  "description": "The email address or the user principal name of the user."
                },
                {
                  "flags": "--spn <spn>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--spn",
                  "description": "The ServicePrincipalName of the Azure AD application."
                },
                {
                  "flags": "-o --roleName <roleName>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--roleName",
                  "description": "The Name of the RBAC role that needs to be assigned to the principal i.e. Reader, Contributor, Virtual Network Administrator, etc."
                },
                {
                  "flags": "-d --roleId <roleId>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--roleId",
                  "description": "The Id of the RBAC role that needs to be assigned to the principal."
                },
                {
                  "flags": "-c --scope <scope>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--scope",
                  "description": "The Scope of the role assignment. In the format of relative URI. For e.g. \"/subscriptions/9004a9fd-d58e-48dc-aeb2-4a4aec58606f/resourceGroups/TestRG\". If not specified, will create the role assignment at subscription level. If specified, it should start with \"/subscriptions/{id}\"."
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group name. Creates an assignment that is effective at the specified resource group. When used in conjunction with resource-name, resource-type and (optionally)parent parameters, the command constructs a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "-r --resource-type <resource-type>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--resource-type",
                  "description": "The resource type. For e.g. Microsoft.Network/virtualNetworks. Should only be used in conjunction with resource-name, resource-group and (optionally)parent parameters to construct a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "-u --resource-name <resource-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--resource-name",
                  "description": "The resource name. For e.g. storageaccountprod. Should only be used in conjunction with resource-type, resource-group and (optionally)parent parameters to construct a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "--parent <parent>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--parent",
                  "description": "The parent resource in the hierarchy of the resource specified using resource-name parameter. Must be used in conjunction with resource-name, resource-type and resource-group parameters to construct a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "Name or identifier of the subscription where the role assignment will be created."
                }
              ]
            },
            {
              "name": "list",
              "description": "Lists Azure RBAC role assignments at the specified scope. \n         By default it lists all role assignments in the selected Azure subscription. Use respective parameters to list assignments to a specific user, or to list assignments on a specific resource group or resource. \n         The Azure RBAC role that is assigned dictates what type of resources the user is allowed to manage in the scope, and what actions the user is allowed to perform on those resources. Use 'azure role list' or 'azure role show' commands to list actions that a given role allows. ",
              "fullName": "role assignment list",
              "usage": "[objectId] [signInName] [spn] [roleName] [roleId] [scope] [resource-group] [resource-type] [resource-name]\n\n           -----    Example 1   -------\n           azure role assignment list\n           List all role assignments in the subscription\n\n           -----    Example 2   -------\n           azure role assignment list --resource-group testRG --signInName john.doe@contoso.com -e\n           Gets all role assignments made to user john.doe@contoso.com  and the groups of which he is member  at the testRG scope or above.\n\n           -----    Example 3   -------\n           azure role assignment list --spn \"http://testapp1.com\"\n           Gets all role assignments of the specified service principal.\n\n           -----    Example 4   -------\n           azure role assignment list --scope \"/subscriptions/96231a05-34ce-4eb4-aa6a-70759cbb5e83/resourcegroups/rg1/providers/Microsoft.Web/sites/site1\"\n           Gets role assignments at the 'site1' website scope.\n",
              "filePath": "commands/arm/role/role.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--objectId <objectId>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--objectId",
                  "description": "The Azure AD ObjectId of the User, Group or Service Principal. Filters all assignments that are made to the specified principal."
                },
                {
                  "flags": "--signInName <signInName>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--signInName",
                  "description": "The email address or the user principal name of the user. Filters all assignments that are made to the specified user."
                },
                {
                  "flags": "--spn <spn>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--spn",
                  "description": "The ServicePrincipalName of the service principal. Filters all assignments that are made to the specified Azure AD application."
                },
                {
                  "flags": "-o --roleName <roleName>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--roleName",
                  "description": "Name of the Role that is assigned to the principal i.e. Reader, Contributor, Virtual Network Administrator, etc."
                },
                {
                  "flags": "-d --roleId <roleId>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--roleId",
                  "description": "Id of the Role that is assigned to the principal"
                },
                {
                  "flags": "-c --scope <scope>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--scope",
                  "description": "The Scope of the role assignment. In the format of relative URI. For e.g. /subscriptions/9004a9fd-d58e-48dc-aeb2-4a4aec58606f/resourceGroups/TestRG. It must start with \"/subscriptions/{id}\". The command filters all assignments that are effective at that scope."
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group name. Lists role assignments that are effective at the specified resource group. When used in conjunction with resource-name, resource-type and (optionally)parent parameters, the command lists assignments effective at resources within the resource group."
                },
                {
                  "flags": "-r --resource-type <resource-type>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--resource-type",
                  "description": "The resource type. For e.g. Microsoft.Network/virtualNetworks. Must be used in conjunction with resource-name, resource-group and (optionally)parent parameters."
                },
                {
                  "flags": "-u --resource-name <resource-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--resource-name",
                  "description": "The resource name. For e.g. storageaccountprod. Must be used in conjunction with resource-group, resource-type and (optionally)parent parameters."
                },
                {
                  "flags": "--parent <parent>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--parent",
                  "description": "The parent resource in the hierarchy of the resource specified using --resource-name parameter. Must be used in conjunction with resource-name, resource-type and resource-group parameters."
                },
                {
                  "flags": "-e --expandPrincipalGroups",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--expandPrincipalGroups",
                  "description": "If specified, returns roles directly assigned to the user and to the groups of which the user is a member (transitively). Supported only for a user principal."
                },
                {
                  "flags": "-a --includeClassicAdministrators",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--includeClassicAdministrators",
                  "description": "If specified, also lists subscription classic administrators (co-admins, service admins, etc.) role assignments."
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "Name or identifier of the subscription to search the role assignments."
                }
              ]
            },
            {
              "name": "delete",
              "description": "Removes a role assignment to the specified principal who is assigned to a particular role at a particular scope. Use the 'azure role assignment list' command to retrieve assignments under the subscription",
              "fullName": "role assignment delete",
              "usage": "[objectId] [signInName] [spn] [roleName] [roleId] [scope] [resource-group] [resource-type] [resource-name]\n\n           -----    Example 1   -------\n           azure role assignment delete --resource-group testRG --signInName john.doe@contoso.com --roleName Reader\n           Removes a role assignment for john.doe@contoso.com who is assigned to the Reader role at the testRG resourcegroup scope\n\n           -----    Example 2   -------\n           azure role assignment delete --objectId 2f9d4375-cbf1-48e8-83c9-2a0be4cb33fb --roleName Reader\n           Removes the role assignment to the group principal identified by the ObjectId and assigned to the Reader role. Defaults to using the current subscription as the scope to find the assignment to be deleted.\n",
              "filePath": "commands/arm/role/role.assignment.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "--objectId <objectId>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "long": "--objectId",
                  "description": "Azure AD Objectid of the user, group or service principal"
                },
                {
                  "flags": "--signInName <signInName>",
                  "required": -14,
                  "optional": 0,
                  "bool": true,
                  "long": "--signInName",
                  "description": "The email address or the user principal name of the user."
                },
                {
                  "flags": "--spn <spn>",
                  "required": -7,
                  "optional": 0,
                  "bool": true,
                  "long": "--spn",
                  "description": "The ServicePrincipalName of the Azure AD application."
                },
                {
                  "flags": "-o --roleName <roleName>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-o",
                  "long": "--roleName",
                  "description": "The Name of the RBAC role for which the assignment needs to be deleted i.e. Reader, Contributor, Virtual Network   Administrator, etc."
                },
                {
                  "flags": "-d --roleId <roleId>",
                  "required": -13,
                  "optional": 0,
                  "bool": true,
                  "short": "-d",
                  "long": "--roleId",
                  "description": "The Id of the RBAC role for which the assignment needs to be deleted."
                },
                {
                  "flags": "-c --scope <scope>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--scope",
                  "description": "The Scope of the role assignment to be deleted. In the format of relative URI. For e.g. \"/subscriptions/9004a9fd-d58e-48dc-aeb2-4a4aec58606f/resourceGroups/TestRG\". If not specified, will attempt to delete the role assignment at subscription level. If specified, it should start with \"/subscriptions/{id}\"."
                },
                {
                  "flags": "-g --resource-group <resource-group>",
                  "required": -21,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "The resource group name. Attempts to delete an assignment at the specified resource group scope. When used in conjunction with resource-name, resource-type and (optionally)parent parameters, the command constructs a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "-r --resource-type <resource-type>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-r",
                  "long": "--resource-type",
                  "description": "The resource type. For e.g. Microsoft.Network/virtualNetworks. Should only be used in conjunction with resource-name, resource-group and (optionally)parent parameters to construct a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "-u --resource-name <resource-name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--resource-name",
                  "description": "The resource name. For e.g. storageaccountprod. Should only be used in conjunction with resource-type, resource-group and (optionally)parent parameters to construct a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "--parent <parent>",
                  "required": -10,
                  "optional": 0,
                  "bool": true,
                  "long": "--parent",
                  "description": "The parent resource in the hierarchy of the resource specified using --resource-name parameter, if any. Must be used in conjunction with resource-name, resource-type and resource-group parameters to construct a hierarchical scope in the form of a relative URI that identifies a resource."
                },
                {
                  "flags": "-q --quiet",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-q",
                  "long": "--quiet",
                  "description": "If specified, the command does not prompt for a confirmation before deleting the role assignment."
                },
                {
                  "flags": "--passthru",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--passthru",
                  "description": "If specified, displays the deleted role assignment"
                },
                {
                  "flags": "--subscription <subscription>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "long": "--subscription",
                  "description": "Name or identifier of the subscription to delete the role assignment"
                }
              ]
            }
          ],
          "categories": {
            "changelog": {
              "name": "changelog",
              "description": "Gets access change history for the selected subscription for the specified time range i.e. role assignments that were added or removed, including classic administrators (co-administrators and service administrators). Maximum duration that can be queried is 15 days (going back up to past 90 days).",
              "fullName": "role assignment changelog",
              "usage": "[options] [command]",
              "options": [],
              "commands": [
                {
                  "name": "list",
                  "description": "List all access changes",
                  "fullName": "role assignment changelog list",
                  "usage": "[-b startTime] [-e endTime]\n\n           -----    Example 1   -------\n           azure role assignment changelog list\n           Gets the access change logs for the past hour.\n\n           -----    Example 2   -------\n           azure role assignment changelog list -b \"09/20/2015 15:00\" -e \"09/24/2015 15:00\"\n           Gets all access change logs between the specified dates.\n",
                  "filePath": "commands/arm/role/role.assignment.audit.js",
                  "options": [
                    {
                      "flags": "-v, --verbose",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "short": "-v",
                      "long": "--verbose",
                      "description": "use verbose output"
                    },
                    {
                      "flags": "-vv",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "-vv",
                      "description": "more verbose with debug output"
                    },
                    {
                      "flags": "--json",
                      "required": 0,
                      "optional": 0,
                      "bool": true,
                      "long": "--json",
                      "description": "use json output"
                    },
                    {
                      "flags": "-b --startTime <startTime>",
                      "required": -16,
                      "optional": 0,
                      "bool": true,
                      "short": "-b",
                      "long": "--startTime",
                      "description": "The start time of the query. E.g. \"2015-08-29 15:30\". If both startTime and endTime are not specified, defaults to the last one hour. Maximum query interval supported is 15 days."
                    },
                    {
                      "flags": "-e --endTime <endTime>",
                      "required": -14,
                      "optional": 0,
                      "bool": true,
                      "short": "-e",
                      "long": "--endTime",
                      "description": "The end time of the query. E.g. \"2015-08-29 15:30\".If both startTime and endTime are not specified, defaults to the last one hour. Maximum query interval supported is 15 days."
                    },
                    {
                      "flags": "-s --subscription <subscription>",
                      "required": -19,
                      "optional": 0,
                      "bool": true,
                      "short": "-s",
                      "long": "--subscription",
                      "description": "Name or identifier of the subscription where the changelog is to be retrieved."
                    }
                  ]
                }
              ],
              "categories": {}
            }
          }
        }
      }
    },
    "servermanagement": {
      "name": "servermanagement",
      "description": "Commands to manage Azure Server Managment resources",
      "fullName": "servermanagement",
      "usage": "[options]",
      "options": [],
      "commands": [],
      "categories": {
        "gateway": {
          "name": "gateway",
          "description": "Commands to manage Azure Server Management Tools Gateway instances",
          "fullName": "servermanagement gateway",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a server management gateway",
              "fullName": "servermanagement gateway create",
              "usage": "[options] <resource-group> <location> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the server management gateway"
                },
                {
                  "flags": "-a --auto-upgrade",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-a",
                  "long": "--auto-upgrade",
                  "description": "set the gateway to automatically upgrade."
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                }
              ]
            },
            {
              "name": "list",
              "description": "List registered gateways",
              "fullName": "servermanagement gateway list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show detailed gateway information",
              "fullName": "servermanagement gateway show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the server management gateway"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a gateway",
              "fullName": "servermanagement gateway delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the server management gateway"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "node": {
          "name": "node",
          "description": "Commands to manage Azure Server Management Tools Node instances",
          "fullName": "servermanagement node",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a server management node",
              "fullName": "servermanagement node create",
              "usage": "[options] <resource-group> <location> <gateway-name> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-l, --location <location>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-l",
                  "long": "--location",
                  "description": "the location"
                },
                {
                  "flags": "-w, --gateway-name <name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-w",
                  "long": "--gateway-name",
                  "description": "the name of the server management gateway"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-u, --user-name <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--user-name",
                  "description": "the account user name to use to connect to the node"
                },
                {
                  "flags": "-p, --password <name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "the account password to use to connect to the node"
                },
                {
                  "flags": "-c, --connection-name <name>",
                  "required": -23,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--connection-name",
                  "description": "the connection name of the server management node (host name)"
                },
                {
                  "flags": "-t, --tags <tags>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-t",
                  "long": "--tags",
                  "description": "the list of tags.\n     Can be multiple. In the format of \"name=value\".\n     Name is required and value is optional.\n     For example, -t \"tag1=value1;tag2\""
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "list",
              "description": "List registered nodes",
              "fullName": "servermanagement node list",
              "usage": "[options] [resource-group]",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show node information",
              "fullName": "servermanagement node show",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a node",
              "fullName": "servermanagement node delete",
              "usage": "[options] <resource-group> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "session": {
          "name": "session",
          "description": "Commands to manage Azure Server Management Tools Sessions",
          "fullName": "servermanagement session",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a server management session",
              "fullName": "servermanagement session create",
              "usage": "[options] <resource-group> <node-name> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --node-name <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--node-name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the session on the node"
                },
                {
                  "flags": "-u, --user-name <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-u",
                  "long": "--user-name",
                  "description": "the account user name to use to connect to the node"
                },
                {
                  "flags": "-p, --password <name>",
                  "required": -16,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--password",
                  "description": "the account password to use to connect to the node"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "show",
              "description": "Show detailed session information",
              "fullName": "servermanagement session show",
              "usage": "[options] <resource-group> <node-name> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --node-name <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--node-name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the session on the node"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "delete",
              "description": "Delete a session",
              "fullName": "servermanagement session delete",
              "usage": "[options] <resource-group> <node-name> <name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --node-name <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--node-name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-n, --name <name>",
                  "required": -12,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--name",
                  "description": "the name of the session on the node"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        },
        "powershell": {
          "name": "powershell",
          "description": "Commands to invoke powershelll commands on a Azure Server Management Tools node",
          "fullName": "servermanagement powershell",
          "usage": "[options] [command]",
          "options": [],
          "commands": [
            {
              "name": "create",
              "description": "Create a powershell session",
              "fullName": "servermanagement powershell create",
              "usage": "[options] <resource-group> <node-name> <session-name>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --node-name <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--node-name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-e, --session-name <name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--session-name",
                  "description": "the name of the session on the node"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            },
            {
              "name": "invoke",
              "description": "Invoke a powershell script on a session",
              "fullName": "servermanagement powershell invoke",
              "usage": "[options] <resource-group> <node-name> <session-name> <powershell-sessionid>",
              "filePath": "commands/arm/servermanagement/servermanagement.js",
              "options": [
                {
                  "flags": "-v, --verbose",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "short": "-v",
                  "long": "--verbose",
                  "description": "use verbose output"
                },
                {
                  "flags": "-vv",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "-vv",
                  "description": "more verbose with debug output"
                },
                {
                  "flags": "--json",
                  "required": 0,
                  "optional": 0,
                  "bool": true,
                  "long": "--json",
                  "description": "use json output"
                },
                {
                  "flags": "-g, --resource-group <resource-group>",
                  "required": -22,
                  "optional": 0,
                  "bool": true,
                  "short": "-g",
                  "long": "--resource-group",
                  "description": "the name of the resource group"
                },
                {
                  "flags": "-n, --node-name <name>",
                  "required": -17,
                  "optional": 0,
                  "bool": true,
                  "short": "-n",
                  "long": "--node-name",
                  "description": "the name of the server management node"
                },
                {
                  "flags": "-e, --session-name <name>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-e",
                  "long": "--session-name",
                  "description": "the name of the session on the node"
                },
                {
                  "flags": "-p, --powershell-session-id <id>",
                  "required": -29,
                  "optional": 0,
                  "bool": true,
                  "short": "-p",
                  "long": "--powershell-session-id",
                  "description": "the id of the powershell session on the node"
                },
                {
                  "flags": "-c, --command <command>",
                  "required": -15,
                  "optional": 0,
                  "bool": true,
                  "short": "-c",
                  "long": "--command",
                  "description": "the powershell command or script to invoke"
                },
                {
                  "flags": "-s, --subscription <subscription>",
                  "required": -20,
                  "optional": 0,
                  "bool": true,
                  "short": "-s",
                  "long": "--subscription",
                  "description": "the subscription identifier"
                }
              ]
            }
          ],
          "categories": {}
        }
      }
    },
    "tag": {
      "name": "tag",
      "description": "Commands to manage your resource manager tags",
      "fullName": "tag",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "add a tag",
          "fullName": "tag create",
          "usage": "[options] <name> <value>",
          "filePath": "commands/arm/tag/tag.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the tag. If the tag name doesn't exist, create the tag name; Otherwise, add the value to the existing tag name."
            },
            {
              "flags": "--value <value>",
              "required": -9,
              "optional": 0,
              "bool": true,
              "long": "--value",
              "description": "Value of the tag. If specified, add the tag value to the tag name; Otherwise, keep the tag values unchanged."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "The subscription identifier."
            }
          ]
        },
        {
          "name": "delete",
          "description": "Remove an entire tag or a tag value",
          "fullName": "tag delete",
          "usage": "[options] <name> <value>",
          "filePath": "commands/arm/tag/tag.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "Name of the tag to remove."
            },
            {
              "flags": "--value <value>",
              "required": -9,
              "optional": 0,
              "bool": true,
              "long": "--value",
              "description": "Value of the tag to remove. If not specified, remove the entire tag. If specified, only remove the tag value."
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "If not specified, will prompt for confirmation. If specified, won't prompt."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "The subscription identifier."
            }
          ]
        },
        {
          "name": "list",
          "description": "Lists the tag information",
          "fullName": "tag list",
          "usage": "[options]",
          "filePath": "commands/arm/tag/tag.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-d, --details",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-d",
              "long": "--details",
              "description": "Show tag values information as well."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "The subscription identifier."
            }
          ]
        },
        {
          "name": "show",
          "description": "Get a tag",
          "fullName": "tag show",
          "usage": "[options] [name]",
          "filePath": "commands/arm/tag/tag.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-n, --name <name>",
              "required": -12,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "The tag name."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "The subscription identifier."
            }
          ]
        }
      ],
      "categories": {}
    },
    "usage": {
      "name": "usage",
      "description": "Command to view your aggregated Azure usage data",
      "fullName": "usage",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "list",
          "description": "List the usage aggregates for a provided time range",
          "fullName": "usage list",
          "usage": "[options] [reportedStartTime] [reportedEndTime]",
          "filePath": "commands/arm/usage/usage.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "--reportedStartTime <datetime>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "long": "--reportedStartTime",
              "description": "The start of the time range to retrieve data for, in UTC format."
            },
            {
              "flags": "--reportedEndTime <datetime>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "long": "--reportedEndTime",
              "description": "The end of the time range to retrieve data for, in UTC format."
            },
            {
              "flags": "--granularity <daily/hourly>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "long": "--granularity",
              "description": "Value is either daily (default) or hourly to tell the API how to return the results grouped by day or hour."
            },
            {
              "flags": "--showDetails <bool>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "long": "--showDetails",
              "description": "When set to true (default), the aggregates are broken down into the instance metadata which is more granular."
            },
            {
              "flags": "--continuationToken <url>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "long": "--continuationToken",
              "description": "Retrieved from previous calls, this is the bookmark used for progress when the responses are paged."
            },
            {
              "flags": "--subscription <subscription>",
              "required": -16,
              "optional": 0,
              "bool": true,
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    },
    "webapp": {
      "name": "webapp",
      "description": "Commands to manage your Azure webapps",
      "fullName": "webapp",
      "usage": "[options] [command]",
      "options": [],
      "commands": [
        {
          "name": "create",
          "description": "create a web app",
          "fullName": "webapp create",
          "usage": "[options] <resource-group> <name> <location> <plan>",
          "filePath": "commands/arm/webapp/webapp.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the resource group"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the name of the webapp to create"
            },
            {
              "flags": "--slot <slot>",
              "required": -8,
              "optional": 0,
              "bool": true,
              "long": "--slot",
              "description": "the name of the slot"
            },
            {
              "flags": "-l --location <location>",
              "required": -15,
              "optional": 0,
              "bool": true,
              "short": "-l",
              "long": "--location",
              "description": "the geographic region to create the webapp"
            },
            {
              "flags": "-p --plan <plan>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-p",
              "long": "--plan",
              "description": "the name of the app service plan eg: Default1."
            },
            {
              "flags": "-s, --subscription <id>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "stop",
          "description": "Stop a web app",
          "fullName": "webapp stop",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/webapp/webapp.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the name of the resource group"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the name of the webapp to stop"
            },
            {
              "flags": "--slot <slot>",
              "required": -8,
              "optional": 0,
              "bool": true,
              "long": "--slot",
              "description": "the name of the slot"
            },
            {
              "flags": "-s, --subscription <id>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription id"
            }
          ]
        },
        {
          "name": "start",
          "description": "Start a web app",
          "fullName": "webapp start",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/webapp/webapp.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the name of the resource group"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the name of the webapp to start"
            },
            {
              "flags": "--slot <slot>",
              "required": -8,
              "optional": 0,
              "bool": true,
              "long": "--slot",
              "description": "the name of the slot"
            },
            {
              "flags": "-s, --subscription <id>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription id"
            }
          ]
        },
        {
          "name": "restart",
          "description": "Stop and then start a web app",
          "fullName": "webapp restart",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/webapp/webapp.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the name of the resource group"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the name of the webapp to restart"
            },
            {
              "flags": "--slot <slot>",
              "required": -8,
              "optional": 0,
              "bool": true,
              "long": "--slot",
              "description": "the name of the slot"
            },
            {
              "flags": "-s, --subscription <id>",
              "required": -20,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription id"
            }
          ]
        },
        {
          "name": "delete",
          "description": "Delete a webapp",
          "fullName": "webapp delete",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/webapp/webapp.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "Name of the resource group"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the name of the webapp to delete"
            },
            {
              "flags": "--slot <slot>",
              "required": -8,
              "optional": 0,
              "bool": true,
              "long": "--slot",
              "description": "the name of the slot to be deleted"
            },
            {
              "flags": "-q, --quiet",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-q",
              "long": "--quiet",
              "description": "quiet mode, do not ask for delete confirmation"
            },
            {
              "flags": "-s --subscription <subscription>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "list",
          "description": "List your webapps",
          "fullName": "webapp list",
          "usage": "[options] <resource-group>",
          "filePath": "commands/arm/webapp/webapp.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the name of the resource group"
            },
            {
              "flags": "-s --subscription <subscription>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        },
        {
          "name": "show",
          "description": "Get an available webapp",
          "fullName": "webapp show",
          "usage": "[options] <resource-group> <name>",
          "filePath": "commands/arm/webapp/webapp.js",
          "options": [
            {
              "flags": "-v, --verbose",
              "required": 0,
              "optional": 0,
              "bool": true,
              "short": "-v",
              "long": "--verbose",
              "description": "use verbose output"
            },
            {
              "flags": "-vv",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "-vv",
              "description": "more verbose with debug output"
            },
            {
              "flags": "--json",
              "required": 0,
              "optional": 0,
              "bool": true,
              "long": "--json",
              "description": "use json output"
            },
            {
              "flags": "-g --resource-group <resource-group>",
              "required": -21,
              "optional": 0,
              "bool": true,
              "short": "-g",
              "long": "--resource-group",
              "description": "the name of the resource group"
            },
            {
              "flags": "-n --name <name>",
              "required": -11,
              "optional": 0,
              "bool": true,
              "short": "-n",
              "long": "--name",
              "description": "the name of the webapp to show"
            },
            {
              "flags": "--slot <slot>",
              "required": -8,
              "optional": 0,
              "bool": true,
              "long": "--slot",
              "description": "the name of the slot to show"
            },
            {
              "flags": "-s --subscription <subscription>",
              "required": -19,
              "optional": 0,
              "bool": true,
              "short": "-s",
              "long": "--subscription",
              "description": "the subscription identifier"
            }
          ]
        }
      ],
      "categories": {}
    }
  }
}