{
  "id": "@itentialopensource/adapter-azure_aks",
  "type": "Adapter",
  "export": "AzureAks",
  "title": "Azure_aks",
  "src": "adapter.js",
  "roles": [
    "admin"
  ],
  "methods": [
    {
      "name": "iapUpdateAdapterConfiguration",
      "summary": "Updates the adapter configuration",
      "description": "Updates the adapter configuration file with the provided changes",
      "input": [
        {
          "name": "configFile",
          "type": "string",
          "info": "The name of the file to change",
          "required": true,
          "schema": {
            "title": "configFile",
            "type": "string"
          }
        },
        {
          "name": "changes",
          "type": "object",
          "info": "JSON object containing the configuration changes",
          "required": true,
          "schema": {
            "title": "changes",
            "type": "object"
          }
        },
        {
          "name": "entity",
          "type": "string",
          "info": "The entity in which the changes are being made",
          "required": false,
          "schema": {
            "title": "entity",
            "type": "string"
          }
        },
        {
          "name": "type",
          "type": "string",
          "info": "The type of file to change - action, schema, or mock",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "action",
          "type": "string",
          "info": "The action to be changed",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        },
        {
          "name" : "replace",
          "type": "boolean",
          "info": "True to replace entire mock data, false to merge/append",
          "required": false,
          "schema": {
            "title": "replace",
            "type" : "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUpdateAdapterConfiguration"
      },
      "task": true
    },
    {
      "name": "iapSuspendAdapter",
      "summary": "Suspends the adapter",
      "description": "Suspends the adapter",
      "input": [
        {
          "name": "mode",
          "type": "enum",
          "enumerals": [
            "pause",
            "error"
          ],
          "info": "How incoming requests are handled. Defaults to 'pause'",
          "description": "How incoming requests are handled. Defaults to 'pause'",
          "schema": {
            "title": "mode",
            "type": "string"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapSuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapUnsuspendAdapter",
      "summary": "Unsuspends the adapter",
      "description": "Unsuspends the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUnsuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterQueue",
      "summary": "Return the requests that are waiting in the queue if throttling is enabled",
      "description": "Return the requests that are waiting in the queue if throttling is enabled",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter queue",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetAdapterQueue"
      },
      "task": true
    },
    {
      "name": "iapFindAdapterPath",
      "summary": "Provides the ability to see if a particular API path is supported by the adapter",
      "description": "Provides the ability to see if a particular API path is supported by the adapter",
      "input": [
        {
          "name": "apiPath",
          "type": "string",
          "info": "The API Path you want to check - make sure to not include base path and version",
          "description": "The API Path you want to check - make sure to not include base path and version",
          "schema": {
            "title": "apiPath",
            "type": "string"
          },
          "required": true
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapFindAdapterPath"
      },
      "task": true
    },
    {
      "name": "iapTroubleshootAdapter",
      "summary": "Runs troubleshoot script for adapter",
      "description": "Runs troubleshoot script for adapter",
      "input": [
        {
          "name": "props",
          "type": "object",
          "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
          "required": true,
          "schema": {
            "title": "props",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapTroubleshootAdapter"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterHealthcheck",
      "summary": "Runs healthcheck script for adapter",
      "description": "Runs healthcheck script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "Whether healthcheck passed or failed",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterHealthcheck"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterConnectivity",
      "summary": "Runs connectivity check script for adapter",
      "description": "Runs connectivity check script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterConnectivity"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterBasicGet",
      "summary": "Runs basicGet script for adapter",
      "description": "Runs basicGet script for adapter",
      "input": [
        {
          "name": "maxCalls",
          "required": false,
          "type": "number", 
          "info": "How many GET endpoints to test (defaults to 5)",
          "schema": {
            "title": "maxCalls",
            "type": "number", 
            "default": 5
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterBasicGet"
      },
      "task": true
    },
    {
      "name": "iapMoveAdapterEntitiesToDB",
      "summary": "Moves entities from an adapter into the Itential Platform database",
      "description": "Moves entities from an adapter into the Itential Platform database",
      "input": [],
      "output": {
        "name": "res",
        "type": "object",
        "description": "A JSON Object containing status, code and the response from the mongo transaction",
        "schema": {
          "title": "res",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapMoveAdapterEntitiesToDB"
      },
      "task": true
    },
    {
      "name": "iapDeactivateTasks",
      "summary": "Deactivate the inputted tasks",
      "description": "Deactivate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to deactivate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapDeactivateTasks"
      },
      "task": true
    },
    {
      "name": "iapActivateTasks",
      "summary": "Activate the inputted tasks",
      "description": "activate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to activate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapActivateTasks"
      },
      "task": true
    },
    {
      "name": "iapPopulateEntityCache",
      "summary": "Populate the cache for the given entities",
      "description": "Populate the cache for the given entities",
      "input": [
        {
          "name": "entityTypes",
          "type": "array",
          "info": "the entity type(s) to populate",
          "required": true,
          "schema": {
            "title": "entityTypes",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapPopulateEntityCache"
      },
      "task": true
    },
    {
      "name": "iapRetrieveEntitiesCache",
      "summary": "Retrieves data from cache for specified entity type",
      "description": "Retrieves data from cache for specified entity type",
      "input": [
        {
          "name": "entityType",
          "type": "string",
          "info": "entity of which to retrieve",
          "required": true,
          "schema": {
            "title": "entityType",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "settings of which data to return and how to return it",
          "required": false,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRetrieveEntitiesCache"
      },
      "task": true
    },
    {
      "name": "getDevice",
      "summary": "Get the Appliance",
      "description": "Get the Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevice"
      },
      "task": false
    },
    {
      "name": "getDevicesFiltered",
      "summary": "Get Appliances that match the filter",
      "description": "Get Appliances that match the filter",
      "input": [
        {
          "name": "options",
          "type": "object",
          "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
          "required": true,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "array",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "array"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevicesFiltered"
      },
      "task": false
    },
    {
      "name": "isAlive",
      "summary": "Checks the status for the provided Appliance",
      "description": "Checks the status for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/isAlive"
      },
      "task": false
    },
    {
      "name": "getConfig",
      "summary": "Gets a config for the provided Appliance",
      "description": "Gets a config for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The format to be returned - this is ignored as we always return json",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getConfig"
      },
      "task": false
    },
    {
      "name": "iapGetDeviceCount",
      "summary": "Gets a device count from the system",
      "description": "Gets a device count from the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetDeviceCount"
      },
      "task": false
    },
    {
      "name": "iapExpandedGenericAdapterRequest",
      "summary": "Makes the requested generic call with additional options",
      "description": "Makes the requested generic call with additional options via metadata",
      "input": [
        {
          "name": "metadata",
          "type": "object",
          "info": "metadata for the call (optional)",
          "description": "metadata for the call - allows for many enhancements (optional)",
          "schema": {
            "title": "metadata",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "pathVars",
          "type": "object",
          "info": "the parameters to be put within the url path (optional)",
          "description": "the parameters to be put within the url path (optional)",
          "schema": {
            "title": "pathVars",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapExpandedGenericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequest",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequestNoBasePath",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequestNoBasePath"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterLint",
      "summary": "Run the adapter lint script to return the results",
      "description": "Run the adapter lint script to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "string",
        "description": "A string containing the run results",
        "schema": {
          "title": "result",
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterLint"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterTests",
      "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
      "description": "Run the adapter test scripts (baseunit and unit) to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterTests"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterInventory",
      "summary": "Provide inventory information abbout the adapter",
      "description": "Provide inventory information abbout the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapGetAdapterInventory"
      },
      "task": true
    },
    {
      "name": "operationsList",
      "summary": "Gets a list of compute operations.",
      "description": "Gets a list of compute operations.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The List Compute Operation operation response.",
          "properties": {
            "value": {
              "description": "The list of compute operations",
              "items": {
                "description": "Describes the properties of a Compute Operation value.",
                "properties": {
                  "display": {
                    "description": "Describes the properties of a Compute Operation Value Display.",
                    "x-ms-client-flatten": true,
                    "body": {
                      "description": "Describes the properties of a Compute Operation Value Display.",
                      "properties": {
                        "description": {
                          "description": "The description of the operation.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "operation": {
                          "description": "The display name of the compute operation.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "provider": {
                          "description": "The resource provider for the operation.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "resource": {
                          "description": "The display name of the resource the operation applies to.",
                          "readOnly": true,
                          "type": "string"
                        }
                      }
                    }
                  },
                  "name": {
                    "description": "The name of the compute operation.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "origin": {
                    "description": "The origin of the compute operation.",
                    "readOnly": true,
                    "type": "string"
                  }
                }
              },
              "readOnly": true,
              "type": "array"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/operationsList"
      },
      "task": true
    },
    {
      "name": "managedClustersList",
      "summary": "Gets a list of managed clusters in the specified subscription.",
      "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The response from the List Managed Clusters operation.",
          "properties": {
            "nextLink": {
              "description": "The URL to get the next set of managed cluster results.",
              "readOnly": true,
              "type": "string"
            },
            "value": {
              "description": "The list of managed clusters.",
              "items": {
                "allOf": [
                  {
                    "description": "The Resource model definition.",
                    "properties": {
                      "id": {
                        "description": "Resource Id",
                        "readOnly": true,
                        "type": "string"
                      },
                      "location": {
                        "description": "Resource location",
                        "type": "string",
                        "x-ms-mutability": [
                          "read",
                          "create"
                        ]
                      },
                      "name": {
                        "description": "Resource name",
                        "readOnly": true,
                        "type": "string"
                      },
                      "tags": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Resource tags",
                        "type": "object"
                      },
                      "type": {
                        "description": "Resource type",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "required": [
                      "location"
                    ],
                    "x-ms-azure-resource": true
                  },
                  {
                    "properties": {
                      "identity": {
                        "description": "The identity of the managed cluster, if configured.",
                        "body": {
                          "description": "Identity for the managed cluster.",
                          "properties": {
                            "principalId": {
                              "description": "The principal id of the system assigned identity which is used by master components.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "tenantId": {
                              "description": "The tenant id of the system assigned identity which is used by master components.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "type": {
                              "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
                              "enum": [
                                "SystemAssigned",
                                "None"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": false,
                                "name": "ResourceIdentityType"
                              }
                            }
                          }
                        }
                      },
                      "properties": {
                        "description": "Properties of a managed cluster.",
                        "x-ms-client-flatten": true,
                        "body": {
                          "description": "Properties of the managed cluster.",
                          "properties": {
                            "aadProfile": {
                              "description": "Profile of Azure Active Directory configuration.",
                              "body": {
                                "description": "AADProfile specifies attributes for Azure Active Directory integration.",
                                "properties": {
                                  "clientAppID": {
                                    "description": "The client AAD application ID.",
                                    "type": "string"
                                  },
                                  "serverAppID": {
                                    "description": "The server AAD application ID.",
                                    "type": "string"
                                  },
                                  "serverAppSecret": {
                                    "description": "The server AAD application secret.",
                                    "type": "string"
                                  },
                                  "tenantID": {
                                    "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "clientAppID",
                                  "serverAppID"
                                ]
                              }
                            },
                            "addonProfiles": {
                              "additionalProperties": {
                                "description": "A Kubernetes add-on profile for a managed cluster.",
                                "properties": {
                                  "config": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "description": "Key-value pairs for configuring an add-on."
                                  },
                                  "enabled": {
                                    "description": "Whether the add-on is enabled or not.",
                                    "type": "boolean"
                                  },
                                  "identity": {
                                    "allOf": [
                                      {
                                        "properties": {
                                          "clientId": {
                                            "description": "The client id of the user assigned identity.",
                                            "type": "string"
                                          },
                                          "objectId": {
                                            "description": "The object id of the user assigned identity.",
                                            "type": "string"
                                          },
                                          "resourceId": {
                                            "description": "The resource id of the user assigned identity.",
                                            "type": "string"
                                          }
                                        }
                                      }
                                    ],
                                    "description": "Information of user assigned identity used by this add-on.",
                                    "readOnly": true
                                  }
                                },
                                "required": [
                                  "enabled"
                                ]
                              },
                              "description": "Profile of managed cluster add-on."
                            },
                            "agentPoolProfiles": {
                              "description": "Properties of the agent pool.",
                              "items": {
                                "allOf": [
                                  {
                                    "description": "Properties for the container service agent pool profile.",
                                    "properties": {
                                      "availabilityZones": {
                                        "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "count": {
                                        "default": 1,
                                        "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                        "maximum": 100,
                                        "minimum": 1,
                                        "type": "integer"
                                      },
                                      "enableAutoScaling": {
                                        "description": "Whether to enable auto-scaler",
                                        "type": "boolean"
                                      },
                                      "enableNodePublicIP": {
                                        "description": "Enable public IP for nodes",
                                        "type": "boolean"
                                      },
                                      "maxCount": {
                                        "description": "Maximum number of nodes for auto-scaling",
                                        "type": "integer"
                                      },
                                      "maxPods": {
                                        "description": "Maximum number of pods that can run on a node.",
                                        "type": "integer"
                                      },
                                      "minCount": {
                                        "description": "Minimum number of nodes for auto-scaling",
                                        "type": "integer"
                                      },
                                      "nodeLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                                        "type": "object"
                                      },
                                      "nodeTaints": {
                                        "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "orchestratorVersion": {
                                        "description": "Version of orchestrator specified when creating the managed cluster.",
                                        "type": "string"
                                      },
                                      "osDiskSizeGB": {
                                        "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                        "body": {
                                          "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                          "maximum": 1023,
                                          "minimum": 0,
                                          "type": "integer"
                                        }
                                      },
                                      "osType": {
                                        "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                        "body": {
                                          "default": "Linux",
                                          "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                          "enum": [
                                            "Linux",
                                            "Windows"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "OSType"
                                          }
                                        }
                                      },
                                      "provisioningState": {
                                        "description": "The current deployment or provisioning state, which only appears in the response.",
                                        "readOnly": true,
                                        "type": "string"
                                      },
                                      "scaleSetEvictionPolicy": {
                                        "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                        "body": {
                                          "default": "Delete",
                                          "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                          "enum": [
                                            "Delete",
                                            "Deallocate"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "ScaleSetEvictionPolicy"
                                          }
                                        }
                                      },
                                      "scaleSetPriority": {
                                        "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                        "body": {
                                          "default": "Regular",
                                          "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                          "enum": [
                                            "Low",
                                            "Regular"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "ScaleSetPriority"
                                          }
                                        }
                                      },
                                      "tags": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                                        "type": "object"
                                      },
                                      "type": {
                                        "description": "AgentPoolType represents types of an agent pool",
                                        "body": {
                                          "description": "AgentPoolType represents types of an agent pool.",
                                          "enum": [
                                            "VirtualMachineScaleSets",
                                            "AvailabilitySet"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "AgentPoolType"
                                          }
                                        }
                                      },
                                      "vmSize": {
                                        "description": "Size of agent VMs.",
                                        "body": {
                                          "description": "Size of agent VMs.",
                                          "enum": [
                                            "Standard_A1",
                                            "Standard_A10",
                                            "Standard_A11",
                                            "Standard_A1_v2",
                                            "Standard_A2",
                                            "Standard_A2_v2",
                                            "Standard_A2m_v2",
                                            "Standard_A3",
                                            "Standard_A4",
                                            "Standard_A4_v2",
                                            "Standard_A4m_v2",
                                            "Standard_A5",
                                            "Standard_A6",
                                            "Standard_A7",
                                            "Standard_A8",
                                            "Standard_A8_v2",
                                            "Standard_A8m_v2",
                                            "Standard_A9",
                                            "Standard_B2ms",
                                            "Standard_B2s",
                                            "Standard_B4ms",
                                            "Standard_B8ms",
                                            "Standard_D1",
                                            "Standard_D11",
                                            "Standard_D11_v2",
                                            "Standard_D11_v2_Promo",
                                            "Standard_D12",
                                            "Standard_D12_v2",
                                            "Standard_D12_v2_Promo",
                                            "Standard_D13",
                                            "Standard_D13_v2",
                                            "Standard_D13_v2_Promo",
                                            "Standard_D14",
                                            "Standard_D14_v2",
                                            "Standard_D14_v2_Promo",
                                            "Standard_D15_v2",
                                            "Standard_D16_v3",
                                            "Standard_D16s_v3",
                                            "Standard_D1_v2",
                                            "Standard_D2",
                                            "Standard_D2_v2",
                                            "Standard_D2_v2_Promo",
                                            "Standard_D2_v3",
                                            "Standard_D2s_v3",
                                            "Standard_D3",
                                            "Standard_D32_v3",
                                            "Standard_D32s_v3",
                                            "Standard_D3_v2",
                                            "Standard_D3_v2_Promo",
                                            "Standard_D4",
                                            "Standard_D4_v2",
                                            "Standard_D4_v2_Promo",
                                            "Standard_D4_v3",
                                            "Standard_D4s_v3",
                                            "Standard_D5_v2",
                                            "Standard_D5_v2_Promo",
                                            "Standard_D64_v3",
                                            "Standard_D64s_v3",
                                            "Standard_D8_v3",
                                            "Standard_D8s_v3",
                                            "Standard_DS1",
                                            "Standard_DS11",
                                            "Standard_DS11_v2",
                                            "Standard_DS11_v2_Promo",
                                            "Standard_DS12",
                                            "Standard_DS12_v2",
                                            "Standard_DS12_v2_Promo",
                                            "Standard_DS13",
                                            "Standard_DS13-2_v2",
                                            "Standard_DS13-4_v2",
                                            "Standard_DS13_v2",
                                            "Standard_DS13_v2_Promo",
                                            "Standard_DS14",
                                            "Standard_DS14-4_v2",
                                            "Standard_DS14-8_v2",
                                            "Standard_DS14_v2",
                                            "Standard_DS14_v2_Promo",
                                            "Standard_DS15_v2",
                                            "Standard_DS1_v2",
                                            "Standard_DS2",
                                            "Standard_DS2_v2",
                                            "Standard_DS2_v2_Promo",
                                            "Standard_DS3",
                                            "Standard_DS3_v2",
                                            "Standard_DS3_v2_Promo",
                                            "Standard_DS4",
                                            "Standard_DS4_v2",
                                            "Standard_DS4_v2_Promo",
                                            "Standard_DS5_v2",
                                            "Standard_DS5_v2_Promo",
                                            "Standard_E16_v3",
                                            "Standard_E16s_v3",
                                            "Standard_E2_v3",
                                            "Standard_E2s_v3",
                                            "Standard_E32-16s_v3",
                                            "Standard_E32-8s_v3",
                                            "Standard_E32_v3",
                                            "Standard_E32s_v3",
                                            "Standard_E4_v3",
                                            "Standard_E4s_v3",
                                            "Standard_E64-16s_v3",
                                            "Standard_E64-32s_v3",
                                            "Standard_E64_v3",
                                            "Standard_E64s_v3",
                                            "Standard_E8_v3",
                                            "Standard_E8s_v3",
                                            "Standard_F1",
                                            "Standard_F16",
                                            "Standard_F16s",
                                            "Standard_F16s_v2",
                                            "Standard_F1s",
                                            "Standard_F2",
                                            "Standard_F2s",
                                            "Standard_F2s_v2",
                                            "Standard_F32s_v2",
                                            "Standard_F4",
                                            "Standard_F4s",
                                            "Standard_F4s_v2",
                                            "Standard_F64s_v2",
                                            "Standard_F72s_v2",
                                            "Standard_F8",
                                            "Standard_F8s",
                                            "Standard_F8s_v2",
                                            "Standard_G1",
                                            "Standard_G2",
                                            "Standard_G3",
                                            "Standard_G4",
                                            "Standard_G5",
                                            "Standard_GS1",
                                            "Standard_GS2",
                                            "Standard_GS3",
                                            "Standard_GS4",
                                            "Standard_GS4-4",
                                            "Standard_GS4-8",
                                            "Standard_GS5",
                                            "Standard_GS5-16",
                                            "Standard_GS5-8",
                                            "Standard_H16",
                                            "Standard_H16m",
                                            "Standard_H16mr",
                                            "Standard_H16r",
                                            "Standard_H8",
                                            "Standard_H8m",
                                            "Standard_L16s",
                                            "Standard_L32s",
                                            "Standard_L4s",
                                            "Standard_L8s",
                                            "Standard_M128-32ms",
                                            "Standard_M128-64ms",
                                            "Standard_M128ms",
                                            "Standard_M128s",
                                            "Standard_M64-16ms",
                                            "Standard_M64-32ms",
                                            "Standard_M64ms",
                                            "Standard_M64s",
                                            "Standard_NC12",
                                            "Standard_NC12s_v2",
                                            "Standard_NC12s_v3",
                                            "Standard_NC24",
                                            "Standard_NC24r",
                                            "Standard_NC24rs_v2",
                                            "Standard_NC24rs_v3",
                                            "Standard_NC24s_v2",
                                            "Standard_NC24s_v3",
                                            "Standard_NC6",
                                            "Standard_NC6s_v2",
                                            "Standard_NC6s_v3",
                                            "Standard_ND12s",
                                            "Standard_ND24rs",
                                            "Standard_ND24s",
                                            "Standard_ND6s",
                                            "Standard_NV12",
                                            "Standard_NV24",
                                            "Standard_NV6"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "ContainerServiceVMSizeTypes"
                                          }
                                        }
                                      },
                                      "vnetSubnetID": {
                                        "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                        "body": {
                                          "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "required": [
                                      "vmSize",
                                      "count"
                                    ]
                                  },
                                  {
                                    "properties": {
                                      "name": {
                                        "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
                                        "pattern": "^[a-z][a-z0-9]{0,11}$",
                                        "type": "string"
                                      }
                                    }
                                  }
                                ],
                                "description": "Profile for the container service agent pool.",
                                "required": [
                                  "name"
                                ]
                              },
                              "type": "array"
                            },
                            "apiServerAccessProfile": {
                              "description": "Access profile for managed cluster API server.",
                              "body": {
                                "description": "Access profile for managed cluster API server.",
                                "properties": {
                                  "authorizedIPRanges": {
                                    "description": "Authorized IP Ranges to kubernetes API server.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "enablePrivateCluster": {
                                    "description": "Whether to create the cluster as a private cluster or not.",
                                    "type": "boolean"
                                  }
                                }
                              }
                            },
                            "diskEncryptionSetID": {
                              "description": "ResourceId of the disk encryption set to use for enabling encryption at rest.",
                              "type": "string"
                            },
                            "dnsPrefix": {
                              "description": "DNS prefix specified when creating the managed cluster.",
                              "type": "string"
                            },
                            "enablePodSecurityPolicy": {
                              "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy.",
                              "type": "boolean"
                            },
                            "enableRBAC": {
                              "description": "Whether to enable Kubernetes Role-Based Access Control.",
                              "type": "boolean"
                            },
                            "fqdn": {
                              "description": "FQDN for the master pool.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "identityProfile": {
                              "additionalProperties": {
                                "allOf": [
                                  {
                                    "properties": {
                                      "clientId": {
                                        "description": "The client id of the user assigned identity.",
                                        "type": "string"
                                      },
                                      "objectId": {
                                        "description": "The object id of the user assigned identity.",
                                        "type": "string"
                                      },
                                      "resourceId": {
                                        "description": "The resource id of the user assigned identity.",
                                        "type": "string"
                                      }
                                    }
                                  }
                                ],
                                "readOnly": true
                              },
                              "description": "Identities associated with the cluster."
                            },
                            "kubernetesVersion": {
                              "description": "Version of Kubernetes specified when creating the managed cluster.",
                              "type": "string"
                            },
                            "linuxProfile": {
                              "description": "Profile for Linux VMs in the container service cluster.",
                              "body": {
                                "description": "Profile for Linux VMs in the container service cluster.",
                                "properties": {
                                  "adminUsername": {
                                    "description": "The administrator username to use for Linux VMs.",
                                    "pattern": "^[A-Za-z][-A-Za-z0-9_]*$",
                                    "type": "string"
                                  },
                                  "ssh": {
                                    "description": "SSH configuration for Linux-based VMs running on Azure.",
                                    "body": {
                                      "description": "SSH configuration for Linux-based VMs running on Azure.",
                                      "properties": {
                                        "publicKeys": {
                                          "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.",
                                          "items": {
                                            "description": "Contains information about SSH certificate public key data.",
                                            "properties": {
                                              "keyData": {
                                                "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.",
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "keyData"
                                            ]
                                          },
                                          "type": "array"
                                        }
                                      },
                                      "required": [
                                        "publicKeys"
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "adminUsername",
                                  "ssh"
                                ]
                              }
                            },
                            "maxAgentPools": {
                              "description": "The max number of agent pools for the managed cluster.",
                              "readOnly": true,
                              "type": "integer"
                            },
                            "networkProfile": {
                              "description": "Profile of network configuration.",
                              "body": {
                                "description": "Profile of network configuration.",
                                "properties": {
                                  "dnsServiceIP": {
                                    "default": "10.0.0.10",
                                    "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.",
                                    "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
                                    "type": "string"
                                  },
                                  "dockerBridgeCidr": {
                                    "default": "172.17.0.1/16",
                                    "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.",
                                    "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                    "type": "string"
                                  },
                                  "loadBalancerProfile": {
                                    "description": "Profile of the cluster load balancer.",
                                    "body": {
                                      "description": "Profile of the managed cluster load balancer.",
                                      "properties": {
                                        "allocatedOutboundPorts": {
                                          "default": 0,
                                          "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
                                          "maximum": 64000,
                                          "minimum": 0,
                                          "type": "integer"
                                        },
                                        "effectiveOutboundIPs": {
                                          "description": "The effective outbound IP resources of the cluster load balancer.",
                                          "items": {
                                            "description": "A reference to an Azure resource.",
                                            "properties": {
                                              "id": {
                                                "description": "The fully qualified Azure resource id.",
                                                "type": "string"
                                              }
                                            }
                                          },
                                          "type": "array"
                                        },
                                        "idleTimeoutInMinutes": {
                                          "default": 30,
                                          "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
                                          "maximum": 120,
                                          "minimum": 4,
                                          "type": "integer"
                                        },
                                        "managedOutboundIPs": {
                                          "description": "Desired managed outbound IPs for the cluster load balancer.",
                                          "properties": {
                                            "count": {
                                              "default": 1,
                                              "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                              "maximum": 100,
                                              "minimum": 1,
                                              "type": "integer"
                                            }
                                          }
                                        },
                                        "outboundIPPrefixes": {
                                          "description": "Desired outbound IP Prefix resources for the cluster load balancer.",
                                          "properties": {
                                            "publicIPPrefixes": {
                                              "description": "A list of public IP prefix resources.",
                                              "items": {
                                                "description": "A reference to an Azure resource.",
                                                "properties": {
                                                  "id": {
                                                    "description": "The fully qualified Azure resource id.",
                                                    "type": "string"
                                                  }
                                                }
                                              },
                                              "type": "array"
                                            }
                                          }
                                        },
                                        "outboundIPs": {
                                          "description": "Desired outbound IP resources for the cluster load balancer.",
                                          "properties": {
                                            "publicIPs": {
                                              "description": "A list of public IP resources.",
                                              "items": {
                                                "description": "A reference to an Azure resource.",
                                                "properties": {
                                                  "id": {
                                                    "description": "The fully qualified Azure resource id.",
                                                    "type": "string"
                                                  }
                                                }
                                              },
                                              "type": "array"
                                            }
                                          }
                                        }
                                      }
                                    }
                                  },
                                  "loadBalancerSku": {
                                    "description": "The load balancer sku for the managed cluster.",
                                    "enum": [
                                      "standard",
                                      "basic"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "loadBalancerSku"
                                    }
                                  },
                                  "networkPlugin": {
                                    "default": "kubenet",
                                    "description": "Network plugin used for building Kubernetes network.",
                                    "enum": [
                                      "azure",
                                      "kubenet"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "NetworkPlugin"
                                    }
                                  },
                                  "networkPolicy": {
                                    "description": "Network policy used for building Kubernetes network.",
                                    "enum": [
                                      "calico",
                                      "azure"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "NetworkPolicy"
                                    }
                                  },
                                  "outboundType": {
                                    "default": "loadBalancer",
                                    "description": "The outbound (egress) routing method.",
                                    "enum": [
                                      "loadBalancer",
                                      "userDefinedRouting"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "outboundType"
                                    }
                                  },
                                  "podCidr": {
                                    "default": "10.244.0.0/16",
                                    "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.",
                                    "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                    "type": "string"
                                  },
                                  "serviceCidr": {
                                    "default": "10.0.0.0/16",
                                    "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.",
                                    "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "nodeResourceGroup": {
                              "description": "Name of the resource group containing agent pool nodes.",
                              "type": "string"
                            },
                            "privateFQDN": {
                              "description": "FQDN of private cluster.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "provisioningState": {
                              "description": "The current deployment or provisioning state, which only appears in the response.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "servicePrincipalProfile": {
                              "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                              "body": {
                                "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                                "properties": {
                                  "clientId": {
                                    "description": "The ID for the service principal.",
                                    "type": "string"
                                  },
                                  "secret": {
                                    "description": "The secret password associated with the service principal in plain text.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "clientId"
                                ]
                              }
                            },
                            "windowsProfile": {
                              "description": "Profile for Windows VMs in the container service cluster.",
                              "body": {
                                "description": "Profile for Windows VMs in the container service cluster.",
                                "properties": {
                                  "adminPassword": {
                                    "description": "The administrator password to use for Windows VMs.",
                                    "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$",
                                    "type": "string"
                                  },
                                  "adminUsername": {
                                    "description": "The administrator username to use for Windows VMs.",
                                    "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "adminUsername"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                ],
                "description": "Managed cluster."
              },
              "type": "array"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersList"
      },
      "task": true
    },
    {
      "name": "managedClustersListByResourceGroup",
      "summary": "Lists managed clusters in the specified subscription and resource group.",
      "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The response from the List Managed Clusters operation.",
          "properties": {
            "nextLink": {
              "description": "The URL to get the next set of managed cluster results.",
              "readOnly": true,
              "type": "string"
            },
            "value": {
              "description": "The list of managed clusters.",
              "items": {
                "allOf": [
                  {
                    "description": "The Resource model definition.",
                    "properties": {
                      "id": {
                        "description": "Resource Id",
                        "readOnly": true,
                        "type": "string"
                      },
                      "location": {
                        "description": "Resource location",
                        "type": "string",
                        "x-ms-mutability": [
                          "read",
                          "create"
                        ]
                      },
                      "name": {
                        "description": "Resource name",
                        "readOnly": true,
                        "type": "string"
                      },
                      "tags": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Resource tags",
                        "type": "object"
                      },
                      "type": {
                        "description": "Resource type",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "required": [
                      "location"
                    ],
                    "x-ms-azure-resource": true
                  },
                  {
                    "properties": {
                      "identity": {
                        "description": "The identity of the managed cluster, if configured.",
                        "body": {
                          "description": "Identity for the managed cluster.",
                          "properties": {
                            "principalId": {
                              "description": "The principal id of the system assigned identity which is used by master components.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "tenantId": {
                              "description": "The tenant id of the system assigned identity which is used by master components.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "type": {
                              "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
                              "enum": [
                                "SystemAssigned",
                                "None"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": false,
                                "name": "ResourceIdentityType"
                              }
                            }
                          }
                        }
                      },
                      "properties": {
                        "description": "Properties of a managed cluster.",
                        "x-ms-client-flatten": true,
                        "body": {
                          "description": "Properties of the managed cluster.",
                          "properties": {
                            "aadProfile": {
                              "description": "Profile of Azure Active Directory configuration.",
                              "body": {
                                "description": "AADProfile specifies attributes for Azure Active Directory integration.",
                                "properties": {
                                  "clientAppID": {
                                    "description": "The client AAD application ID.",
                                    "type": "string"
                                  },
                                  "serverAppID": {
                                    "description": "The server AAD application ID.",
                                    "type": "string"
                                  },
                                  "serverAppSecret": {
                                    "description": "The server AAD application secret.",
                                    "type": "string"
                                  },
                                  "tenantID": {
                                    "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "clientAppID",
                                  "serverAppID"
                                ]
                              }
                            },
                            "addonProfiles": {
                              "additionalProperties": {
                                "description": "A Kubernetes add-on profile for a managed cluster.",
                                "properties": {
                                  "config": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "description": "Key-value pairs for configuring an add-on."
                                  },
                                  "enabled": {
                                    "description": "Whether the add-on is enabled or not.",
                                    "type": "boolean"
                                  },
                                  "identity": {
                                    "allOf": [
                                      {
                                        "properties": {
                                          "clientId": {
                                            "description": "The client id of the user assigned identity.",
                                            "type": "string"
                                          },
                                          "objectId": {
                                            "description": "The object id of the user assigned identity.",
                                            "type": "string"
                                          },
                                          "resourceId": {
                                            "description": "The resource id of the user assigned identity.",
                                            "type": "string"
                                          }
                                        }
                                      }
                                    ],
                                    "description": "Information of user assigned identity used by this add-on.",
                                    "readOnly": true
                                  }
                                },
                                "required": [
                                  "enabled"
                                ]
                              },
                              "description": "Profile of managed cluster add-on."
                            },
                            "agentPoolProfiles": {
                              "description": "Properties of the agent pool.",
                              "items": {
                                "allOf": [
                                  {
                                    "description": "Properties for the container service agent pool profile.",
                                    "properties": {
                                      "availabilityZones": {
                                        "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "count": {
                                        "default": 1,
                                        "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                        "maximum": 100,
                                        "minimum": 1,
                                        "type": "integer"
                                      },
                                      "enableAutoScaling": {
                                        "description": "Whether to enable auto-scaler",
                                        "type": "boolean"
                                      },
                                      "enableNodePublicIP": {
                                        "description": "Enable public IP for nodes",
                                        "type": "boolean"
                                      },
                                      "maxCount": {
                                        "description": "Maximum number of nodes for auto-scaling",
                                        "type": "integer"
                                      },
                                      "maxPods": {
                                        "description": "Maximum number of pods that can run on a node.",
                                        "type": "integer"
                                      },
                                      "minCount": {
                                        "description": "Minimum number of nodes for auto-scaling",
                                        "type": "integer"
                                      },
                                      "nodeLabels": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                                        "type": "object"
                                      },
                                      "nodeTaints": {
                                        "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                                        "items": {
                                          "type": "string"
                                        },
                                        "type": "array"
                                      },
                                      "orchestratorVersion": {
                                        "description": "Version of orchestrator specified when creating the managed cluster.",
                                        "type": "string"
                                      },
                                      "osDiskSizeGB": {
                                        "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                        "body": {
                                          "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                          "maximum": 1023,
                                          "minimum": 0,
                                          "type": "integer"
                                        }
                                      },
                                      "osType": {
                                        "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                        "body": {
                                          "default": "Linux",
                                          "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                          "enum": [
                                            "Linux",
                                            "Windows"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "OSType"
                                          }
                                        }
                                      },
                                      "provisioningState": {
                                        "description": "The current deployment or provisioning state, which only appears in the response.",
                                        "readOnly": true,
                                        "type": "string"
                                      },
                                      "scaleSetEvictionPolicy": {
                                        "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                        "body": {
                                          "default": "Delete",
                                          "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                          "enum": [
                                            "Delete",
                                            "Deallocate"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "ScaleSetEvictionPolicy"
                                          }
                                        }
                                      },
                                      "scaleSetPriority": {
                                        "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                        "body": {
                                          "default": "Regular",
                                          "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                          "enum": [
                                            "Low",
                                            "Regular"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "ScaleSetPriority"
                                          }
                                        }
                                      },
                                      "tags": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                                        "type": "object"
                                      },
                                      "type": {
                                        "description": "AgentPoolType represents types of an agent pool",
                                        "body": {
                                          "description": "AgentPoolType represents types of an agent pool.",
                                          "enum": [
                                            "VirtualMachineScaleSets",
                                            "AvailabilitySet"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "AgentPoolType"
                                          }
                                        }
                                      },
                                      "vmSize": {
                                        "description": "Size of agent VMs.",
                                        "body": {
                                          "description": "Size of agent VMs.",
                                          "enum": [
                                            "Standard_A1",
                                            "Standard_A10",
                                            "Standard_A11",
                                            "Standard_A1_v2",
                                            "Standard_A2",
                                            "Standard_A2_v2",
                                            "Standard_A2m_v2",
                                            "Standard_A3",
                                            "Standard_A4",
                                            "Standard_A4_v2",
                                            "Standard_A4m_v2",
                                            "Standard_A5",
                                            "Standard_A6",
                                            "Standard_A7",
                                            "Standard_A8",
                                            "Standard_A8_v2",
                                            "Standard_A8m_v2",
                                            "Standard_A9",
                                            "Standard_B2ms",
                                            "Standard_B2s",
                                            "Standard_B4ms",
                                            "Standard_B8ms",
                                            "Standard_D1",
                                            "Standard_D11",
                                            "Standard_D11_v2",
                                            "Standard_D11_v2_Promo",
                                            "Standard_D12",
                                            "Standard_D12_v2",
                                            "Standard_D12_v2_Promo",
                                            "Standard_D13",
                                            "Standard_D13_v2",
                                            "Standard_D13_v2_Promo",
                                            "Standard_D14",
                                            "Standard_D14_v2",
                                            "Standard_D14_v2_Promo",
                                            "Standard_D15_v2",
                                            "Standard_D16_v3",
                                            "Standard_D16s_v3",
                                            "Standard_D1_v2",
                                            "Standard_D2",
                                            "Standard_D2_v2",
                                            "Standard_D2_v2_Promo",
                                            "Standard_D2_v3",
                                            "Standard_D2s_v3",
                                            "Standard_D3",
                                            "Standard_D32_v3",
                                            "Standard_D32s_v3",
                                            "Standard_D3_v2",
                                            "Standard_D3_v2_Promo",
                                            "Standard_D4",
                                            "Standard_D4_v2",
                                            "Standard_D4_v2_Promo",
                                            "Standard_D4_v3",
                                            "Standard_D4s_v3",
                                            "Standard_D5_v2",
                                            "Standard_D5_v2_Promo",
                                            "Standard_D64_v3",
                                            "Standard_D64s_v3",
                                            "Standard_D8_v3",
                                            "Standard_D8s_v3",
                                            "Standard_DS1",
                                            "Standard_DS11",
                                            "Standard_DS11_v2",
                                            "Standard_DS11_v2_Promo",
                                            "Standard_DS12",
                                            "Standard_DS12_v2",
                                            "Standard_DS12_v2_Promo",
                                            "Standard_DS13",
                                            "Standard_DS13-2_v2",
                                            "Standard_DS13-4_v2",
                                            "Standard_DS13_v2",
                                            "Standard_DS13_v2_Promo",
                                            "Standard_DS14",
                                            "Standard_DS14-4_v2",
                                            "Standard_DS14-8_v2",
                                            "Standard_DS14_v2",
                                            "Standard_DS14_v2_Promo",
                                            "Standard_DS15_v2",
                                            "Standard_DS1_v2",
                                            "Standard_DS2",
                                            "Standard_DS2_v2",
                                            "Standard_DS2_v2_Promo",
                                            "Standard_DS3",
                                            "Standard_DS3_v2",
                                            "Standard_DS3_v2_Promo",
                                            "Standard_DS4",
                                            "Standard_DS4_v2",
                                            "Standard_DS4_v2_Promo",
                                            "Standard_DS5_v2",
                                            "Standard_DS5_v2_Promo",
                                            "Standard_E16_v3",
                                            "Standard_E16s_v3",
                                            "Standard_E2_v3",
                                            "Standard_E2s_v3",
                                            "Standard_E32-16s_v3",
                                            "Standard_E32-8s_v3",
                                            "Standard_E32_v3",
                                            "Standard_E32s_v3",
                                            "Standard_E4_v3",
                                            "Standard_E4s_v3",
                                            "Standard_E64-16s_v3",
                                            "Standard_E64-32s_v3",
                                            "Standard_E64_v3",
                                            "Standard_E64s_v3",
                                            "Standard_E8_v3",
                                            "Standard_E8s_v3",
                                            "Standard_F1",
                                            "Standard_F16",
                                            "Standard_F16s",
                                            "Standard_F16s_v2",
                                            "Standard_F1s",
                                            "Standard_F2",
                                            "Standard_F2s",
                                            "Standard_F2s_v2",
                                            "Standard_F32s_v2",
                                            "Standard_F4",
                                            "Standard_F4s",
                                            "Standard_F4s_v2",
                                            "Standard_F64s_v2",
                                            "Standard_F72s_v2",
                                            "Standard_F8",
                                            "Standard_F8s",
                                            "Standard_F8s_v2",
                                            "Standard_G1",
                                            "Standard_G2",
                                            "Standard_G3",
                                            "Standard_G4",
                                            "Standard_G5",
                                            "Standard_GS1",
                                            "Standard_GS2",
                                            "Standard_GS3",
                                            "Standard_GS4",
                                            "Standard_GS4-4",
                                            "Standard_GS4-8",
                                            "Standard_GS5",
                                            "Standard_GS5-16",
                                            "Standard_GS5-8",
                                            "Standard_H16",
                                            "Standard_H16m",
                                            "Standard_H16mr",
                                            "Standard_H16r",
                                            "Standard_H8",
                                            "Standard_H8m",
                                            "Standard_L16s",
                                            "Standard_L32s",
                                            "Standard_L4s",
                                            "Standard_L8s",
                                            "Standard_M128-32ms",
                                            "Standard_M128-64ms",
                                            "Standard_M128ms",
                                            "Standard_M128s",
                                            "Standard_M64-16ms",
                                            "Standard_M64-32ms",
                                            "Standard_M64ms",
                                            "Standard_M64s",
                                            "Standard_NC12",
                                            "Standard_NC12s_v2",
                                            "Standard_NC12s_v3",
                                            "Standard_NC24",
                                            "Standard_NC24r",
                                            "Standard_NC24rs_v2",
                                            "Standard_NC24rs_v3",
                                            "Standard_NC24s_v2",
                                            "Standard_NC24s_v3",
                                            "Standard_NC6",
                                            "Standard_NC6s_v2",
                                            "Standard_NC6s_v3",
                                            "Standard_ND12s",
                                            "Standard_ND24rs",
                                            "Standard_ND24s",
                                            "Standard_ND6s",
                                            "Standard_NV12",
                                            "Standard_NV24",
                                            "Standard_NV6"
                                          ],
                                          "type": "string",
                                          "x-ms-enum": {
                                            "modelAsString": true,
                                            "name": "ContainerServiceVMSizeTypes"
                                          }
                                        }
                                      },
                                      "vnetSubnetID": {
                                        "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                        "body": {
                                          "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "required": [
                                      "vmSize",
                                      "count"
                                    ]
                                  },
                                  {
                                    "properties": {
                                      "name": {
                                        "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
                                        "pattern": "^[a-z][a-z0-9]{0,11}$",
                                        "type": "string"
                                      }
                                    }
                                  }
                                ],
                                "description": "Profile for the container service agent pool.",
                                "required": [
                                  "name"
                                ]
                              },
                              "type": "array"
                            },
                            "apiServerAccessProfile": {
                              "description": "Access profile for managed cluster API server.",
                              "body": {
                                "description": "Access profile for managed cluster API server.",
                                "properties": {
                                  "authorizedIPRanges": {
                                    "description": "Authorized IP Ranges to kubernetes API server.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "enablePrivateCluster": {
                                    "description": "Whether to create the cluster as a private cluster or not.",
                                    "type": "boolean"
                                  }
                                }
                              }
                            },
                            "diskEncryptionSetID": {
                              "description": "ResourceId of the disk encryption set to use for enabling encryption at rest.",
                              "type": "string"
                            },
                            "dnsPrefix": {
                              "description": "DNS prefix specified when creating the managed cluster.",
                              "type": "string"
                            },
                            "enablePodSecurityPolicy": {
                              "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy.",
                              "type": "boolean"
                            },
                            "enableRBAC": {
                              "description": "Whether to enable Kubernetes Role-Based Access Control.",
                              "type": "boolean"
                            },
                            "fqdn": {
                              "description": "FQDN for the master pool.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "identityProfile": {
                              "additionalProperties": {
                                "allOf": [
                                  {
                                    "properties": {
                                      "clientId": {
                                        "description": "The client id of the user assigned identity.",
                                        "type": "string"
                                      },
                                      "objectId": {
                                        "description": "The object id of the user assigned identity.",
                                        "type": "string"
                                      },
                                      "resourceId": {
                                        "description": "The resource id of the user assigned identity.",
                                        "type": "string"
                                      }
                                    }
                                  }
                                ],
                                "readOnly": true
                              },
                              "description": "Identities associated with the cluster."
                            },
                            "kubernetesVersion": {
                              "description": "Version of Kubernetes specified when creating the managed cluster.",
                              "type": "string"
                            },
                            "linuxProfile": {
                              "description": "Profile for Linux VMs in the container service cluster.",
                              "body": {
                                "description": "Profile for Linux VMs in the container service cluster.",
                                "properties": {
                                  "adminUsername": {
                                    "description": "The administrator username to use for Linux VMs.",
                                    "pattern": "^[A-Za-z][-A-Za-z0-9_]*$",
                                    "type": "string"
                                  },
                                  "ssh": {
                                    "description": "SSH configuration for Linux-based VMs running on Azure.",
                                    "body": {
                                      "description": "SSH configuration for Linux-based VMs running on Azure.",
                                      "properties": {
                                        "publicKeys": {
                                          "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.",
                                          "items": {
                                            "description": "Contains information about SSH certificate public key data.",
                                            "properties": {
                                              "keyData": {
                                                "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.",
                                                "type": "string"
                                              }
                                            },
                                            "required": [
                                              "keyData"
                                            ]
                                          },
                                          "type": "array"
                                        }
                                      },
                                      "required": [
                                        "publicKeys"
                                      ]
                                    }
                                  }
                                },
                                "required": [
                                  "adminUsername",
                                  "ssh"
                                ]
                              }
                            },
                            "maxAgentPools": {
                              "description": "The max number of agent pools for the managed cluster.",
                              "readOnly": true,
                              "type": "integer"
                            },
                            "networkProfile": {
                              "description": "Profile of network configuration.",
                              "body": {
                                "description": "Profile of network configuration.",
                                "properties": {
                                  "dnsServiceIP": {
                                    "default": "10.0.0.10",
                                    "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.",
                                    "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
                                    "type": "string"
                                  },
                                  "dockerBridgeCidr": {
                                    "default": "172.17.0.1/16",
                                    "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.",
                                    "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                    "type": "string"
                                  },
                                  "loadBalancerProfile": {
                                    "description": "Profile of the cluster load balancer.",
                                    "body": {
                                      "description": "Profile of the managed cluster load balancer.",
                                      "properties": {
                                        "allocatedOutboundPorts": {
                                          "default": 0,
                                          "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
                                          "maximum": 64000,
                                          "minimum": 0,
                                          "type": "integer"
                                        },
                                        "effectiveOutboundIPs": {
                                          "description": "The effective outbound IP resources of the cluster load balancer.",
                                          "items": {
                                            "description": "A reference to an Azure resource.",
                                            "properties": {
                                              "id": {
                                                "description": "The fully qualified Azure resource id.",
                                                "type": "string"
                                              }
                                            }
                                          },
                                          "type": "array"
                                        },
                                        "idleTimeoutInMinutes": {
                                          "default": 30,
                                          "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
                                          "maximum": 120,
                                          "minimum": 4,
                                          "type": "integer"
                                        },
                                        "managedOutboundIPs": {
                                          "description": "Desired managed outbound IPs for the cluster load balancer.",
                                          "properties": {
                                            "count": {
                                              "default": 1,
                                              "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                              "maximum": 100,
                                              "minimum": 1,
                                              "type": "integer"
                                            }
                                          }
                                        },
                                        "outboundIPPrefixes": {
                                          "description": "Desired outbound IP Prefix resources for the cluster load balancer.",
                                          "properties": {
                                            "publicIPPrefixes": {
                                              "description": "A list of public IP prefix resources.",
                                              "items": {
                                                "description": "A reference to an Azure resource.",
                                                "properties": {
                                                  "id": {
                                                    "description": "The fully qualified Azure resource id.",
                                                    "type": "string"
                                                  }
                                                }
                                              },
                                              "type": "array"
                                            }
                                          }
                                        },
                                        "outboundIPs": {
                                          "description": "Desired outbound IP resources for the cluster load balancer.",
                                          "properties": {
                                            "publicIPs": {
                                              "description": "A list of public IP resources.",
                                              "items": {
                                                "description": "A reference to an Azure resource.",
                                                "properties": {
                                                  "id": {
                                                    "description": "The fully qualified Azure resource id.",
                                                    "type": "string"
                                                  }
                                                }
                                              },
                                              "type": "array"
                                            }
                                          }
                                        }
                                      }
                                    }
                                  },
                                  "loadBalancerSku": {
                                    "description": "The load balancer sku for the managed cluster.",
                                    "enum": [
                                      "standard",
                                      "basic"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "loadBalancerSku"
                                    }
                                  },
                                  "networkPlugin": {
                                    "default": "kubenet",
                                    "description": "Network plugin used for building Kubernetes network.",
                                    "enum": [
                                      "azure",
                                      "kubenet"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "NetworkPlugin"
                                    }
                                  },
                                  "networkPolicy": {
                                    "description": "Network policy used for building Kubernetes network.",
                                    "enum": [
                                      "calico",
                                      "azure"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "NetworkPolicy"
                                    }
                                  },
                                  "outboundType": {
                                    "default": "loadBalancer",
                                    "description": "The outbound (egress) routing method.",
                                    "enum": [
                                      "loadBalancer",
                                      "userDefinedRouting"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "outboundType"
                                    }
                                  },
                                  "podCidr": {
                                    "default": "10.244.0.0/16",
                                    "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.",
                                    "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                    "type": "string"
                                  },
                                  "serviceCidr": {
                                    "default": "10.0.0.0/16",
                                    "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.",
                                    "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                    "type": "string"
                                  }
                                }
                              }
                            },
                            "nodeResourceGroup": {
                              "description": "Name of the resource group containing agent pool nodes.",
                              "type": "string"
                            },
                            "privateFQDN": {
                              "description": "FQDN of private cluster.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "provisioningState": {
                              "description": "The current deployment or provisioning state, which only appears in the response.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "servicePrincipalProfile": {
                              "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                              "body": {
                                "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                                "properties": {
                                  "clientId": {
                                    "description": "The ID for the service principal.",
                                    "type": "string"
                                  },
                                  "secret": {
                                    "description": "The secret password associated with the service principal in plain text.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "clientId"
                                ]
                              }
                            },
                            "windowsProfile": {
                              "description": "Profile for Windows VMs in the container service cluster.",
                              "body": {
                                "description": "Profile for Windows VMs in the container service cluster.",
                                "properties": {
                                  "adminPassword": {
                                    "description": "The administrator password to use for Windows VMs.",
                                    "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$",
                                    "type": "string"
                                  },
                                  "adminUsername": {
                                    "description": "The administrator username to use for Windows VMs.",
                                    "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "adminUsername"
                                ]
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                ],
                "description": "Managed cluster."
              },
              "type": "array"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersListByResourceGroup"
      },
      "task": true
    },
    {
      "name": "managedClustersDelete",
      "summary": "Deletes a managed cluster.",
      "description": "Deletes the managed cluster with a specified resource group and name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersDelete"
      },
      "task": true
    },
    {
      "name": "managedClustersGet",
      "summary": "Gets a managed cluster.",
      "description": "Gets the details of the managed cluster with a specified resource group and name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "allOf": [
            {
              "description": "The Resource model definition.",
              "properties": {
                "id": {
                  "description": "Resource Id",
                  "readOnly": true,
                  "type": "string"
                },
                "location": {
                  "description": "Resource location",
                  "type": "string",
                  "x-ms-mutability": [
                    "read",
                    "create"
                  ]
                },
                "name": {
                  "description": "Resource name",
                  "readOnly": true,
                  "type": "string"
                },
                "tags": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Resource tags",
                  "type": "object"
                },
                "type": {
                  "description": "Resource type",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "required": [
                "location"
              ],
              "x-ms-azure-resource": true
            },
            {
              "properties": {
                "identity": {
                  "description": "The identity of the managed cluster, if configured.",
                  "body": {
                    "description": "Identity for the managed cluster.",
                    "properties": {
                      "principalId": {
                        "description": "The principal id of the system assigned identity which is used by master components.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "tenantId": {
                        "description": "The tenant id of the system assigned identity which is used by master components.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "type": {
                        "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
                        "enum": [
                          "SystemAssigned",
                          "None"
                        ],
                        "type": "string",
                        "x-ms-enum": {
                          "modelAsString": false,
                          "name": "ResourceIdentityType"
                        }
                      }
                    }
                  }
                },
                "properties": {
                  "description": "Properties of a managed cluster.",
                  "x-ms-client-flatten": true,
                  "body": {
                    "description": "Properties of the managed cluster.",
                    "properties": {
                      "aadProfile": {
                        "description": "Profile of Azure Active Directory configuration.",
                        "body": {
                          "description": "AADProfile specifies attributes for Azure Active Directory integration.",
                          "properties": {
                            "clientAppID": {
                              "description": "The client AAD application ID.",
                              "type": "string"
                            },
                            "serverAppID": {
                              "description": "The server AAD application ID.",
                              "type": "string"
                            },
                            "serverAppSecret": {
                              "description": "The server AAD application secret.",
                              "type": "string"
                            },
                            "tenantID": {
                              "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientAppID",
                            "serverAppID"
                          ]
                        }
                      },
                      "addonProfiles": {
                        "additionalProperties": {
                          "description": "A Kubernetes add-on profile for a managed cluster.",
                          "properties": {
                            "config": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Key-value pairs for configuring an add-on."
                            },
                            "enabled": {
                              "description": "Whether the add-on is enabled or not.",
                              "type": "boolean"
                            },
                            "identity": {
                              "allOf": [
                                {
                                  "properties": {
                                    "clientId": {
                                      "description": "The client id of the user assigned identity.",
                                      "type": "string"
                                    },
                                    "objectId": {
                                      "description": "The object id of the user assigned identity.",
                                      "type": "string"
                                    },
                                    "resourceId": {
                                      "description": "The resource id of the user assigned identity.",
                                      "type": "string"
                                    }
                                  }
                                }
                              ],
                              "description": "Information of user assigned identity used by this add-on.",
                              "readOnly": true
                            }
                          },
                          "required": [
                            "enabled"
                          ]
                        },
                        "description": "Profile of managed cluster add-on."
                      },
                      "agentPoolProfiles": {
                        "description": "Properties of the agent pool.",
                        "items": {
                          "allOf": [
                            {
                              "description": "Properties for the container service agent pool profile.",
                              "properties": {
                                "availabilityZones": {
                                  "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "count": {
                                  "default": 1,
                                  "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                  "maximum": 100,
                                  "minimum": 1,
                                  "type": "integer"
                                },
                                "enableAutoScaling": {
                                  "description": "Whether to enable auto-scaler",
                                  "type": "boolean"
                                },
                                "enableNodePublicIP": {
                                  "description": "Enable public IP for nodes",
                                  "type": "boolean"
                                },
                                "maxCount": {
                                  "description": "Maximum number of nodes for auto-scaling",
                                  "type": "integer"
                                },
                                "maxPods": {
                                  "description": "Maximum number of pods that can run on a node.",
                                  "type": "integer"
                                },
                                "minCount": {
                                  "description": "Minimum number of nodes for auto-scaling",
                                  "type": "integer"
                                },
                                "nodeLabels": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                                  "type": "object"
                                },
                                "nodeTaints": {
                                  "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "orchestratorVersion": {
                                  "description": "Version of orchestrator specified when creating the managed cluster.",
                                  "type": "string"
                                },
                                "osDiskSizeGB": {
                                  "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                  "body": {
                                    "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                    "maximum": 1023,
                                    "minimum": 0,
                                    "type": "integer"
                                  }
                                },
                                "osType": {
                                  "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                  "body": {
                                    "default": "Linux",
                                    "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                    "enum": [
                                      "Linux",
                                      "Windows"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "OSType"
                                    }
                                  }
                                },
                                "provisioningState": {
                                  "description": "The current deployment or provisioning state, which only appears in the response.",
                                  "readOnly": true,
                                  "type": "string"
                                },
                                "scaleSetEvictionPolicy": {
                                  "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                  "body": {
                                    "default": "Delete",
                                    "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                    "enum": [
                                      "Delete",
                                      "Deallocate"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ScaleSetEvictionPolicy"
                                    }
                                  }
                                },
                                "scaleSetPriority": {
                                  "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                  "body": {
                                    "default": "Regular",
                                    "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                    "enum": [
                                      "Low",
                                      "Regular"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ScaleSetPriority"
                                    }
                                  }
                                },
                                "tags": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                                  "type": "object"
                                },
                                "type": {
                                  "description": "AgentPoolType represents types of an agent pool",
                                  "body": {
                                    "description": "AgentPoolType represents types of an agent pool.",
                                    "enum": [
                                      "VirtualMachineScaleSets",
                                      "AvailabilitySet"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "AgentPoolType"
                                    }
                                  }
                                },
                                "vmSize": {
                                  "description": "Size of agent VMs.",
                                  "body": {
                                    "description": "Size of agent VMs.",
                                    "enum": [
                                      "Standard_A1",
                                      "Standard_A10",
                                      "Standard_A11",
                                      "Standard_A1_v2",
                                      "Standard_A2",
                                      "Standard_A2_v2",
                                      "Standard_A2m_v2",
                                      "Standard_A3",
                                      "Standard_A4",
                                      "Standard_A4_v2",
                                      "Standard_A4m_v2",
                                      "Standard_A5",
                                      "Standard_A6",
                                      "Standard_A7",
                                      "Standard_A8",
                                      "Standard_A8_v2",
                                      "Standard_A8m_v2",
                                      "Standard_A9",
                                      "Standard_B2ms",
                                      "Standard_B2s",
                                      "Standard_B4ms",
                                      "Standard_B8ms",
                                      "Standard_D1",
                                      "Standard_D11",
                                      "Standard_D11_v2",
                                      "Standard_D11_v2_Promo",
                                      "Standard_D12",
                                      "Standard_D12_v2",
                                      "Standard_D12_v2_Promo",
                                      "Standard_D13",
                                      "Standard_D13_v2",
                                      "Standard_D13_v2_Promo",
                                      "Standard_D14",
                                      "Standard_D14_v2",
                                      "Standard_D14_v2_Promo",
                                      "Standard_D15_v2",
                                      "Standard_D16_v3",
                                      "Standard_D16s_v3",
                                      "Standard_D1_v2",
                                      "Standard_D2",
                                      "Standard_D2_v2",
                                      "Standard_D2_v2_Promo",
                                      "Standard_D2_v3",
                                      "Standard_D2s_v3",
                                      "Standard_D3",
                                      "Standard_D32_v3",
                                      "Standard_D32s_v3",
                                      "Standard_D3_v2",
                                      "Standard_D3_v2_Promo",
                                      "Standard_D4",
                                      "Standard_D4_v2",
                                      "Standard_D4_v2_Promo",
                                      "Standard_D4_v3",
                                      "Standard_D4s_v3",
                                      "Standard_D5_v2",
                                      "Standard_D5_v2_Promo",
                                      "Standard_D64_v3",
                                      "Standard_D64s_v3",
                                      "Standard_D8_v3",
                                      "Standard_D8s_v3",
                                      "Standard_DS1",
                                      "Standard_DS11",
                                      "Standard_DS11_v2",
                                      "Standard_DS11_v2_Promo",
                                      "Standard_DS12",
                                      "Standard_DS12_v2",
                                      "Standard_DS12_v2_Promo",
                                      "Standard_DS13",
                                      "Standard_DS13-2_v2",
                                      "Standard_DS13-4_v2",
                                      "Standard_DS13_v2",
                                      "Standard_DS13_v2_Promo",
                                      "Standard_DS14",
                                      "Standard_DS14-4_v2",
                                      "Standard_DS14-8_v2",
                                      "Standard_DS14_v2",
                                      "Standard_DS14_v2_Promo",
                                      "Standard_DS15_v2",
                                      "Standard_DS1_v2",
                                      "Standard_DS2",
                                      "Standard_DS2_v2",
                                      "Standard_DS2_v2_Promo",
                                      "Standard_DS3",
                                      "Standard_DS3_v2",
                                      "Standard_DS3_v2_Promo",
                                      "Standard_DS4",
                                      "Standard_DS4_v2",
                                      "Standard_DS4_v2_Promo",
                                      "Standard_DS5_v2",
                                      "Standard_DS5_v2_Promo",
                                      "Standard_E16_v3",
                                      "Standard_E16s_v3",
                                      "Standard_E2_v3",
                                      "Standard_E2s_v3",
                                      "Standard_E32-16s_v3",
                                      "Standard_E32-8s_v3",
                                      "Standard_E32_v3",
                                      "Standard_E32s_v3",
                                      "Standard_E4_v3",
                                      "Standard_E4s_v3",
                                      "Standard_E64-16s_v3",
                                      "Standard_E64-32s_v3",
                                      "Standard_E64_v3",
                                      "Standard_E64s_v3",
                                      "Standard_E8_v3",
                                      "Standard_E8s_v3",
                                      "Standard_F1",
                                      "Standard_F16",
                                      "Standard_F16s",
                                      "Standard_F16s_v2",
                                      "Standard_F1s",
                                      "Standard_F2",
                                      "Standard_F2s",
                                      "Standard_F2s_v2",
                                      "Standard_F32s_v2",
                                      "Standard_F4",
                                      "Standard_F4s",
                                      "Standard_F4s_v2",
                                      "Standard_F64s_v2",
                                      "Standard_F72s_v2",
                                      "Standard_F8",
                                      "Standard_F8s",
                                      "Standard_F8s_v2",
                                      "Standard_G1",
                                      "Standard_G2",
                                      "Standard_G3",
                                      "Standard_G4",
                                      "Standard_G5",
                                      "Standard_GS1",
                                      "Standard_GS2",
                                      "Standard_GS3",
                                      "Standard_GS4",
                                      "Standard_GS4-4",
                                      "Standard_GS4-8",
                                      "Standard_GS5",
                                      "Standard_GS5-16",
                                      "Standard_GS5-8",
                                      "Standard_H16",
                                      "Standard_H16m",
                                      "Standard_H16mr",
                                      "Standard_H16r",
                                      "Standard_H8",
                                      "Standard_H8m",
                                      "Standard_L16s",
                                      "Standard_L32s",
                                      "Standard_L4s",
                                      "Standard_L8s",
                                      "Standard_M128-32ms",
                                      "Standard_M128-64ms",
                                      "Standard_M128ms",
                                      "Standard_M128s",
                                      "Standard_M64-16ms",
                                      "Standard_M64-32ms",
                                      "Standard_M64ms",
                                      "Standard_M64s",
                                      "Standard_NC12",
                                      "Standard_NC12s_v2",
                                      "Standard_NC12s_v3",
                                      "Standard_NC24",
                                      "Standard_NC24r",
                                      "Standard_NC24rs_v2",
                                      "Standard_NC24rs_v3",
                                      "Standard_NC24s_v2",
                                      "Standard_NC24s_v3",
                                      "Standard_NC6",
                                      "Standard_NC6s_v2",
                                      "Standard_NC6s_v3",
                                      "Standard_ND12s",
                                      "Standard_ND24rs",
                                      "Standard_ND24s",
                                      "Standard_ND6s",
                                      "Standard_NV12",
                                      "Standard_NV24",
                                      "Standard_NV6"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ContainerServiceVMSizeTypes"
                                    }
                                  }
                                },
                                "vnetSubnetID": {
                                  "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                  "body": {
                                    "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "vmSize",
                                "count"
                              ]
                            },
                            {
                              "properties": {
                                "name": {
                                  "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
                                  "pattern": "^[a-z][a-z0-9]{0,11}$",
                                  "type": "string"
                                }
                              }
                            }
                          ],
                          "description": "Profile for the container service agent pool.",
                          "required": [
                            "name"
                          ]
                        },
                        "type": "array"
                      },
                      "apiServerAccessProfile": {
                        "description": "Access profile for managed cluster API server.",
                        "body": {
                          "description": "Access profile for managed cluster API server.",
                          "properties": {
                            "authorizedIPRanges": {
                              "description": "Authorized IP Ranges to kubernetes API server.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "enablePrivateCluster": {
                              "description": "Whether to create the cluster as a private cluster or not.",
                              "type": "boolean"
                            }
                          }
                        }
                      },
                      "diskEncryptionSetID": {
                        "description": "ResourceId of the disk encryption set to use for enabling encryption at rest.",
                        "type": "string"
                      },
                      "dnsPrefix": {
                        "description": "DNS prefix specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "enablePodSecurityPolicy": {
                        "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy.",
                        "type": "boolean"
                      },
                      "enableRBAC": {
                        "description": "Whether to enable Kubernetes Role-Based Access Control.",
                        "type": "boolean"
                      },
                      "fqdn": {
                        "description": "FQDN for the master pool.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "identityProfile": {
                        "additionalProperties": {
                          "allOf": [
                            {
                              "properties": {
                                "clientId": {
                                  "description": "The client id of the user assigned identity.",
                                  "type": "string"
                                },
                                "objectId": {
                                  "description": "The object id of the user assigned identity.",
                                  "type": "string"
                                },
                                "resourceId": {
                                  "description": "The resource id of the user assigned identity.",
                                  "type": "string"
                                }
                              }
                            }
                          ],
                          "readOnly": true
                        },
                        "description": "Identities associated with the cluster."
                      },
                      "kubernetesVersion": {
                        "description": "Version of Kubernetes specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "linuxProfile": {
                        "description": "Profile for Linux VMs in the container service cluster.",
                        "body": {
                          "description": "Profile for Linux VMs in the container service cluster.",
                          "properties": {
                            "adminUsername": {
                              "description": "The administrator username to use for Linux VMs.",
                              "pattern": "^[A-Za-z][-A-Za-z0-9_]*$",
                              "type": "string"
                            },
                            "ssh": {
                              "description": "SSH configuration for Linux-based VMs running on Azure.",
                              "body": {
                                "description": "SSH configuration for Linux-based VMs running on Azure.",
                                "properties": {
                                  "publicKeys": {
                                    "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.",
                                    "items": {
                                      "description": "Contains information about SSH certificate public key data.",
                                      "properties": {
                                        "keyData": {
                                          "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "keyData"
                                      ]
                                    },
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "publicKeys"
                                ]
                              }
                            }
                          },
                          "required": [
                            "adminUsername",
                            "ssh"
                          ]
                        }
                      },
                      "maxAgentPools": {
                        "description": "The max number of agent pools for the managed cluster.",
                        "readOnly": true,
                        "type": "integer"
                      },
                      "networkProfile": {
                        "description": "Profile of network configuration.",
                        "body": {
                          "description": "Profile of network configuration.",
                          "properties": {
                            "dnsServiceIP": {
                              "default": "10.0.0.10",
                              "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.",
                              "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
                              "type": "string"
                            },
                            "dockerBridgeCidr": {
                              "default": "172.17.0.1/16",
                              "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            },
                            "loadBalancerProfile": {
                              "description": "Profile of the cluster load balancer.",
                              "body": {
                                "description": "Profile of the managed cluster load balancer.",
                                "properties": {
                                  "allocatedOutboundPorts": {
                                    "default": 0,
                                    "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
                                    "maximum": 64000,
                                    "minimum": 0,
                                    "type": "integer"
                                  },
                                  "effectiveOutboundIPs": {
                                    "description": "The effective outbound IP resources of the cluster load balancer.",
                                    "items": {
                                      "description": "A reference to an Azure resource.",
                                      "properties": {
                                        "id": {
                                          "description": "The fully qualified Azure resource id.",
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "type": "array"
                                  },
                                  "idleTimeoutInMinutes": {
                                    "default": 30,
                                    "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
                                    "maximum": 120,
                                    "minimum": 4,
                                    "type": "integer"
                                  },
                                  "managedOutboundIPs": {
                                    "description": "Desired managed outbound IPs for the cluster load balancer.",
                                    "properties": {
                                      "count": {
                                        "default": 1,
                                        "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                        "maximum": 100,
                                        "minimum": 1,
                                        "type": "integer"
                                      }
                                    }
                                  },
                                  "outboundIPPrefixes": {
                                    "description": "Desired outbound IP Prefix resources for the cluster load balancer.",
                                    "properties": {
                                      "publicIPPrefixes": {
                                        "description": "A list of public IP prefix resources.",
                                        "items": {
                                          "description": "A reference to an Azure resource.",
                                          "properties": {
                                            "id": {
                                              "description": "The fully qualified Azure resource id.",
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "type": "array"
                                      }
                                    }
                                  },
                                  "outboundIPs": {
                                    "description": "Desired outbound IP resources for the cluster load balancer.",
                                    "properties": {
                                      "publicIPs": {
                                        "description": "A list of public IP resources.",
                                        "items": {
                                          "description": "A reference to an Azure resource.",
                                          "properties": {
                                            "id": {
                                              "description": "The fully qualified Azure resource id.",
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "type": "array"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "loadBalancerSku": {
                              "description": "The load balancer sku for the managed cluster.",
                              "enum": [
                                "standard",
                                "basic"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "loadBalancerSku"
                              }
                            },
                            "networkPlugin": {
                              "default": "kubenet",
                              "description": "Network plugin used for building Kubernetes network.",
                              "enum": [
                                "azure",
                                "kubenet"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "NetworkPlugin"
                              }
                            },
                            "networkPolicy": {
                              "description": "Network policy used for building Kubernetes network.",
                              "enum": [
                                "calico",
                                "azure"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "NetworkPolicy"
                              }
                            },
                            "outboundType": {
                              "default": "loadBalancer",
                              "description": "The outbound (egress) routing method.",
                              "enum": [
                                "loadBalancer",
                                "userDefinedRouting"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "outboundType"
                              }
                            },
                            "podCidr": {
                              "default": "10.244.0.0/16",
                              "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            },
                            "serviceCidr": {
                              "default": "10.0.0.0/16",
                              "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            }
                          }
                        }
                      },
                      "nodeResourceGroup": {
                        "description": "Name of the resource group containing agent pool nodes.",
                        "type": "string"
                      },
                      "privateFQDN": {
                        "description": "FQDN of private cluster.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "provisioningState": {
                        "description": "The current deployment or provisioning state, which only appears in the response.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "servicePrincipalProfile": {
                        "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                        "body": {
                          "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                          "properties": {
                            "clientId": {
                              "description": "The ID for the service principal.",
                              "type": "string"
                            },
                            "secret": {
                              "description": "The secret password associated with the service principal in plain text.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId"
                          ]
                        }
                      },
                      "windowsProfile": {
                        "description": "Profile for Windows VMs in the container service cluster.",
                        "body": {
                          "description": "Profile for Windows VMs in the container service cluster.",
                          "properties": {
                            "adminPassword": {
                              "description": "The administrator password to use for Windows VMs.",
                              "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$",
                              "type": "string"
                            },
                            "adminUsername": {
                              "description": "The administrator username to use for Windows VMs.",
                              "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "adminUsername"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          ],
          "description": "Managed cluster."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersGet"
      },
      "task": true
    },
    {
      "name": "managedClustersUpdateTags",
      "summary": "Updates tags on a managed cluster.",
      "description": "Updates a managed cluster with the specified tags.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "parameters",
          "type": "object",
          "info": "Parameters supplied to the Update Managed Cluster Tags operation.: {\"tags\": \"object\"}",
          "required": true,
          "schema": {
            "description": "Tags object for patch operations.",
            "properties": {
              "tags": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Resource tags.",
                "type": "object"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "allOf": [
            {
              "description": "The Resource model definition.",
              "properties": {
                "id": {
                  "description": "Resource Id",
                  "readOnly": true,
                  "type": "string"
                },
                "location": {
                  "description": "Resource location",
                  "type": "string",
                  "x-ms-mutability": [
                    "read",
                    "create"
                  ]
                },
                "name": {
                  "description": "Resource name",
                  "readOnly": true,
                  "type": "string"
                },
                "tags": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Resource tags",
                  "type": "object"
                },
                "type": {
                  "description": "Resource type",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "required": [
                "location"
              ],
              "x-ms-azure-resource": true
            },
            {
              "properties": {
                "identity": {
                  "description": "The identity of the managed cluster, if configured.",
                  "body": {
                    "description": "Identity for the managed cluster.",
                    "properties": {
                      "principalId": {
                        "description": "The principal id of the system assigned identity which is used by master components.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "tenantId": {
                        "description": "The tenant id of the system assigned identity which is used by master components.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "type": {
                        "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
                        "enum": [
                          "SystemAssigned",
                          "None"
                        ],
                        "type": "string",
                        "x-ms-enum": {
                          "modelAsString": false,
                          "name": "ResourceIdentityType"
                        }
                      }
                    }
                  }
                },
                "properties": {
                  "description": "Properties of a managed cluster.",
                  "x-ms-client-flatten": true,
                  "body": {
                    "description": "Properties of the managed cluster.",
                    "properties": {
                      "aadProfile": {
                        "description": "Profile of Azure Active Directory configuration.",
                        "body": {
                          "description": "AADProfile specifies attributes for Azure Active Directory integration.",
                          "properties": {
                            "clientAppID": {
                              "description": "The client AAD application ID.",
                              "type": "string"
                            },
                            "serverAppID": {
                              "description": "The server AAD application ID.",
                              "type": "string"
                            },
                            "serverAppSecret": {
                              "description": "The server AAD application secret.",
                              "type": "string"
                            },
                            "tenantID": {
                              "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientAppID",
                            "serverAppID"
                          ]
                        }
                      },
                      "addonProfiles": {
                        "additionalProperties": {
                          "description": "A Kubernetes add-on profile for a managed cluster.",
                          "properties": {
                            "config": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Key-value pairs for configuring an add-on."
                            },
                            "enabled": {
                              "description": "Whether the add-on is enabled or not.",
                              "type": "boolean"
                            },
                            "identity": {
                              "allOf": [
                                {
                                  "properties": {
                                    "clientId": {
                                      "description": "The client id of the user assigned identity.",
                                      "type": "string"
                                    },
                                    "objectId": {
                                      "description": "The object id of the user assigned identity.",
                                      "type": "string"
                                    },
                                    "resourceId": {
                                      "description": "The resource id of the user assigned identity.",
                                      "type": "string"
                                    }
                                  }
                                }
                              ],
                              "description": "Information of user assigned identity used by this add-on.",
                              "readOnly": true
                            }
                          },
                          "required": [
                            "enabled"
                          ]
                        },
                        "description": "Profile of managed cluster add-on."
                      },
                      "agentPoolProfiles": {
                        "description": "Properties of the agent pool.",
                        "items": {
                          "allOf": [
                            {
                              "description": "Properties for the container service agent pool profile.",
                              "properties": {
                                "availabilityZones": {
                                  "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "count": {
                                  "default": 1,
                                  "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                  "maximum": 100,
                                  "minimum": 1,
                                  "type": "integer"
                                },
                                "enableAutoScaling": {
                                  "description": "Whether to enable auto-scaler",
                                  "type": "boolean"
                                },
                                "enableNodePublicIP": {
                                  "description": "Enable public IP for nodes",
                                  "type": "boolean"
                                },
                                "maxCount": {
                                  "description": "Maximum number of nodes for auto-scaling",
                                  "type": "integer"
                                },
                                "maxPods": {
                                  "description": "Maximum number of pods that can run on a node.",
                                  "type": "integer"
                                },
                                "minCount": {
                                  "description": "Minimum number of nodes for auto-scaling",
                                  "type": "integer"
                                },
                                "nodeLabels": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                                  "type": "object"
                                },
                                "nodeTaints": {
                                  "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "orchestratorVersion": {
                                  "description": "Version of orchestrator specified when creating the managed cluster.",
                                  "type": "string"
                                },
                                "osDiskSizeGB": {
                                  "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                  "body": {
                                    "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                    "maximum": 1023,
                                    "minimum": 0,
                                    "type": "integer"
                                  }
                                },
                                "osType": {
                                  "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                  "body": {
                                    "default": "Linux",
                                    "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                    "enum": [
                                      "Linux",
                                      "Windows"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "OSType"
                                    }
                                  }
                                },
                                "provisioningState": {
                                  "description": "The current deployment or provisioning state, which only appears in the response.",
                                  "readOnly": true,
                                  "type": "string"
                                },
                                "scaleSetEvictionPolicy": {
                                  "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                  "body": {
                                    "default": "Delete",
                                    "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                    "enum": [
                                      "Delete",
                                      "Deallocate"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ScaleSetEvictionPolicy"
                                    }
                                  }
                                },
                                "scaleSetPriority": {
                                  "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                  "body": {
                                    "default": "Regular",
                                    "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                    "enum": [
                                      "Low",
                                      "Regular"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ScaleSetPriority"
                                    }
                                  }
                                },
                                "tags": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                                  "type": "object"
                                },
                                "type": {
                                  "description": "AgentPoolType represents types of an agent pool",
                                  "body": {
                                    "description": "AgentPoolType represents types of an agent pool.",
                                    "enum": [
                                      "VirtualMachineScaleSets",
                                      "AvailabilitySet"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "AgentPoolType"
                                    }
                                  }
                                },
                                "vmSize": {
                                  "description": "Size of agent VMs.",
                                  "body": {
                                    "description": "Size of agent VMs.",
                                    "enum": [
                                      "Standard_A1",
                                      "Standard_A10",
                                      "Standard_A11",
                                      "Standard_A1_v2",
                                      "Standard_A2",
                                      "Standard_A2_v2",
                                      "Standard_A2m_v2",
                                      "Standard_A3",
                                      "Standard_A4",
                                      "Standard_A4_v2",
                                      "Standard_A4m_v2",
                                      "Standard_A5",
                                      "Standard_A6",
                                      "Standard_A7",
                                      "Standard_A8",
                                      "Standard_A8_v2",
                                      "Standard_A8m_v2",
                                      "Standard_A9",
                                      "Standard_B2ms",
                                      "Standard_B2s",
                                      "Standard_B4ms",
                                      "Standard_B8ms",
                                      "Standard_D1",
                                      "Standard_D11",
                                      "Standard_D11_v2",
                                      "Standard_D11_v2_Promo",
                                      "Standard_D12",
                                      "Standard_D12_v2",
                                      "Standard_D12_v2_Promo",
                                      "Standard_D13",
                                      "Standard_D13_v2",
                                      "Standard_D13_v2_Promo",
                                      "Standard_D14",
                                      "Standard_D14_v2",
                                      "Standard_D14_v2_Promo",
                                      "Standard_D15_v2",
                                      "Standard_D16_v3",
                                      "Standard_D16s_v3",
                                      "Standard_D1_v2",
                                      "Standard_D2",
                                      "Standard_D2_v2",
                                      "Standard_D2_v2_Promo",
                                      "Standard_D2_v3",
                                      "Standard_D2s_v3",
                                      "Standard_D3",
                                      "Standard_D32_v3",
                                      "Standard_D32s_v3",
                                      "Standard_D3_v2",
                                      "Standard_D3_v2_Promo",
                                      "Standard_D4",
                                      "Standard_D4_v2",
                                      "Standard_D4_v2_Promo",
                                      "Standard_D4_v3",
                                      "Standard_D4s_v3",
                                      "Standard_D5_v2",
                                      "Standard_D5_v2_Promo",
                                      "Standard_D64_v3",
                                      "Standard_D64s_v3",
                                      "Standard_D8_v3",
                                      "Standard_D8s_v3",
                                      "Standard_DS1",
                                      "Standard_DS11",
                                      "Standard_DS11_v2",
                                      "Standard_DS11_v2_Promo",
                                      "Standard_DS12",
                                      "Standard_DS12_v2",
                                      "Standard_DS12_v2_Promo",
                                      "Standard_DS13",
                                      "Standard_DS13-2_v2",
                                      "Standard_DS13-4_v2",
                                      "Standard_DS13_v2",
                                      "Standard_DS13_v2_Promo",
                                      "Standard_DS14",
                                      "Standard_DS14-4_v2",
                                      "Standard_DS14-8_v2",
                                      "Standard_DS14_v2",
                                      "Standard_DS14_v2_Promo",
                                      "Standard_DS15_v2",
                                      "Standard_DS1_v2",
                                      "Standard_DS2",
                                      "Standard_DS2_v2",
                                      "Standard_DS2_v2_Promo",
                                      "Standard_DS3",
                                      "Standard_DS3_v2",
                                      "Standard_DS3_v2_Promo",
                                      "Standard_DS4",
                                      "Standard_DS4_v2",
                                      "Standard_DS4_v2_Promo",
                                      "Standard_DS5_v2",
                                      "Standard_DS5_v2_Promo",
                                      "Standard_E16_v3",
                                      "Standard_E16s_v3",
                                      "Standard_E2_v3",
                                      "Standard_E2s_v3",
                                      "Standard_E32-16s_v3",
                                      "Standard_E32-8s_v3",
                                      "Standard_E32_v3",
                                      "Standard_E32s_v3",
                                      "Standard_E4_v3",
                                      "Standard_E4s_v3",
                                      "Standard_E64-16s_v3",
                                      "Standard_E64-32s_v3",
                                      "Standard_E64_v3",
                                      "Standard_E64s_v3",
                                      "Standard_E8_v3",
                                      "Standard_E8s_v3",
                                      "Standard_F1",
                                      "Standard_F16",
                                      "Standard_F16s",
                                      "Standard_F16s_v2",
                                      "Standard_F1s",
                                      "Standard_F2",
                                      "Standard_F2s",
                                      "Standard_F2s_v2",
                                      "Standard_F32s_v2",
                                      "Standard_F4",
                                      "Standard_F4s",
                                      "Standard_F4s_v2",
                                      "Standard_F64s_v2",
                                      "Standard_F72s_v2",
                                      "Standard_F8",
                                      "Standard_F8s",
                                      "Standard_F8s_v2",
                                      "Standard_G1",
                                      "Standard_G2",
                                      "Standard_G3",
                                      "Standard_G4",
                                      "Standard_G5",
                                      "Standard_GS1",
                                      "Standard_GS2",
                                      "Standard_GS3",
                                      "Standard_GS4",
                                      "Standard_GS4-4",
                                      "Standard_GS4-8",
                                      "Standard_GS5",
                                      "Standard_GS5-16",
                                      "Standard_GS5-8",
                                      "Standard_H16",
                                      "Standard_H16m",
                                      "Standard_H16mr",
                                      "Standard_H16r",
                                      "Standard_H8",
                                      "Standard_H8m",
                                      "Standard_L16s",
                                      "Standard_L32s",
                                      "Standard_L4s",
                                      "Standard_L8s",
                                      "Standard_M128-32ms",
                                      "Standard_M128-64ms",
                                      "Standard_M128ms",
                                      "Standard_M128s",
                                      "Standard_M64-16ms",
                                      "Standard_M64-32ms",
                                      "Standard_M64ms",
                                      "Standard_M64s",
                                      "Standard_NC12",
                                      "Standard_NC12s_v2",
                                      "Standard_NC12s_v3",
                                      "Standard_NC24",
                                      "Standard_NC24r",
                                      "Standard_NC24rs_v2",
                                      "Standard_NC24rs_v3",
                                      "Standard_NC24s_v2",
                                      "Standard_NC24s_v3",
                                      "Standard_NC6",
                                      "Standard_NC6s_v2",
                                      "Standard_NC6s_v3",
                                      "Standard_ND12s",
                                      "Standard_ND24rs",
                                      "Standard_ND24s",
                                      "Standard_ND6s",
                                      "Standard_NV12",
                                      "Standard_NV24",
                                      "Standard_NV6"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ContainerServiceVMSizeTypes"
                                    }
                                  }
                                },
                                "vnetSubnetID": {
                                  "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                  "body": {
                                    "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "vmSize",
                                "count"
                              ]
                            },
                            {
                              "properties": {
                                "name": {
                                  "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
                                  "pattern": "^[a-z][a-z0-9]{0,11}$",
                                  "type": "string"
                                }
                              }
                            }
                          ],
                          "description": "Profile for the container service agent pool.",
                          "required": [
                            "name"
                          ]
                        },
                        "type": "array"
                      },
                      "apiServerAccessProfile": {
                        "description": "Access profile for managed cluster API server.",
                        "body": {
                          "description": "Access profile for managed cluster API server.",
                          "properties": {
                            "authorizedIPRanges": {
                              "description": "Authorized IP Ranges to kubernetes API server.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "enablePrivateCluster": {
                              "description": "Whether to create the cluster as a private cluster or not.",
                              "type": "boolean"
                            }
                          }
                        }
                      },
                      "diskEncryptionSetID": {
                        "description": "ResourceId of the disk encryption set to use for enabling encryption at rest.",
                        "type": "string"
                      },
                      "dnsPrefix": {
                        "description": "DNS prefix specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "enablePodSecurityPolicy": {
                        "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy.",
                        "type": "boolean"
                      },
                      "enableRBAC": {
                        "description": "Whether to enable Kubernetes Role-Based Access Control.",
                        "type": "boolean"
                      },
                      "fqdn": {
                        "description": "FQDN for the master pool.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "identityProfile": {
                        "additionalProperties": {
                          "allOf": [
                            {
                              "properties": {
                                "clientId": {
                                  "description": "The client id of the user assigned identity.",
                                  "type": "string"
                                },
                                "objectId": {
                                  "description": "The object id of the user assigned identity.",
                                  "type": "string"
                                },
                                "resourceId": {
                                  "description": "The resource id of the user assigned identity.",
                                  "type": "string"
                                }
                              }
                            }
                          ],
                          "readOnly": true
                        },
                        "description": "Identities associated with the cluster."
                      },
                      "kubernetesVersion": {
                        "description": "Version of Kubernetes specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "linuxProfile": {
                        "description": "Profile for Linux VMs in the container service cluster.",
                        "body": {
                          "description": "Profile for Linux VMs in the container service cluster.",
                          "properties": {
                            "adminUsername": {
                              "description": "The administrator username to use for Linux VMs.",
                              "pattern": "^[A-Za-z][-A-Za-z0-9_]*$",
                              "type": "string"
                            },
                            "ssh": {
                              "description": "SSH configuration for Linux-based VMs running on Azure.",
                              "body": {
                                "description": "SSH configuration for Linux-based VMs running on Azure.",
                                "properties": {
                                  "publicKeys": {
                                    "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.",
                                    "items": {
                                      "description": "Contains information about SSH certificate public key data.",
                                      "properties": {
                                        "keyData": {
                                          "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "keyData"
                                      ]
                                    },
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "publicKeys"
                                ]
                              }
                            }
                          },
                          "required": [
                            "adminUsername",
                            "ssh"
                          ]
                        }
                      },
                      "maxAgentPools": {
                        "description": "The max number of agent pools for the managed cluster.",
                        "readOnly": true,
                        "type": "integer"
                      },
                      "networkProfile": {
                        "description": "Profile of network configuration.",
                        "body": {
                          "description": "Profile of network configuration.",
                          "properties": {
                            "dnsServiceIP": {
                              "default": "10.0.0.10",
                              "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.",
                              "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
                              "type": "string"
                            },
                            "dockerBridgeCidr": {
                              "default": "172.17.0.1/16",
                              "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            },
                            "loadBalancerProfile": {
                              "description": "Profile of the cluster load balancer.",
                              "body": {
                                "description": "Profile of the managed cluster load balancer.",
                                "properties": {
                                  "allocatedOutboundPorts": {
                                    "default": 0,
                                    "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
                                    "maximum": 64000,
                                    "minimum": 0,
                                    "type": "integer"
                                  },
                                  "effectiveOutboundIPs": {
                                    "description": "The effective outbound IP resources of the cluster load balancer.",
                                    "items": {
                                      "description": "A reference to an Azure resource.",
                                      "properties": {
                                        "id": {
                                          "description": "The fully qualified Azure resource id.",
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "type": "array"
                                  },
                                  "idleTimeoutInMinutes": {
                                    "default": 30,
                                    "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
                                    "maximum": 120,
                                    "minimum": 4,
                                    "type": "integer"
                                  },
                                  "managedOutboundIPs": {
                                    "description": "Desired managed outbound IPs for the cluster load balancer.",
                                    "properties": {
                                      "count": {
                                        "default": 1,
                                        "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                        "maximum": 100,
                                        "minimum": 1,
                                        "type": "integer"
                                      }
                                    }
                                  },
                                  "outboundIPPrefixes": {
                                    "description": "Desired outbound IP Prefix resources for the cluster load balancer.",
                                    "properties": {
                                      "publicIPPrefixes": {
                                        "description": "A list of public IP prefix resources.",
                                        "items": {
                                          "description": "A reference to an Azure resource.",
                                          "properties": {
                                            "id": {
                                              "description": "The fully qualified Azure resource id.",
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "type": "array"
                                      }
                                    }
                                  },
                                  "outboundIPs": {
                                    "description": "Desired outbound IP resources for the cluster load balancer.",
                                    "properties": {
                                      "publicIPs": {
                                        "description": "A list of public IP resources.",
                                        "items": {
                                          "description": "A reference to an Azure resource.",
                                          "properties": {
                                            "id": {
                                              "description": "The fully qualified Azure resource id.",
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "type": "array"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "loadBalancerSku": {
                              "description": "The load balancer sku for the managed cluster.",
                              "enum": [
                                "standard",
                                "basic"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "loadBalancerSku"
                              }
                            },
                            "networkPlugin": {
                              "default": "kubenet",
                              "description": "Network plugin used for building Kubernetes network.",
                              "enum": [
                                "azure",
                                "kubenet"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "NetworkPlugin"
                              }
                            },
                            "networkPolicy": {
                              "description": "Network policy used for building Kubernetes network.",
                              "enum": [
                                "calico",
                                "azure"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "NetworkPolicy"
                              }
                            },
                            "outboundType": {
                              "default": "loadBalancer",
                              "description": "The outbound (egress) routing method.",
                              "enum": [
                                "loadBalancer",
                                "userDefinedRouting"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "outboundType"
                              }
                            },
                            "podCidr": {
                              "default": "10.244.0.0/16",
                              "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            },
                            "serviceCidr": {
                              "default": "10.0.0.0/16",
                              "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            }
                          }
                        }
                      },
                      "nodeResourceGroup": {
                        "description": "Name of the resource group containing agent pool nodes.",
                        "type": "string"
                      },
                      "privateFQDN": {
                        "description": "FQDN of private cluster.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "provisioningState": {
                        "description": "The current deployment or provisioning state, which only appears in the response.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "servicePrincipalProfile": {
                        "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                        "body": {
                          "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                          "properties": {
                            "clientId": {
                              "description": "The ID for the service principal.",
                              "type": "string"
                            },
                            "secret": {
                              "description": "The secret password associated with the service principal in plain text.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId"
                          ]
                        }
                      },
                      "windowsProfile": {
                        "description": "Profile for Windows VMs in the container service cluster.",
                        "body": {
                          "description": "Profile for Windows VMs in the container service cluster.",
                          "properties": {
                            "adminPassword": {
                              "description": "The administrator password to use for Windows VMs.",
                              "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$",
                              "type": "string"
                            },
                            "adminUsername": {
                              "description": "The administrator username to use for Windows VMs.",
                              "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "adminUsername"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          ],
          "description": "Managed cluster."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersUpdateTags"
      },
      "task": true
    },
    {
      "name": "managedClustersCreateOrUpdate",
      "summary": "Creates or updates a managed cluster.",
      "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "parameters",
          "type": "object",
          "info": "Parameters supplied to the Create or Update a Managed Cluster operation.: object",
          "required": true,
          "schema": {
            "allOf": [
              {
                "description": "The Resource model definition.",
                "properties": {
                  "id": {
                    "description": "Resource Id",
                    "readOnly": true,
                    "type": "string"
                  },
                  "location": {
                    "description": "Resource location",
                    "type": "string",
                    "x-ms-mutability": [
                      "read",
                      "create"
                    ]
                  },
                  "name": {
                    "description": "Resource name",
                    "readOnly": true,
                    "type": "string"
                  },
                  "tags": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "description": "Resource tags",
                    "type": "object"
                  },
                  "type": {
                    "description": "Resource type",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "required": [
                  "location"
                ],
                "x-ms-azure-resource": true
              },
              {
                "properties": {
                  "identity": {
                    "description": "The identity of the managed cluster, if configured.",
                    "body": {
                      "description": "Identity for the managed cluster.",
                      "properties": {
                        "principalId": {
                          "description": "The principal id of the system assigned identity which is used by master components.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "tenantId": {
                          "description": "The tenant id of the system assigned identity which is used by master components.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
                          "enum": [
                            "SystemAssigned",
                            "None"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": false,
                            "name": "ResourceIdentityType"
                          }
                        }
                      }
                    }
                  },
                  "properties": {
                    "description": "Properties of a managed cluster.",
                    "x-ms-client-flatten": true,
                    "body": {
                      "description": "Properties of the managed cluster.",
                      "properties": {
                        "aadProfile": {
                          "description": "Profile of Azure Active Directory configuration.",
                          "body": {
                            "description": "AADProfile specifies attributes for Azure Active Directory integration.",
                            "properties": {
                              "clientAppID": {
                                "description": "The client AAD application ID.",
                                "type": "string"
                              },
                              "serverAppID": {
                                "description": "The server AAD application ID.",
                                "type": "string"
                              },
                              "serverAppSecret": {
                                "description": "The server AAD application secret.",
                                "type": "string"
                              },
                              "tenantID": {
                                "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "clientAppID",
                              "serverAppID"
                            ]
                          }
                        },
                        "addonProfiles": {
                          "additionalProperties": {
                            "description": "A Kubernetes add-on profile for a managed cluster.",
                            "properties": {
                              "config": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "description": "Key-value pairs for configuring an add-on."
                              },
                              "enabled": {
                                "description": "Whether the add-on is enabled or not.",
                                "type": "boolean"
                              },
                              "identity": {
                                "allOf": [
                                  {
                                    "properties": {
                                      "clientId": {
                                        "description": "The client id of the user assigned identity.",
                                        "type": "string"
                                      },
                                      "objectId": {
                                        "description": "The object id of the user assigned identity.",
                                        "type": "string"
                                      },
                                      "resourceId": {
                                        "description": "The resource id of the user assigned identity.",
                                        "type": "string"
                                      }
                                    }
                                  }
                                ],
                                "description": "Information of user assigned identity used by this add-on.",
                                "readOnly": true
                              }
                            },
                            "required": [
                              "enabled"
                            ]
                          },
                          "description": "Profile of managed cluster add-on."
                        },
                        "agentPoolProfiles": {
                          "description": "Properties of the agent pool.",
                          "items": {
                            "allOf": [
                              {
                                "description": "Properties for the container service agent pool profile.",
                                "properties": {
                                  "availabilityZones": {
                                    "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "count": {
                                    "default": 1,
                                    "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                    "maximum": 100,
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "enableAutoScaling": {
                                    "description": "Whether to enable auto-scaler",
                                    "type": "boolean"
                                  },
                                  "enableNodePublicIP": {
                                    "description": "Enable public IP for nodes",
                                    "type": "boolean"
                                  },
                                  "maxCount": {
                                    "description": "Maximum number of nodes for auto-scaling",
                                    "type": "integer"
                                  },
                                  "maxPods": {
                                    "description": "Maximum number of pods that can run on a node.",
                                    "type": "integer"
                                  },
                                  "minCount": {
                                    "description": "Minimum number of nodes for auto-scaling",
                                    "type": "integer"
                                  },
                                  "nodeLabels": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                                    "type": "object"
                                  },
                                  "nodeTaints": {
                                    "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "orchestratorVersion": {
                                    "description": "Version of orchestrator specified when creating the managed cluster.",
                                    "type": "string"
                                  },
                                  "osDiskSizeGB": {
                                    "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                    "body": {
                                      "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                      "maximum": 1023,
                                      "minimum": 0,
                                      "type": "integer"
                                    }
                                  },
                                  "osType": {
                                    "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                    "body": {
                                      "default": "Linux",
                                      "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                      "enum": [
                                        "Linux",
                                        "Windows"
                                      ],
                                      "type": "string",
                                      "x-ms-enum": {
                                        "modelAsString": true,
                                        "name": "OSType"
                                      }
                                    }
                                  },
                                  "provisioningState": {
                                    "description": "The current deployment or provisioning state, which only appears in the response.",
                                    "readOnly": true,
                                    "type": "string"
                                  },
                                  "scaleSetEvictionPolicy": {
                                    "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                    "body": {
                                      "default": "Delete",
                                      "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                      "enum": [
                                        "Delete",
                                        "Deallocate"
                                      ],
                                      "type": "string",
                                      "x-ms-enum": {
                                        "modelAsString": true,
                                        "name": "ScaleSetEvictionPolicy"
                                      }
                                    }
                                  },
                                  "scaleSetPriority": {
                                    "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                    "body": {
                                      "default": "Regular",
                                      "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                      "enum": [
                                        "Low",
                                        "Regular"
                                      ],
                                      "type": "string",
                                      "x-ms-enum": {
                                        "modelAsString": true,
                                        "name": "ScaleSetPriority"
                                      }
                                    }
                                  },
                                  "tags": {
                                    "additionalProperties": {
                                      "type": "string"
                                    },
                                    "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                                    "type": "object"
                                  },
                                  "type": {
                                    "description": "AgentPoolType represents types of an agent pool",
                                    "body": {
                                      "description": "AgentPoolType represents types of an agent pool.",
                                      "enum": [
                                        "VirtualMachineScaleSets",
                                        "AvailabilitySet"
                                      ],
                                      "type": "string",
                                      "x-ms-enum": {
                                        "modelAsString": true,
                                        "name": "AgentPoolType"
                                      }
                                    }
                                  },
                                  "vmSize": {
                                    "description": "Size of agent VMs.",
                                    "body": {
                                      "description": "Size of agent VMs.",
                                      "enum": [
                                        "Standard_A1",
                                        "Standard_A10",
                                        "Standard_A11",
                                        "Standard_A1_v2",
                                        "Standard_A2",
                                        "Standard_A2_v2",
                                        "Standard_A2m_v2",
                                        "Standard_A3",
                                        "Standard_A4",
                                        "Standard_A4_v2",
                                        "Standard_A4m_v2",
                                        "Standard_A5",
                                        "Standard_A6",
                                        "Standard_A7",
                                        "Standard_A8",
                                        "Standard_A8_v2",
                                        "Standard_A8m_v2",
                                        "Standard_A9",
                                        "Standard_B2ms",
                                        "Standard_B2s",
                                        "Standard_B4ms",
                                        "Standard_B8ms",
                                        "Standard_D1",
                                        "Standard_D11",
                                        "Standard_D11_v2",
                                        "Standard_D11_v2_Promo",
                                        "Standard_D12",
                                        "Standard_D12_v2",
                                        "Standard_D12_v2_Promo",
                                        "Standard_D13",
                                        "Standard_D13_v2",
                                        "Standard_D13_v2_Promo",
                                        "Standard_D14",
                                        "Standard_D14_v2",
                                        "Standard_D14_v2_Promo",
                                        "Standard_D15_v2",
                                        "Standard_D16_v3",
                                        "Standard_D16s_v3",
                                        "Standard_D1_v2",
                                        "Standard_D2",
                                        "Standard_D2_v2",
                                        "Standard_D2_v2_Promo",
                                        "Standard_D2_v3",
                                        "Standard_D2s_v3",
                                        "Standard_D3",
                                        "Standard_D32_v3",
                                        "Standard_D32s_v3",
                                        "Standard_D3_v2",
                                        "Standard_D3_v2_Promo",
                                        "Standard_D4",
                                        "Standard_D4_v2",
                                        "Standard_D4_v2_Promo",
                                        "Standard_D4_v3",
                                        "Standard_D4s_v3",
                                        "Standard_D5_v2",
                                        "Standard_D5_v2_Promo",
                                        "Standard_D64_v3",
                                        "Standard_D64s_v3",
                                        "Standard_D8_v3",
                                        "Standard_D8s_v3",
                                        "Standard_DS1",
                                        "Standard_DS11",
                                        "Standard_DS11_v2",
                                        "Standard_DS11_v2_Promo",
                                        "Standard_DS12",
                                        "Standard_DS12_v2",
                                        "Standard_DS12_v2_Promo",
                                        "Standard_DS13",
                                        "Standard_DS13-2_v2",
                                        "Standard_DS13-4_v2",
                                        "Standard_DS13_v2",
                                        "Standard_DS13_v2_Promo",
                                        "Standard_DS14",
                                        "Standard_DS14-4_v2",
                                        "Standard_DS14-8_v2",
                                        "Standard_DS14_v2",
                                        "Standard_DS14_v2_Promo",
                                        "Standard_DS15_v2",
                                        "Standard_DS1_v2",
                                        "Standard_DS2",
                                        "Standard_DS2_v2",
                                        "Standard_DS2_v2_Promo",
                                        "Standard_DS3",
                                        "Standard_DS3_v2",
                                        "Standard_DS3_v2_Promo",
                                        "Standard_DS4",
                                        "Standard_DS4_v2",
                                        "Standard_DS4_v2_Promo",
                                        "Standard_DS5_v2",
                                        "Standard_DS5_v2_Promo",
                                        "Standard_E16_v3",
                                        "Standard_E16s_v3",
                                        "Standard_E2_v3",
                                        "Standard_E2s_v3",
                                        "Standard_E32-16s_v3",
                                        "Standard_E32-8s_v3",
                                        "Standard_E32_v3",
                                        "Standard_E32s_v3",
                                        "Standard_E4_v3",
                                        "Standard_E4s_v3",
                                        "Standard_E64-16s_v3",
                                        "Standard_E64-32s_v3",
                                        "Standard_E64_v3",
                                        "Standard_E64s_v3",
                                        "Standard_E8_v3",
                                        "Standard_E8s_v3",
                                        "Standard_F1",
                                        "Standard_F16",
                                        "Standard_F16s",
                                        "Standard_F16s_v2",
                                        "Standard_F1s",
                                        "Standard_F2",
                                        "Standard_F2s",
                                        "Standard_F2s_v2",
                                        "Standard_F32s_v2",
                                        "Standard_F4",
                                        "Standard_F4s",
                                        "Standard_F4s_v2",
                                        "Standard_F64s_v2",
                                        "Standard_F72s_v2",
                                        "Standard_F8",
                                        "Standard_F8s",
                                        "Standard_F8s_v2",
                                        "Standard_G1",
                                        "Standard_G2",
                                        "Standard_G3",
                                        "Standard_G4",
                                        "Standard_G5",
                                        "Standard_GS1",
                                        "Standard_GS2",
                                        "Standard_GS3",
                                        "Standard_GS4",
                                        "Standard_GS4-4",
                                        "Standard_GS4-8",
                                        "Standard_GS5",
                                        "Standard_GS5-16",
                                        "Standard_GS5-8",
                                        "Standard_H16",
                                        "Standard_H16m",
                                        "Standard_H16mr",
                                        "Standard_H16r",
                                        "Standard_H8",
                                        "Standard_H8m",
                                        "Standard_L16s",
                                        "Standard_L32s",
                                        "Standard_L4s",
                                        "Standard_L8s",
                                        "Standard_M128-32ms",
                                        "Standard_M128-64ms",
                                        "Standard_M128ms",
                                        "Standard_M128s",
                                        "Standard_M64-16ms",
                                        "Standard_M64-32ms",
                                        "Standard_M64ms",
                                        "Standard_M64s",
                                        "Standard_NC12",
                                        "Standard_NC12s_v2",
                                        "Standard_NC12s_v3",
                                        "Standard_NC24",
                                        "Standard_NC24r",
                                        "Standard_NC24rs_v2",
                                        "Standard_NC24rs_v3",
                                        "Standard_NC24s_v2",
                                        "Standard_NC24s_v3",
                                        "Standard_NC6",
                                        "Standard_NC6s_v2",
                                        "Standard_NC6s_v3",
                                        "Standard_ND12s",
                                        "Standard_ND24rs",
                                        "Standard_ND24s",
                                        "Standard_ND6s",
                                        "Standard_NV12",
                                        "Standard_NV24",
                                        "Standard_NV6"
                                      ],
                                      "type": "string",
                                      "x-ms-enum": {
                                        "modelAsString": true,
                                        "name": "ContainerServiceVMSizeTypes"
                                      }
                                    }
                                  },
                                  "vnetSubnetID": {
                                    "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                    "body": {
                                      "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                      "type": "string"
                                    }
                                  }
                                },
                                "required": [
                                  "vmSize",
                                  "count"
                                ]
                              },
                              {
                                "properties": {
                                  "name": {
                                    "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
                                    "pattern": "^[a-z][a-z0-9]{0,11}$",
                                    "type": "string"
                                  }
                                }
                              }
                            ],
                            "description": "Profile for the container service agent pool.",
                            "required": [
                              "name"
                            ]
                          },
                          "type": "array"
                        },
                        "apiServerAccessProfile": {
                          "description": "Access profile for managed cluster API server.",
                          "body": {
                            "description": "Access profile for managed cluster API server.",
                            "properties": {
                              "authorizedIPRanges": {
                                "description": "Authorized IP Ranges to kubernetes API server.",
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "enablePrivateCluster": {
                                "description": "Whether to create the cluster as a private cluster or not.",
                                "type": "boolean"
                              }
                            }
                          }
                        },
                        "diskEncryptionSetID": {
                          "description": "ResourceId of the disk encryption set to use for enabling encryption at rest.",
                          "type": "string"
                        },
                        "dnsPrefix": {
                          "description": "DNS prefix specified when creating the managed cluster.",
                          "type": "string"
                        },
                        "enablePodSecurityPolicy": {
                          "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy.",
                          "type": "boolean"
                        },
                        "enableRBAC": {
                          "description": "Whether to enable Kubernetes Role-Based Access Control.",
                          "type": "boolean"
                        },
                        "fqdn": {
                          "description": "FQDN for the master pool.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "identityProfile": {
                          "additionalProperties": {
                            "allOf": [
                              {
                                "properties": {
                                  "clientId": {
                                    "description": "The client id of the user assigned identity.",
                                    "type": "string"
                                  },
                                  "objectId": {
                                    "description": "The object id of the user assigned identity.",
                                    "type": "string"
                                  },
                                  "resourceId": {
                                    "description": "The resource id of the user assigned identity.",
                                    "type": "string"
                                  }
                                }
                              }
                            ],
                            "readOnly": true
                          },
                          "description": "Identities associated with the cluster."
                        },
                        "kubernetesVersion": {
                          "description": "Version of Kubernetes specified when creating the managed cluster.",
                          "type": "string"
                        },
                        "linuxProfile": {
                          "description": "Profile for Linux VMs in the container service cluster.",
                          "body": {
                            "description": "Profile for Linux VMs in the container service cluster.",
                            "properties": {
                              "adminUsername": {
                                "description": "The administrator username to use for Linux VMs.",
                                "pattern": "^[A-Za-z][-A-Za-z0-9_]*$",
                                "type": "string"
                              },
                              "ssh": {
                                "description": "SSH configuration for Linux-based VMs running on Azure.",
                                "body": {
                                  "description": "SSH configuration for Linux-based VMs running on Azure.",
                                  "properties": {
                                    "publicKeys": {
                                      "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.",
                                      "items": {
                                        "description": "Contains information about SSH certificate public key data.",
                                        "properties": {
                                          "keyData": {
                                            "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.",
                                            "type": "string"
                                          }
                                        },
                                        "required": [
                                          "keyData"
                                        ]
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "required": [
                                    "publicKeys"
                                  ]
                                }
                              }
                            },
                            "required": [
                              "adminUsername",
                              "ssh"
                            ]
                          }
                        },
                        "maxAgentPools": {
                          "description": "The max number of agent pools for the managed cluster.",
                          "readOnly": true,
                          "type": "integer"
                        },
                        "networkProfile": {
                          "description": "Profile of network configuration.",
                          "body": {
                            "description": "Profile of network configuration.",
                            "properties": {
                              "dnsServiceIP": {
                                "default": "10.0.0.10",
                                "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.",
                                "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
                                "type": "string"
                              },
                              "dockerBridgeCidr": {
                                "default": "172.17.0.1/16",
                                "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.",
                                "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                "type": "string"
                              },
                              "loadBalancerProfile": {
                                "description": "Profile of the cluster load balancer.",
                                "body": {
                                  "description": "Profile of the managed cluster load balancer.",
                                  "properties": {
                                    "allocatedOutboundPorts": {
                                      "default": 0,
                                      "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
                                      "maximum": 64000,
                                      "minimum": 0,
                                      "type": "integer"
                                    },
                                    "effectiveOutboundIPs": {
                                      "description": "The effective outbound IP resources of the cluster load balancer.",
                                      "items": {
                                        "description": "A reference to an Azure resource.",
                                        "properties": {
                                          "id": {
                                            "description": "The fully qualified Azure resource id.",
                                            "type": "string"
                                          }
                                        }
                                      },
                                      "type": "array"
                                    },
                                    "idleTimeoutInMinutes": {
                                      "default": 30,
                                      "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
                                      "maximum": 120,
                                      "minimum": 4,
                                      "type": "integer"
                                    },
                                    "managedOutboundIPs": {
                                      "description": "Desired managed outbound IPs for the cluster load balancer.",
                                      "properties": {
                                        "count": {
                                          "default": 1,
                                          "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                          "maximum": 100,
                                          "minimum": 1,
                                          "type": "integer"
                                        }
                                      }
                                    },
                                    "outboundIPPrefixes": {
                                      "description": "Desired outbound IP Prefix resources for the cluster load balancer.",
                                      "properties": {
                                        "publicIPPrefixes": {
                                          "description": "A list of public IP prefix resources.",
                                          "items": {
                                            "description": "A reference to an Azure resource.",
                                            "properties": {
                                              "id": {
                                                "description": "The fully qualified Azure resource id.",
                                                "type": "string"
                                              }
                                            }
                                          },
                                          "type": "array"
                                        }
                                      }
                                    },
                                    "outboundIPs": {
                                      "description": "Desired outbound IP resources for the cluster load balancer.",
                                      "properties": {
                                        "publicIPs": {
                                          "description": "A list of public IP resources.",
                                          "items": {
                                            "description": "A reference to an Azure resource.",
                                            "properties": {
                                              "id": {
                                                "description": "The fully qualified Azure resource id.",
                                                "type": "string"
                                              }
                                            }
                                          },
                                          "type": "array"
                                        }
                                      }
                                    }
                                  }
                                }
                              },
                              "loadBalancerSku": {
                                "description": "The load balancer sku for the managed cluster.",
                                "enum": [
                                  "standard",
                                  "basic"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "loadBalancerSku"
                                }
                              },
                              "networkPlugin": {
                                "default": "kubenet",
                                "description": "Network plugin used for building Kubernetes network.",
                                "enum": [
                                  "azure",
                                  "kubenet"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "NetworkPlugin"
                                }
                              },
                              "networkPolicy": {
                                "description": "Network policy used for building Kubernetes network.",
                                "enum": [
                                  "calico",
                                  "azure"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "NetworkPolicy"
                                }
                              },
                              "outboundType": {
                                "default": "loadBalancer",
                                "description": "The outbound (egress) routing method.",
                                "enum": [
                                  "loadBalancer",
                                  "userDefinedRouting"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "outboundType"
                                }
                              },
                              "podCidr": {
                                "default": "10.244.0.0/16",
                                "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.",
                                "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                "type": "string"
                              },
                              "serviceCidr": {
                                "default": "10.0.0.0/16",
                                "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.",
                                "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                                "type": "string"
                              }
                            }
                          }
                        },
                        "nodeResourceGroup": {
                          "description": "Name of the resource group containing agent pool nodes.",
                          "type": "string"
                        },
                        "privateFQDN": {
                          "description": "FQDN of private cluster.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "provisioningState": {
                          "description": "The current deployment or provisioning state, which only appears in the response.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "servicePrincipalProfile": {
                          "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                          "body": {
                            "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                            "properties": {
                              "clientId": {
                                "description": "The ID for the service principal.",
                                "type": "string"
                              },
                              "secret": {
                                "description": "The secret password associated with the service principal in plain text.",
                                "type": "string"
                              }
                            },
                            "required": [
                              "clientId"
                            ]
                          }
                        },
                        "windowsProfile": {
                          "description": "Profile for Windows VMs in the container service cluster.",
                          "body": {
                            "description": "Profile for Windows VMs in the container service cluster.",
                            "properties": {
                              "adminPassword": {
                                "description": "The administrator password to use for Windows VMs.",
                                "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$",
                                "type": "string"
                              },
                              "adminUsername": {
                                "description": "The administrator username to use for Windows VMs.",
                                "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$",
                                "type": "string"
                              }
                            },
                            "required": [
                              "adminUsername"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            ],
            "description": "Managed cluster."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "allOf": [
            {
              "description": "The Resource model definition.",
              "properties": {
                "id": {
                  "description": "Resource Id",
                  "readOnly": true,
                  "type": "string"
                },
                "location": {
                  "description": "Resource location",
                  "type": "string",
                  "x-ms-mutability": [
                    "read",
                    "create"
                  ]
                },
                "name": {
                  "description": "Resource name",
                  "readOnly": true,
                  "type": "string"
                },
                "tags": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Resource tags",
                  "type": "object"
                },
                "type": {
                  "description": "Resource type",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "required": [
                "location"
              ],
              "x-ms-azure-resource": true
            },
            {
              "properties": {
                "identity": {
                  "description": "The identity of the managed cluster, if configured.",
                  "body": {
                    "description": "Identity for the managed cluster.",
                    "properties": {
                      "principalId": {
                        "description": "The principal id of the system assigned identity which is used by master components.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "tenantId": {
                        "description": "The tenant id of the system assigned identity which is used by master components.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "type": {
                        "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
                        "enum": [
                          "SystemAssigned",
                          "None"
                        ],
                        "type": "string",
                        "x-ms-enum": {
                          "modelAsString": false,
                          "name": "ResourceIdentityType"
                        }
                      }
                    }
                  }
                },
                "properties": {
                  "description": "Properties of a managed cluster.",
                  "x-ms-client-flatten": true,
                  "body": {
                    "description": "Properties of the managed cluster.",
                    "properties": {
                      "aadProfile": {
                        "description": "Profile of Azure Active Directory configuration.",
                        "body": {
                          "description": "AADProfile specifies attributes for Azure Active Directory integration.",
                          "properties": {
                            "clientAppID": {
                              "description": "The client AAD application ID.",
                              "type": "string"
                            },
                            "serverAppID": {
                              "description": "The server AAD application ID.",
                              "type": "string"
                            },
                            "serverAppSecret": {
                              "description": "The server AAD application secret.",
                              "type": "string"
                            },
                            "tenantID": {
                              "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientAppID",
                            "serverAppID"
                          ]
                        }
                      },
                      "addonProfiles": {
                        "additionalProperties": {
                          "description": "A Kubernetes add-on profile for a managed cluster.",
                          "properties": {
                            "config": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Key-value pairs for configuring an add-on."
                            },
                            "enabled": {
                              "description": "Whether the add-on is enabled or not.",
                              "type": "boolean"
                            },
                            "identity": {
                              "allOf": [
                                {
                                  "properties": {
                                    "clientId": {
                                      "description": "The client id of the user assigned identity.",
                                      "type": "string"
                                    },
                                    "objectId": {
                                      "description": "The object id of the user assigned identity.",
                                      "type": "string"
                                    },
                                    "resourceId": {
                                      "description": "The resource id of the user assigned identity.",
                                      "type": "string"
                                    }
                                  }
                                }
                              ],
                              "description": "Information of user assigned identity used by this add-on.",
                              "readOnly": true
                            }
                          },
                          "required": [
                            "enabled"
                          ]
                        },
                        "description": "Profile of managed cluster add-on."
                      },
                      "agentPoolProfiles": {
                        "description": "Properties of the agent pool.",
                        "items": {
                          "allOf": [
                            {
                              "description": "Properties for the container service agent pool profile.",
                              "properties": {
                                "availabilityZones": {
                                  "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "count": {
                                  "default": 1,
                                  "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                  "maximum": 100,
                                  "minimum": 1,
                                  "type": "integer"
                                },
                                "enableAutoScaling": {
                                  "description": "Whether to enable auto-scaler",
                                  "type": "boolean"
                                },
                                "enableNodePublicIP": {
                                  "description": "Enable public IP for nodes",
                                  "type": "boolean"
                                },
                                "maxCount": {
                                  "description": "Maximum number of nodes for auto-scaling",
                                  "type": "integer"
                                },
                                "maxPods": {
                                  "description": "Maximum number of pods that can run on a node.",
                                  "type": "integer"
                                },
                                "minCount": {
                                  "description": "Minimum number of nodes for auto-scaling",
                                  "type": "integer"
                                },
                                "nodeLabels": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                                  "type": "object"
                                },
                                "nodeTaints": {
                                  "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "orchestratorVersion": {
                                  "description": "Version of orchestrator specified when creating the managed cluster.",
                                  "type": "string"
                                },
                                "osDiskSizeGB": {
                                  "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                  "body": {
                                    "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                    "maximum": 1023,
                                    "minimum": 0,
                                    "type": "integer"
                                  }
                                },
                                "osType": {
                                  "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                  "body": {
                                    "default": "Linux",
                                    "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                    "enum": [
                                      "Linux",
                                      "Windows"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "OSType"
                                    }
                                  }
                                },
                                "provisioningState": {
                                  "description": "The current deployment or provisioning state, which only appears in the response.",
                                  "readOnly": true,
                                  "type": "string"
                                },
                                "scaleSetEvictionPolicy": {
                                  "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                  "body": {
                                    "default": "Delete",
                                    "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                    "enum": [
                                      "Delete",
                                      "Deallocate"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ScaleSetEvictionPolicy"
                                    }
                                  }
                                },
                                "scaleSetPriority": {
                                  "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                  "body": {
                                    "default": "Regular",
                                    "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                    "enum": [
                                      "Low",
                                      "Regular"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ScaleSetPriority"
                                    }
                                  }
                                },
                                "tags": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                                  "type": "object"
                                },
                                "type": {
                                  "description": "AgentPoolType represents types of an agent pool",
                                  "body": {
                                    "description": "AgentPoolType represents types of an agent pool.",
                                    "enum": [
                                      "VirtualMachineScaleSets",
                                      "AvailabilitySet"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "AgentPoolType"
                                    }
                                  }
                                },
                                "vmSize": {
                                  "description": "Size of agent VMs.",
                                  "body": {
                                    "description": "Size of agent VMs.",
                                    "enum": [
                                      "Standard_A1",
                                      "Standard_A10",
                                      "Standard_A11",
                                      "Standard_A1_v2",
                                      "Standard_A2",
                                      "Standard_A2_v2",
                                      "Standard_A2m_v2",
                                      "Standard_A3",
                                      "Standard_A4",
                                      "Standard_A4_v2",
                                      "Standard_A4m_v2",
                                      "Standard_A5",
                                      "Standard_A6",
                                      "Standard_A7",
                                      "Standard_A8",
                                      "Standard_A8_v2",
                                      "Standard_A8m_v2",
                                      "Standard_A9",
                                      "Standard_B2ms",
                                      "Standard_B2s",
                                      "Standard_B4ms",
                                      "Standard_B8ms",
                                      "Standard_D1",
                                      "Standard_D11",
                                      "Standard_D11_v2",
                                      "Standard_D11_v2_Promo",
                                      "Standard_D12",
                                      "Standard_D12_v2",
                                      "Standard_D12_v2_Promo",
                                      "Standard_D13",
                                      "Standard_D13_v2",
                                      "Standard_D13_v2_Promo",
                                      "Standard_D14",
                                      "Standard_D14_v2",
                                      "Standard_D14_v2_Promo",
                                      "Standard_D15_v2",
                                      "Standard_D16_v3",
                                      "Standard_D16s_v3",
                                      "Standard_D1_v2",
                                      "Standard_D2",
                                      "Standard_D2_v2",
                                      "Standard_D2_v2_Promo",
                                      "Standard_D2_v3",
                                      "Standard_D2s_v3",
                                      "Standard_D3",
                                      "Standard_D32_v3",
                                      "Standard_D32s_v3",
                                      "Standard_D3_v2",
                                      "Standard_D3_v2_Promo",
                                      "Standard_D4",
                                      "Standard_D4_v2",
                                      "Standard_D4_v2_Promo",
                                      "Standard_D4_v3",
                                      "Standard_D4s_v3",
                                      "Standard_D5_v2",
                                      "Standard_D5_v2_Promo",
                                      "Standard_D64_v3",
                                      "Standard_D64s_v3",
                                      "Standard_D8_v3",
                                      "Standard_D8s_v3",
                                      "Standard_DS1",
                                      "Standard_DS11",
                                      "Standard_DS11_v2",
                                      "Standard_DS11_v2_Promo",
                                      "Standard_DS12",
                                      "Standard_DS12_v2",
                                      "Standard_DS12_v2_Promo",
                                      "Standard_DS13",
                                      "Standard_DS13-2_v2",
                                      "Standard_DS13-4_v2",
                                      "Standard_DS13_v2",
                                      "Standard_DS13_v2_Promo",
                                      "Standard_DS14",
                                      "Standard_DS14-4_v2",
                                      "Standard_DS14-8_v2",
                                      "Standard_DS14_v2",
                                      "Standard_DS14_v2_Promo",
                                      "Standard_DS15_v2",
                                      "Standard_DS1_v2",
                                      "Standard_DS2",
                                      "Standard_DS2_v2",
                                      "Standard_DS2_v2_Promo",
                                      "Standard_DS3",
                                      "Standard_DS3_v2",
                                      "Standard_DS3_v2_Promo",
                                      "Standard_DS4",
                                      "Standard_DS4_v2",
                                      "Standard_DS4_v2_Promo",
                                      "Standard_DS5_v2",
                                      "Standard_DS5_v2_Promo",
                                      "Standard_E16_v3",
                                      "Standard_E16s_v3",
                                      "Standard_E2_v3",
                                      "Standard_E2s_v3",
                                      "Standard_E32-16s_v3",
                                      "Standard_E32-8s_v3",
                                      "Standard_E32_v3",
                                      "Standard_E32s_v3",
                                      "Standard_E4_v3",
                                      "Standard_E4s_v3",
                                      "Standard_E64-16s_v3",
                                      "Standard_E64-32s_v3",
                                      "Standard_E64_v3",
                                      "Standard_E64s_v3",
                                      "Standard_E8_v3",
                                      "Standard_E8s_v3",
                                      "Standard_F1",
                                      "Standard_F16",
                                      "Standard_F16s",
                                      "Standard_F16s_v2",
                                      "Standard_F1s",
                                      "Standard_F2",
                                      "Standard_F2s",
                                      "Standard_F2s_v2",
                                      "Standard_F32s_v2",
                                      "Standard_F4",
                                      "Standard_F4s",
                                      "Standard_F4s_v2",
                                      "Standard_F64s_v2",
                                      "Standard_F72s_v2",
                                      "Standard_F8",
                                      "Standard_F8s",
                                      "Standard_F8s_v2",
                                      "Standard_G1",
                                      "Standard_G2",
                                      "Standard_G3",
                                      "Standard_G4",
                                      "Standard_G5",
                                      "Standard_GS1",
                                      "Standard_GS2",
                                      "Standard_GS3",
                                      "Standard_GS4",
                                      "Standard_GS4-4",
                                      "Standard_GS4-8",
                                      "Standard_GS5",
                                      "Standard_GS5-16",
                                      "Standard_GS5-8",
                                      "Standard_H16",
                                      "Standard_H16m",
                                      "Standard_H16mr",
                                      "Standard_H16r",
                                      "Standard_H8",
                                      "Standard_H8m",
                                      "Standard_L16s",
                                      "Standard_L32s",
                                      "Standard_L4s",
                                      "Standard_L8s",
                                      "Standard_M128-32ms",
                                      "Standard_M128-64ms",
                                      "Standard_M128ms",
                                      "Standard_M128s",
                                      "Standard_M64-16ms",
                                      "Standard_M64-32ms",
                                      "Standard_M64ms",
                                      "Standard_M64s",
                                      "Standard_NC12",
                                      "Standard_NC12s_v2",
                                      "Standard_NC12s_v3",
                                      "Standard_NC24",
                                      "Standard_NC24r",
                                      "Standard_NC24rs_v2",
                                      "Standard_NC24rs_v3",
                                      "Standard_NC24s_v2",
                                      "Standard_NC24s_v3",
                                      "Standard_NC6",
                                      "Standard_NC6s_v2",
                                      "Standard_NC6s_v3",
                                      "Standard_ND12s",
                                      "Standard_ND24rs",
                                      "Standard_ND24s",
                                      "Standard_ND6s",
                                      "Standard_NV12",
                                      "Standard_NV24",
                                      "Standard_NV6"
                                    ],
                                    "type": "string",
                                    "x-ms-enum": {
                                      "modelAsString": true,
                                      "name": "ContainerServiceVMSizeTypes"
                                    }
                                  }
                                },
                                "vnetSubnetID": {
                                  "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                  "body": {
                                    "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                    "type": "string"
                                  }
                                }
                              },
                              "required": [
                                "vmSize",
                                "count"
                              ]
                            },
                            {
                              "properties": {
                                "name": {
                                  "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
                                  "pattern": "^[a-z][a-z0-9]{0,11}$",
                                  "type": "string"
                                }
                              }
                            }
                          ],
                          "description": "Profile for the container service agent pool.",
                          "required": [
                            "name"
                          ]
                        },
                        "type": "array"
                      },
                      "apiServerAccessProfile": {
                        "description": "Access profile for managed cluster API server.",
                        "body": {
                          "description": "Access profile for managed cluster API server.",
                          "properties": {
                            "authorizedIPRanges": {
                              "description": "Authorized IP Ranges to kubernetes API server.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "enablePrivateCluster": {
                              "description": "Whether to create the cluster as a private cluster or not.",
                              "type": "boolean"
                            }
                          }
                        }
                      },
                      "diskEncryptionSetID": {
                        "description": "ResourceId of the disk encryption set to use for enabling encryption at rest.",
                        "type": "string"
                      },
                      "dnsPrefix": {
                        "description": "DNS prefix specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "enablePodSecurityPolicy": {
                        "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy.",
                        "type": "boolean"
                      },
                      "enableRBAC": {
                        "description": "Whether to enable Kubernetes Role-Based Access Control.",
                        "type": "boolean"
                      },
                      "fqdn": {
                        "description": "FQDN for the master pool.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "identityProfile": {
                        "additionalProperties": {
                          "allOf": [
                            {
                              "properties": {
                                "clientId": {
                                  "description": "The client id of the user assigned identity.",
                                  "type": "string"
                                },
                                "objectId": {
                                  "description": "The object id of the user assigned identity.",
                                  "type": "string"
                                },
                                "resourceId": {
                                  "description": "The resource id of the user assigned identity.",
                                  "type": "string"
                                }
                              }
                            }
                          ],
                          "readOnly": true
                        },
                        "description": "Identities associated with the cluster."
                      },
                      "kubernetesVersion": {
                        "description": "Version of Kubernetes specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "linuxProfile": {
                        "description": "Profile for Linux VMs in the container service cluster.",
                        "body": {
                          "description": "Profile for Linux VMs in the container service cluster.",
                          "properties": {
                            "adminUsername": {
                              "description": "The administrator username to use for Linux VMs.",
                              "pattern": "^[A-Za-z][-A-Za-z0-9_]*$",
                              "type": "string"
                            },
                            "ssh": {
                              "description": "SSH configuration for Linux-based VMs running on Azure.",
                              "body": {
                                "description": "SSH configuration for Linux-based VMs running on Azure.",
                                "properties": {
                                  "publicKeys": {
                                    "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.",
                                    "items": {
                                      "description": "Contains information about SSH certificate public key data.",
                                      "properties": {
                                        "keyData": {
                                          "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "keyData"
                                      ]
                                    },
                                    "type": "array"
                                  }
                                },
                                "required": [
                                  "publicKeys"
                                ]
                              }
                            }
                          },
                          "required": [
                            "adminUsername",
                            "ssh"
                          ]
                        }
                      },
                      "maxAgentPools": {
                        "description": "The max number of agent pools for the managed cluster.",
                        "readOnly": true,
                        "type": "integer"
                      },
                      "networkProfile": {
                        "description": "Profile of network configuration.",
                        "body": {
                          "description": "Profile of network configuration.",
                          "properties": {
                            "dnsServiceIP": {
                              "default": "10.0.0.10",
                              "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.",
                              "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
                              "type": "string"
                            },
                            "dockerBridgeCidr": {
                              "default": "172.17.0.1/16",
                              "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            },
                            "loadBalancerProfile": {
                              "description": "Profile of the cluster load balancer.",
                              "body": {
                                "description": "Profile of the managed cluster load balancer.",
                                "properties": {
                                  "allocatedOutboundPorts": {
                                    "default": 0,
                                    "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
                                    "maximum": 64000,
                                    "minimum": 0,
                                    "type": "integer"
                                  },
                                  "effectiveOutboundIPs": {
                                    "description": "The effective outbound IP resources of the cluster load balancer.",
                                    "items": {
                                      "description": "A reference to an Azure resource.",
                                      "properties": {
                                        "id": {
                                          "description": "The fully qualified Azure resource id.",
                                          "type": "string"
                                        }
                                      }
                                    },
                                    "type": "array"
                                  },
                                  "idleTimeoutInMinutes": {
                                    "default": 30,
                                    "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
                                    "maximum": 120,
                                    "minimum": 4,
                                    "type": "integer"
                                  },
                                  "managedOutboundIPs": {
                                    "description": "Desired managed outbound IPs for the cluster load balancer.",
                                    "properties": {
                                      "count": {
                                        "default": 1,
                                        "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                                        "maximum": 100,
                                        "minimum": 1,
                                        "type": "integer"
                                      }
                                    }
                                  },
                                  "outboundIPPrefixes": {
                                    "description": "Desired outbound IP Prefix resources for the cluster load balancer.",
                                    "properties": {
                                      "publicIPPrefixes": {
                                        "description": "A list of public IP prefix resources.",
                                        "items": {
                                          "description": "A reference to an Azure resource.",
                                          "properties": {
                                            "id": {
                                              "description": "The fully qualified Azure resource id.",
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "type": "array"
                                      }
                                    }
                                  },
                                  "outboundIPs": {
                                    "description": "Desired outbound IP resources for the cluster load balancer.",
                                    "properties": {
                                      "publicIPs": {
                                        "description": "A list of public IP resources.",
                                        "items": {
                                          "description": "A reference to an Azure resource.",
                                          "properties": {
                                            "id": {
                                              "description": "The fully qualified Azure resource id.",
                                              "type": "string"
                                            }
                                          }
                                        },
                                        "type": "array"
                                      }
                                    }
                                  }
                                }
                              }
                            },
                            "loadBalancerSku": {
                              "description": "The load balancer sku for the managed cluster.",
                              "enum": [
                                "standard",
                                "basic"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "loadBalancerSku"
                              }
                            },
                            "networkPlugin": {
                              "default": "kubenet",
                              "description": "Network plugin used for building Kubernetes network.",
                              "enum": [
                                "azure",
                                "kubenet"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "NetworkPlugin"
                              }
                            },
                            "networkPolicy": {
                              "description": "Network policy used for building Kubernetes network.",
                              "enum": [
                                "calico",
                                "azure"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "NetworkPolicy"
                              }
                            },
                            "outboundType": {
                              "default": "loadBalancer",
                              "description": "The outbound (egress) routing method.",
                              "enum": [
                                "loadBalancer",
                                "userDefinedRouting"
                              ],
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": true,
                                "name": "outboundType"
                              }
                            },
                            "podCidr": {
                              "default": "10.244.0.0/16",
                              "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            },
                            "serviceCidr": {
                              "default": "10.0.0.0/16",
                              "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.",
                              "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
                              "type": "string"
                            }
                          }
                        }
                      },
                      "nodeResourceGroup": {
                        "description": "Name of the resource group containing agent pool nodes.",
                        "type": "string"
                      },
                      "privateFQDN": {
                        "description": "FQDN of private cluster.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "provisioningState": {
                        "description": "The current deployment or provisioning state, which only appears in the response.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "servicePrincipalProfile": {
                        "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                        "body": {
                          "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
                          "properties": {
                            "clientId": {
                              "description": "The ID for the service principal.",
                              "type": "string"
                            },
                            "secret": {
                              "description": "The secret password associated with the service principal in plain text.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "clientId"
                          ]
                        }
                      },
                      "windowsProfile": {
                        "description": "Profile for Windows VMs in the container service cluster.",
                        "body": {
                          "description": "Profile for Windows VMs in the container service cluster.",
                          "properties": {
                            "adminPassword": {
                              "description": "The administrator password to use for Windows VMs.",
                              "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$",
                              "type": "string"
                            },
                            "adminUsername": {
                              "description": "The administrator username to use for Windows VMs.",
                              "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$",
                              "type": "string"
                            }
                          },
                          "required": [
                            "adminUsername"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          ],
          "description": "Managed cluster."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersCreateOrUpdate"
      },
      "task": true
    },
    {
      "name": "managedClustersGetAccessProfile",
      "summary": "Gets an access profile of a managed cluster.",
      "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "roleName",
          "type": "string",
          "info": "The name of the role for managed cluster accessProfile resource.: string",
          "required": true,
          "schema": {
            "title": "roleName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "allOf": [
            {
              "description": "The Resource model definition.",
              "properties": {
                "id": {
                  "description": "Resource Id",
                  "readOnly": true,
                  "type": "string"
                },
                "location": {
                  "description": "Resource location",
                  "type": "string",
                  "x-ms-mutability": [
                    "read",
                    "create"
                  ]
                },
                "name": {
                  "description": "Resource name",
                  "readOnly": true,
                  "type": "string"
                },
                "tags": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Resource tags",
                  "type": "object"
                },
                "type": {
                  "description": "Resource type",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "required": [
                "location"
              ],
              "x-ms-azure-resource": true
            },
            {
              "properties": {
                "properties": {
                  "description": "AccessProfile of a managed cluster.",
                  "x-ms-client-flatten": true,
                  "body": {
                    "description": "Profile for enabling a user to access a managed cluster.",
                    "properties": {
                      "kubeConfig": {
                        "description": "Base64-encoded Kubernetes configuration file.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                }
              }
            }
          ],
          "description": "Managed cluster Access Profile.",
          "x-ms-azure-resource": false
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersGetAccessProfile"
      },
      "task": true
    },
    {
      "name": "managedClustersListClusterAdminCredentials",
      "summary": "Gets cluster admin credential of a managed cluster.",
      "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The list of credential result response.",
          "properties": {
            "kubeconfigs": {
              "description": "Base64-encoded Kubernetes configuration file.",
              "items": {
                "description": "The credential result response.",
                "properties": {
                  "name": {
                    "description": "The name of the credential.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "value": {
                    "description": "Base64-encoded Kubernetes configuration file.",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "readOnly": true,
              "type": "array"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersListClusterAdminCredentials"
      },
      "task": true
    },
    {
      "name": "managedClustersListClusterMonitoringUserCredentials",
      "summary": "Gets cluster monitoring user credential of a managed cluster.",
      "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The list of credential result response.",
          "properties": {
            "kubeconfigs": {
              "description": "Base64-encoded Kubernetes configuration file.",
              "items": {
                "description": "The credential result response.",
                "properties": {
                  "name": {
                    "description": "The name of the credential.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "value": {
                    "description": "Base64-encoded Kubernetes configuration file.",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "readOnly": true,
              "type": "array"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersListClusterMonitoringUserCredentials"
      },
      "task": true
    },
    {
      "name": "managedClustersListClusterUserCredentials",
      "summary": "Gets cluster user credential of a managed cluster.",
      "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The list of credential result response.",
          "properties": {
            "kubeconfigs": {
              "description": "Base64-encoded Kubernetes configuration file.",
              "items": {
                "description": "The credential result response.",
                "properties": {
                  "name": {
                    "description": "The name of the credential.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "value": {
                    "description": "Base64-encoded Kubernetes configuration file.",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "readOnly": true,
              "type": "array"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersListClusterUserCredentials"
      },
      "task": true
    },
    {
      "name": "managedClustersResetAADProfile",
      "summary": "Reset AAD Profile of a managed cluster.",
      "description": "Update the AAD Profile for a managed cluster.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "parameters",
          "type": "object",
          "info": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster.: {\"clientAppID\": \"string\", \"serverAppID\": \"string\", \"serverAppSecret\": \"string\", \"tenantID\": \"string\"}",
          "required": true,
          "schema": {
            "description": "AADProfile specifies attributes for Azure Active Directory integration.",
            "properties": {
              "clientAppID": {
                "description": "The client AAD application ID.",
                "type": "string"
              },
              "serverAppID": {
                "description": "The server AAD application ID.",
                "type": "string"
              },
              "serverAppSecret": {
                "description": "The server AAD application secret.",
                "type": "string"
              },
              "tenantID": {
                "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription.",
                "type": "string"
              }
            },
            "required": [
              "clientAppID",
              "serverAppID"
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersResetAADProfile"
      },
      "task": true
    },
    {
      "name": "managedClustersResetServicePrincipalProfile",
      "summary": "Reset Service Principal Profile of a managed cluster.",
      "description": "Update the service principal Profile for a managed cluster.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "parameters",
          "type": "object",
          "info": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster.: {\"clientId\": \"string\", \"secret\": \"string\"}",
          "required": true,
          "schema": {
            "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
            "properties": {
              "clientId": {
                "description": "The ID for the service principal.",
                "type": "string"
              },
              "secret": {
                "description": "The secret password associated with the service principal in plain text.",
                "type": "string"
              }
            },
            "required": [
              "clientId"
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersResetServicePrincipalProfile"
      },
      "task": true
    },
    {
      "name": "managedClustersRotateClusterCertificates",
      "summary": "Rotate certificates of a managed cluster.",
      "description": "Rotate certificates of a managed cluster.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersRotateClusterCertificates"
      },
      "task": true
    },
    {
      "name": "managedClustersGetUpgradeProfile",
      "summary": "Gets upgrade profile for a managed cluster.",
      "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The list of available upgrades for compute pools.",
          "properties": {
            "id": {
              "description": "Id of upgrade profile.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Name of upgrade profile.",
              "readOnly": true,
              "type": "string"
            },
            "properties": {
              "description": "Properties of upgrade profile.",
              "x-ms-client-flatten": true,
              "body": {
                "description": "Control plane and agent pool upgrade profiles.",
                "properties": {
                  "agentPoolProfiles": {
                    "description": "The list of available upgrade versions for agent pools.",
                    "items": {
                      "description": "The list of available upgrade versions.",
                      "properties": {
                        "kubernetesVersion": {
                          "description": "Kubernetes version (major, minor, patch).",
                          "type": "string"
                        },
                        "name": {
                          "description": "Pool name.",
                          "type": "string"
                        },
                        "osType": {
                          "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                          "enum": [
                            "Linux",
                            "Windows"
                          ],
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ContainerServiceOSTypes"
                          },
                          "body": {
                            "default": "Linux",
                            "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                            "enum": [
                              "Linux",
                              "Windows"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "OSType"
                            }
                          }
                        },
                        "upgrades": {
                          "description": "List of orchestrator types and versions available for upgrade.",
                          "items": {
                            "properties": {
                              "isPreview": {
                                "description": "Whether Kubernetes version is currently in preview.",
                                "type": "boolean"
                              },
                              "kubernetesVersion": {
                                "description": "Kubernetes version (major, minor, patch).",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "kubernetesVersion",
                        "osType"
                      ]
                    },
                    "type": "array"
                  },
                  "controlPlaneProfile": {
                    "description": "The list of available upgrade versions for the control plane.",
                    "body": {
                      "description": "The list of available upgrade versions.",
                      "properties": {
                        "kubernetesVersion": {
                          "description": "Kubernetes version (major, minor, patch).",
                          "type": "string"
                        },
                        "name": {
                          "description": "Pool name.",
                          "type": "string"
                        },
                        "osType": {
                          "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                          "enum": [
                            "Linux",
                            "Windows"
                          ],
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ContainerServiceOSTypes"
                          },
                          "body": {
                            "default": "Linux",
                            "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                            "enum": [
                              "Linux",
                              "Windows"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "OSType"
                            }
                          }
                        },
                        "upgrades": {
                          "description": "List of orchestrator types and versions available for upgrade.",
                          "items": {
                            "properties": {
                              "isPreview": {
                                "description": "Whether Kubernetes version is currently in preview.",
                                "type": "boolean"
                              },
                              "kubernetesVersion": {
                                "description": "Kubernetes version (major, minor, patch).",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "type": "array"
                        }
                      },
                      "required": [
                        "kubernetesVersion",
                        "osType"
                      ]
                    }
                  }
                },
                "required": [
                  "controlPlaneProfile",
                  "agentPoolProfiles"
                ]
              }
            },
            "type": {
              "description": "Type of upgrade profile.",
              "readOnly": true,
              "type": "string"
            }
          },
          "required": [
            "properties"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/managedClustersGetUpgradeProfile"
      },
      "task": true
    },
    {
      "name": "agentPoolsList",
      "summary": "Gets a list of agent pools in the specified managed cluster.",
      "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The response from the List Agent Pools operation.",
          "properties": {
            "nextLink": {
              "description": "The URL to get the next set of agent pool results.",
              "readOnly": true,
              "type": "string"
            },
            "value": {
              "description": "The list of agent pools.",
              "items": {
                "allOf": [
                  {
                    "description": "Reference to another subresource.",
                    "properties": {
                      "id": {
                        "description": "Resource ID.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "name": {
                        "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "type": {
                        "description": "Resource type",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "x-ms-azure-resource": true
                  },
                  {
                    "properties": {
                      "properties": {
                        "description": "Properties of an agent pool.",
                        "x-ms-client-flatten": true,
                        "body": {
                          "description": "Properties for the container service agent pool profile.",
                          "properties": {
                            "availabilityZones": {
                              "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "count": {
                              "default": 1,
                              "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                              "maximum": 100,
                              "minimum": 1,
                              "type": "integer"
                            },
                            "enableAutoScaling": {
                              "description": "Whether to enable auto-scaler",
                              "type": "boolean"
                            },
                            "enableNodePublicIP": {
                              "description": "Enable public IP for nodes",
                              "type": "boolean"
                            },
                            "maxCount": {
                              "description": "Maximum number of nodes for auto-scaling",
                              "type": "integer"
                            },
                            "maxPods": {
                              "description": "Maximum number of pods that can run on a node.",
                              "type": "integer"
                            },
                            "minCount": {
                              "description": "Minimum number of nodes for auto-scaling",
                              "type": "integer"
                            },
                            "nodeLabels": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                              "type": "object"
                            },
                            "nodeTaints": {
                              "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                              "items": {
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "orchestratorVersion": {
                              "description": "Version of orchestrator specified when creating the managed cluster.",
                              "type": "string"
                            },
                            "osDiskSizeGB": {
                              "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                              "body": {
                                "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                                "maximum": 1023,
                                "minimum": 0,
                                "type": "integer"
                              }
                            },
                            "osType": {
                              "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                              "body": {
                                "default": "Linux",
                                "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                                "enum": [
                                  "Linux",
                                  "Windows"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "OSType"
                                }
                              }
                            },
                            "provisioningState": {
                              "description": "The current deployment or provisioning state, which only appears in the response.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "scaleSetEvictionPolicy": {
                              "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                              "body": {
                                "default": "Delete",
                                "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                                "enum": [
                                  "Delete",
                                  "Deallocate"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "ScaleSetEvictionPolicy"
                                }
                              }
                            },
                            "scaleSetPriority": {
                              "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                              "body": {
                                "default": "Regular",
                                "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                                "enum": [
                                  "Low",
                                  "Regular"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "ScaleSetPriority"
                                }
                              }
                            },
                            "tags": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                              "type": "object"
                            },
                            "type": {
                              "description": "AgentPoolType represents types of an agent pool",
                              "body": {
                                "description": "AgentPoolType represents types of an agent pool.",
                                "enum": [
                                  "VirtualMachineScaleSets",
                                  "AvailabilitySet"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "AgentPoolType"
                                }
                              }
                            },
                            "vmSize": {
                              "description": "Size of agent VMs.",
                              "body": {
                                "description": "Size of agent VMs.",
                                "enum": [
                                  "Standard_A1",
                                  "Standard_A10",
                                  "Standard_A11",
                                  "Standard_A1_v2",
                                  "Standard_A2",
                                  "Standard_A2_v2",
                                  "Standard_A2m_v2",
                                  "Standard_A3",
                                  "Standard_A4",
                                  "Standard_A4_v2",
                                  "Standard_A4m_v2",
                                  "Standard_A5",
                                  "Standard_A6",
                                  "Standard_A7",
                                  "Standard_A8",
                                  "Standard_A8_v2",
                                  "Standard_A8m_v2",
                                  "Standard_A9",
                                  "Standard_B2ms",
                                  "Standard_B2s",
                                  "Standard_B4ms",
                                  "Standard_B8ms",
                                  "Standard_D1",
                                  "Standard_D11",
                                  "Standard_D11_v2",
                                  "Standard_D11_v2_Promo",
                                  "Standard_D12",
                                  "Standard_D12_v2",
                                  "Standard_D12_v2_Promo",
                                  "Standard_D13",
                                  "Standard_D13_v2",
                                  "Standard_D13_v2_Promo",
                                  "Standard_D14",
                                  "Standard_D14_v2",
                                  "Standard_D14_v2_Promo",
                                  "Standard_D15_v2",
                                  "Standard_D16_v3",
                                  "Standard_D16s_v3",
                                  "Standard_D1_v2",
                                  "Standard_D2",
                                  "Standard_D2_v2",
                                  "Standard_D2_v2_Promo",
                                  "Standard_D2_v3",
                                  "Standard_D2s_v3",
                                  "Standard_D3",
                                  "Standard_D32_v3",
                                  "Standard_D32s_v3",
                                  "Standard_D3_v2",
                                  "Standard_D3_v2_Promo",
                                  "Standard_D4",
                                  "Standard_D4_v2",
                                  "Standard_D4_v2_Promo",
                                  "Standard_D4_v3",
                                  "Standard_D4s_v3",
                                  "Standard_D5_v2",
                                  "Standard_D5_v2_Promo",
                                  "Standard_D64_v3",
                                  "Standard_D64s_v3",
                                  "Standard_D8_v3",
                                  "Standard_D8s_v3",
                                  "Standard_DS1",
                                  "Standard_DS11",
                                  "Standard_DS11_v2",
                                  "Standard_DS11_v2_Promo",
                                  "Standard_DS12",
                                  "Standard_DS12_v2",
                                  "Standard_DS12_v2_Promo",
                                  "Standard_DS13",
                                  "Standard_DS13-2_v2",
                                  "Standard_DS13-4_v2",
                                  "Standard_DS13_v2",
                                  "Standard_DS13_v2_Promo",
                                  "Standard_DS14",
                                  "Standard_DS14-4_v2",
                                  "Standard_DS14-8_v2",
                                  "Standard_DS14_v2",
                                  "Standard_DS14_v2_Promo",
                                  "Standard_DS15_v2",
                                  "Standard_DS1_v2",
                                  "Standard_DS2",
                                  "Standard_DS2_v2",
                                  "Standard_DS2_v2_Promo",
                                  "Standard_DS3",
                                  "Standard_DS3_v2",
                                  "Standard_DS3_v2_Promo",
                                  "Standard_DS4",
                                  "Standard_DS4_v2",
                                  "Standard_DS4_v2_Promo",
                                  "Standard_DS5_v2",
                                  "Standard_DS5_v2_Promo",
                                  "Standard_E16_v3",
                                  "Standard_E16s_v3",
                                  "Standard_E2_v3",
                                  "Standard_E2s_v3",
                                  "Standard_E32-16s_v3",
                                  "Standard_E32-8s_v3",
                                  "Standard_E32_v3",
                                  "Standard_E32s_v3",
                                  "Standard_E4_v3",
                                  "Standard_E4s_v3",
                                  "Standard_E64-16s_v3",
                                  "Standard_E64-32s_v3",
                                  "Standard_E64_v3",
                                  "Standard_E64s_v3",
                                  "Standard_E8_v3",
                                  "Standard_E8s_v3",
                                  "Standard_F1",
                                  "Standard_F16",
                                  "Standard_F16s",
                                  "Standard_F16s_v2",
                                  "Standard_F1s",
                                  "Standard_F2",
                                  "Standard_F2s",
                                  "Standard_F2s_v2",
                                  "Standard_F32s_v2",
                                  "Standard_F4",
                                  "Standard_F4s",
                                  "Standard_F4s_v2",
                                  "Standard_F64s_v2",
                                  "Standard_F72s_v2",
                                  "Standard_F8",
                                  "Standard_F8s",
                                  "Standard_F8s_v2",
                                  "Standard_G1",
                                  "Standard_G2",
                                  "Standard_G3",
                                  "Standard_G4",
                                  "Standard_G5",
                                  "Standard_GS1",
                                  "Standard_GS2",
                                  "Standard_GS3",
                                  "Standard_GS4",
                                  "Standard_GS4-4",
                                  "Standard_GS4-8",
                                  "Standard_GS5",
                                  "Standard_GS5-16",
                                  "Standard_GS5-8",
                                  "Standard_H16",
                                  "Standard_H16m",
                                  "Standard_H16mr",
                                  "Standard_H16r",
                                  "Standard_H8",
                                  "Standard_H8m",
                                  "Standard_L16s",
                                  "Standard_L32s",
                                  "Standard_L4s",
                                  "Standard_L8s",
                                  "Standard_M128-32ms",
                                  "Standard_M128-64ms",
                                  "Standard_M128ms",
                                  "Standard_M128s",
                                  "Standard_M64-16ms",
                                  "Standard_M64-32ms",
                                  "Standard_M64ms",
                                  "Standard_M64s",
                                  "Standard_NC12",
                                  "Standard_NC12s_v2",
                                  "Standard_NC12s_v3",
                                  "Standard_NC24",
                                  "Standard_NC24r",
                                  "Standard_NC24rs_v2",
                                  "Standard_NC24rs_v3",
                                  "Standard_NC24s_v2",
                                  "Standard_NC24s_v3",
                                  "Standard_NC6",
                                  "Standard_NC6s_v2",
                                  "Standard_NC6s_v3",
                                  "Standard_ND12s",
                                  "Standard_ND24rs",
                                  "Standard_ND24s",
                                  "Standard_ND6s",
                                  "Standard_NV12",
                                  "Standard_NV24",
                                  "Standard_NV6"
                                ],
                                "type": "string",
                                "x-ms-enum": {
                                  "modelAsString": true,
                                  "name": "ContainerServiceVMSizeTypes"
                                }
                              }
                            },
                            "vnetSubnetID": {
                              "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                              "body": {
                                "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                                "type": "string"
                              }
                            }
                          },
                          "required": [
                            "vmSize",
                            "count"
                          ]
                        }
                      }
                    }
                  }
                ],
                "description": "Agent Pool."
              },
              "type": "array"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/agentPoolsList"
      },
      "task": true
    },
    {
      "name": "agentPoolsDelete",
      "summary": "Deletes an agent pool.",
      "description": "Deletes the agent pool in the specified managed cluster.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "agentPoolName",
          "type": "string",
          "info": "The name of the agent pool.: string",
          "required": true,
          "schema": {
            "title": "agentPoolName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/agentPoolsDelete"
      },
      "task": true
    },
    {
      "name": "agentPoolsGet",
      "summary": "Gets the agent pool.",
      "description": "Gets the details of the agent pool by managed cluster and resource group.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "agentPoolName",
          "type": "string",
          "info": "The name of the agent pool.: string",
          "required": true,
          "schema": {
            "title": "agentPoolName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "allOf": [
            {
              "description": "Reference to another subresource.",
              "properties": {
                "id": {
                  "description": "Resource ID.",
                  "readOnly": true,
                  "type": "string"
                },
                "name": {
                  "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
                  "readOnly": true,
                  "type": "string"
                },
                "type": {
                  "description": "Resource type",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "x-ms-azure-resource": true
            },
            {
              "properties": {
                "properties": {
                  "description": "Properties of an agent pool.",
                  "x-ms-client-flatten": true,
                  "body": {
                    "description": "Properties for the container service agent pool profile.",
                    "properties": {
                      "availabilityZones": {
                        "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "count": {
                        "default": 1,
                        "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                      },
                      "enableAutoScaling": {
                        "description": "Whether to enable auto-scaler",
                        "type": "boolean"
                      },
                      "enableNodePublicIP": {
                        "description": "Enable public IP for nodes",
                        "type": "boolean"
                      },
                      "maxCount": {
                        "description": "Maximum number of nodes for auto-scaling",
                        "type": "integer"
                      },
                      "maxPods": {
                        "description": "Maximum number of pods that can run on a node.",
                        "type": "integer"
                      },
                      "minCount": {
                        "description": "Minimum number of nodes for auto-scaling",
                        "type": "integer"
                      },
                      "nodeLabels": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                        "type": "object"
                      },
                      "nodeTaints": {
                        "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "orchestratorVersion": {
                        "description": "Version of orchestrator specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "osDiskSizeGB": {
                        "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                        "body": {
                          "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                          "maximum": 1023,
                          "minimum": 0,
                          "type": "integer"
                        }
                      },
                      "osType": {
                        "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                        "body": {
                          "default": "Linux",
                          "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                          "enum": [
                            "Linux",
                            "Windows"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "OSType"
                          }
                        }
                      },
                      "provisioningState": {
                        "description": "The current deployment or provisioning state, which only appears in the response.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "scaleSetEvictionPolicy": {
                        "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                        "body": {
                          "default": "Delete",
                          "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                          "enum": [
                            "Delete",
                            "Deallocate"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ScaleSetEvictionPolicy"
                          }
                        }
                      },
                      "scaleSetPriority": {
                        "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                        "body": {
                          "default": "Regular",
                          "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                          "enum": [
                            "Low",
                            "Regular"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ScaleSetPriority"
                          }
                        }
                      },
                      "tags": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                        "type": "object"
                      },
                      "type": {
                        "description": "AgentPoolType represents types of an agent pool",
                        "body": {
                          "description": "AgentPoolType represents types of an agent pool.",
                          "enum": [
                            "VirtualMachineScaleSets",
                            "AvailabilitySet"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "AgentPoolType"
                          }
                        }
                      },
                      "vmSize": {
                        "description": "Size of agent VMs.",
                        "body": {
                          "description": "Size of agent VMs.",
                          "enum": [
                            "Standard_A1",
                            "Standard_A10",
                            "Standard_A11",
                            "Standard_A1_v2",
                            "Standard_A2",
                            "Standard_A2_v2",
                            "Standard_A2m_v2",
                            "Standard_A3",
                            "Standard_A4",
                            "Standard_A4_v2",
                            "Standard_A4m_v2",
                            "Standard_A5",
                            "Standard_A6",
                            "Standard_A7",
                            "Standard_A8",
                            "Standard_A8_v2",
                            "Standard_A8m_v2",
                            "Standard_A9",
                            "Standard_B2ms",
                            "Standard_B2s",
                            "Standard_B4ms",
                            "Standard_B8ms",
                            "Standard_D1",
                            "Standard_D11",
                            "Standard_D11_v2",
                            "Standard_D11_v2_Promo",
                            "Standard_D12",
                            "Standard_D12_v2",
                            "Standard_D12_v2_Promo",
                            "Standard_D13",
                            "Standard_D13_v2",
                            "Standard_D13_v2_Promo",
                            "Standard_D14",
                            "Standard_D14_v2",
                            "Standard_D14_v2_Promo",
                            "Standard_D15_v2",
                            "Standard_D16_v3",
                            "Standard_D16s_v3",
                            "Standard_D1_v2",
                            "Standard_D2",
                            "Standard_D2_v2",
                            "Standard_D2_v2_Promo",
                            "Standard_D2_v3",
                            "Standard_D2s_v3",
                            "Standard_D3",
                            "Standard_D32_v3",
                            "Standard_D32s_v3",
                            "Standard_D3_v2",
                            "Standard_D3_v2_Promo",
                            "Standard_D4",
                            "Standard_D4_v2",
                            "Standard_D4_v2_Promo",
                            "Standard_D4_v3",
                            "Standard_D4s_v3",
                            "Standard_D5_v2",
                            "Standard_D5_v2_Promo",
                            "Standard_D64_v3",
                            "Standard_D64s_v3",
                            "Standard_D8_v3",
                            "Standard_D8s_v3",
                            "Standard_DS1",
                            "Standard_DS11",
                            "Standard_DS11_v2",
                            "Standard_DS11_v2_Promo",
                            "Standard_DS12",
                            "Standard_DS12_v2",
                            "Standard_DS12_v2_Promo",
                            "Standard_DS13",
                            "Standard_DS13-2_v2",
                            "Standard_DS13-4_v2",
                            "Standard_DS13_v2",
                            "Standard_DS13_v2_Promo",
                            "Standard_DS14",
                            "Standard_DS14-4_v2",
                            "Standard_DS14-8_v2",
                            "Standard_DS14_v2",
                            "Standard_DS14_v2_Promo",
                            "Standard_DS15_v2",
                            "Standard_DS1_v2",
                            "Standard_DS2",
                            "Standard_DS2_v2",
                            "Standard_DS2_v2_Promo",
                            "Standard_DS3",
                            "Standard_DS3_v2",
                            "Standard_DS3_v2_Promo",
                            "Standard_DS4",
                            "Standard_DS4_v2",
                            "Standard_DS4_v2_Promo",
                            "Standard_DS5_v2",
                            "Standard_DS5_v2_Promo",
                            "Standard_E16_v3",
                            "Standard_E16s_v3",
                            "Standard_E2_v3",
                            "Standard_E2s_v3",
                            "Standard_E32-16s_v3",
                            "Standard_E32-8s_v3",
                            "Standard_E32_v3",
                            "Standard_E32s_v3",
                            "Standard_E4_v3",
                            "Standard_E4s_v3",
                            "Standard_E64-16s_v3",
                            "Standard_E64-32s_v3",
                            "Standard_E64_v3",
                            "Standard_E64s_v3",
                            "Standard_E8_v3",
                            "Standard_E8s_v3",
                            "Standard_F1",
                            "Standard_F16",
                            "Standard_F16s",
                            "Standard_F16s_v2",
                            "Standard_F1s",
                            "Standard_F2",
                            "Standard_F2s",
                            "Standard_F2s_v2",
                            "Standard_F32s_v2",
                            "Standard_F4",
                            "Standard_F4s",
                            "Standard_F4s_v2",
                            "Standard_F64s_v2",
                            "Standard_F72s_v2",
                            "Standard_F8",
                            "Standard_F8s",
                            "Standard_F8s_v2",
                            "Standard_G1",
                            "Standard_G2",
                            "Standard_G3",
                            "Standard_G4",
                            "Standard_G5",
                            "Standard_GS1",
                            "Standard_GS2",
                            "Standard_GS3",
                            "Standard_GS4",
                            "Standard_GS4-4",
                            "Standard_GS4-8",
                            "Standard_GS5",
                            "Standard_GS5-16",
                            "Standard_GS5-8",
                            "Standard_H16",
                            "Standard_H16m",
                            "Standard_H16mr",
                            "Standard_H16r",
                            "Standard_H8",
                            "Standard_H8m",
                            "Standard_L16s",
                            "Standard_L32s",
                            "Standard_L4s",
                            "Standard_L8s",
                            "Standard_M128-32ms",
                            "Standard_M128-64ms",
                            "Standard_M128ms",
                            "Standard_M128s",
                            "Standard_M64-16ms",
                            "Standard_M64-32ms",
                            "Standard_M64ms",
                            "Standard_M64s",
                            "Standard_NC12",
                            "Standard_NC12s_v2",
                            "Standard_NC12s_v3",
                            "Standard_NC24",
                            "Standard_NC24r",
                            "Standard_NC24rs_v2",
                            "Standard_NC24rs_v3",
                            "Standard_NC24s_v2",
                            "Standard_NC24s_v3",
                            "Standard_NC6",
                            "Standard_NC6s_v2",
                            "Standard_NC6s_v3",
                            "Standard_ND12s",
                            "Standard_ND24rs",
                            "Standard_ND24s",
                            "Standard_ND6s",
                            "Standard_NV12",
                            "Standard_NV24",
                            "Standard_NV6"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ContainerServiceVMSizeTypes"
                          }
                        }
                      },
                      "vnetSubnetID": {
                        "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                        "body": {
                          "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "vmSize",
                      "count"
                    ]
                  }
                }
              }
            }
          ],
          "description": "Agent Pool."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/agentPoolsGet"
      },
      "task": true
    },
    {
      "name": "agentPoolsCreateOrUpdate",
      "summary": "Creates or updates an agent pool.",
      "description": "Creates or updates an agent pool in the specified managed cluster.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "agentPoolName",
          "type": "string",
          "info": "The name of the agent pool.: string",
          "required": true,
          "schema": {
            "title": "agentPoolName",
            "type": "string"
          }
        },
        {
          "name": "parameters",
          "type": "object",
          "info": "Parameters supplied to the Create or Update an agent pool operation.: object",
          "required": true,
          "schema": {
            "allOf": [
              {
                "description": "Reference to another subresource.",
                "properties": {
                  "id": {
                    "description": "Resource ID.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "name": {
                    "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "type": {
                    "description": "Resource type",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "x-ms-azure-resource": true
              },
              {
                "properties": {
                  "properties": {
                    "description": "Properties of an agent pool.",
                    "x-ms-client-flatten": true,
                    "body": {
                      "description": "Properties for the container service agent pool profile.",
                      "properties": {
                        "availabilityZones": {
                          "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "count": {
                          "default": 1,
                          "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                          "maximum": 100,
                          "minimum": 1,
                          "type": "integer"
                        },
                        "enableAutoScaling": {
                          "description": "Whether to enable auto-scaler",
                          "type": "boolean"
                        },
                        "enableNodePublicIP": {
                          "description": "Enable public IP for nodes",
                          "type": "boolean"
                        },
                        "maxCount": {
                          "description": "Maximum number of nodes for auto-scaling",
                          "type": "integer"
                        },
                        "maxPods": {
                          "description": "Maximum number of pods that can run on a node.",
                          "type": "integer"
                        },
                        "minCount": {
                          "description": "Minimum number of nodes for auto-scaling",
                          "type": "integer"
                        },
                        "nodeLabels": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                          "type": "object"
                        },
                        "nodeTaints": {
                          "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "orchestratorVersion": {
                          "description": "Version of orchestrator specified when creating the managed cluster.",
                          "type": "string"
                        },
                        "osDiskSizeGB": {
                          "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                          "body": {
                            "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                            "maximum": 1023,
                            "minimum": 0,
                            "type": "integer"
                          }
                        },
                        "osType": {
                          "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                          "body": {
                            "default": "Linux",
                            "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                            "enum": [
                              "Linux",
                              "Windows"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "OSType"
                            }
                          }
                        },
                        "provisioningState": {
                          "description": "The current deployment or provisioning state, which only appears in the response.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "scaleSetEvictionPolicy": {
                          "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                          "body": {
                            "default": "Delete",
                            "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                            "enum": [
                              "Delete",
                              "Deallocate"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "ScaleSetEvictionPolicy"
                            }
                          }
                        },
                        "scaleSetPriority": {
                          "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                          "body": {
                            "default": "Regular",
                            "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                            "enum": [
                              "Low",
                              "Regular"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "ScaleSetPriority"
                            }
                          }
                        },
                        "tags": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                          "type": "object"
                        },
                        "type": {
                          "description": "AgentPoolType represents types of an agent pool",
                          "body": {
                            "description": "AgentPoolType represents types of an agent pool.",
                            "enum": [
                              "VirtualMachineScaleSets",
                              "AvailabilitySet"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "AgentPoolType"
                            }
                          }
                        },
                        "vmSize": {
                          "description": "Size of agent VMs.",
                          "body": {
                            "description": "Size of agent VMs.",
                            "enum": [
                              "Standard_A1",
                              "Standard_A10",
                              "Standard_A11",
                              "Standard_A1_v2",
                              "Standard_A2",
                              "Standard_A2_v2",
                              "Standard_A2m_v2",
                              "Standard_A3",
                              "Standard_A4",
                              "Standard_A4_v2",
                              "Standard_A4m_v2",
                              "Standard_A5",
                              "Standard_A6",
                              "Standard_A7",
                              "Standard_A8",
                              "Standard_A8_v2",
                              "Standard_A8m_v2",
                              "Standard_A9",
                              "Standard_B2ms",
                              "Standard_B2s",
                              "Standard_B4ms",
                              "Standard_B8ms",
                              "Standard_D1",
                              "Standard_D11",
                              "Standard_D11_v2",
                              "Standard_D11_v2_Promo",
                              "Standard_D12",
                              "Standard_D12_v2",
                              "Standard_D12_v2_Promo",
                              "Standard_D13",
                              "Standard_D13_v2",
                              "Standard_D13_v2_Promo",
                              "Standard_D14",
                              "Standard_D14_v2",
                              "Standard_D14_v2_Promo",
                              "Standard_D15_v2",
                              "Standard_D16_v3",
                              "Standard_D16s_v3",
                              "Standard_D1_v2",
                              "Standard_D2",
                              "Standard_D2_v2",
                              "Standard_D2_v2_Promo",
                              "Standard_D2_v3",
                              "Standard_D2s_v3",
                              "Standard_D3",
                              "Standard_D32_v3",
                              "Standard_D32s_v3",
                              "Standard_D3_v2",
                              "Standard_D3_v2_Promo",
                              "Standard_D4",
                              "Standard_D4_v2",
                              "Standard_D4_v2_Promo",
                              "Standard_D4_v3",
                              "Standard_D4s_v3",
                              "Standard_D5_v2",
                              "Standard_D5_v2_Promo",
                              "Standard_D64_v3",
                              "Standard_D64s_v3",
                              "Standard_D8_v3",
                              "Standard_D8s_v3",
                              "Standard_DS1",
                              "Standard_DS11",
                              "Standard_DS11_v2",
                              "Standard_DS11_v2_Promo",
                              "Standard_DS12",
                              "Standard_DS12_v2",
                              "Standard_DS12_v2_Promo",
                              "Standard_DS13",
                              "Standard_DS13-2_v2",
                              "Standard_DS13-4_v2",
                              "Standard_DS13_v2",
                              "Standard_DS13_v2_Promo",
                              "Standard_DS14",
                              "Standard_DS14-4_v2",
                              "Standard_DS14-8_v2",
                              "Standard_DS14_v2",
                              "Standard_DS14_v2_Promo",
                              "Standard_DS15_v2",
                              "Standard_DS1_v2",
                              "Standard_DS2",
                              "Standard_DS2_v2",
                              "Standard_DS2_v2_Promo",
                              "Standard_DS3",
                              "Standard_DS3_v2",
                              "Standard_DS3_v2_Promo",
                              "Standard_DS4",
                              "Standard_DS4_v2",
                              "Standard_DS4_v2_Promo",
                              "Standard_DS5_v2",
                              "Standard_DS5_v2_Promo",
                              "Standard_E16_v3",
                              "Standard_E16s_v3",
                              "Standard_E2_v3",
                              "Standard_E2s_v3",
                              "Standard_E32-16s_v3",
                              "Standard_E32-8s_v3",
                              "Standard_E32_v3",
                              "Standard_E32s_v3",
                              "Standard_E4_v3",
                              "Standard_E4s_v3",
                              "Standard_E64-16s_v3",
                              "Standard_E64-32s_v3",
                              "Standard_E64_v3",
                              "Standard_E64s_v3",
                              "Standard_E8_v3",
                              "Standard_E8s_v3",
                              "Standard_F1",
                              "Standard_F16",
                              "Standard_F16s",
                              "Standard_F16s_v2",
                              "Standard_F1s",
                              "Standard_F2",
                              "Standard_F2s",
                              "Standard_F2s_v2",
                              "Standard_F32s_v2",
                              "Standard_F4",
                              "Standard_F4s",
                              "Standard_F4s_v2",
                              "Standard_F64s_v2",
                              "Standard_F72s_v2",
                              "Standard_F8",
                              "Standard_F8s",
                              "Standard_F8s_v2",
                              "Standard_G1",
                              "Standard_G2",
                              "Standard_G3",
                              "Standard_G4",
                              "Standard_G5",
                              "Standard_GS1",
                              "Standard_GS2",
                              "Standard_GS3",
                              "Standard_GS4",
                              "Standard_GS4-4",
                              "Standard_GS4-8",
                              "Standard_GS5",
                              "Standard_GS5-16",
                              "Standard_GS5-8",
                              "Standard_H16",
                              "Standard_H16m",
                              "Standard_H16mr",
                              "Standard_H16r",
                              "Standard_H8",
                              "Standard_H8m",
                              "Standard_L16s",
                              "Standard_L32s",
                              "Standard_L4s",
                              "Standard_L8s",
                              "Standard_M128-32ms",
                              "Standard_M128-64ms",
                              "Standard_M128ms",
                              "Standard_M128s",
                              "Standard_M64-16ms",
                              "Standard_M64-32ms",
                              "Standard_M64ms",
                              "Standard_M64s",
                              "Standard_NC12",
                              "Standard_NC12s_v2",
                              "Standard_NC12s_v3",
                              "Standard_NC24",
                              "Standard_NC24r",
                              "Standard_NC24rs_v2",
                              "Standard_NC24rs_v3",
                              "Standard_NC24s_v2",
                              "Standard_NC24s_v3",
                              "Standard_NC6",
                              "Standard_NC6s_v2",
                              "Standard_NC6s_v3",
                              "Standard_ND12s",
                              "Standard_ND24rs",
                              "Standard_ND24s",
                              "Standard_ND6s",
                              "Standard_NV12",
                              "Standard_NV24",
                              "Standard_NV6"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": true,
                              "name": "ContainerServiceVMSizeTypes"
                            }
                          }
                        },
                        "vnetSubnetID": {
                          "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                          "body": {
                            "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "vmSize",
                        "count"
                      ]
                    }
                  }
                }
              }
            ],
            "description": "Agent Pool."
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "allOf": [
            {
              "description": "Reference to another subresource.",
              "properties": {
                "id": {
                  "description": "Resource ID.",
                  "readOnly": true,
                  "type": "string"
                },
                "name": {
                  "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
                  "readOnly": true,
                  "type": "string"
                },
                "type": {
                  "description": "Resource type",
                  "readOnly": true,
                  "type": "string"
                }
              },
              "x-ms-azure-resource": true
            },
            {
              "properties": {
                "properties": {
                  "description": "Properties of an agent pool.",
                  "x-ms-client-flatten": true,
                  "body": {
                    "description": "Properties for the container service agent pool profile.",
                    "properties": {
                      "availabilityZones": {
                        "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "count": {
                        "default": 1,
                        "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                      },
                      "enableAutoScaling": {
                        "description": "Whether to enable auto-scaler",
                        "type": "boolean"
                      },
                      "enableNodePublicIP": {
                        "description": "Enable public IP for nodes",
                        "type": "boolean"
                      },
                      "maxCount": {
                        "description": "Maximum number of nodes for auto-scaling",
                        "type": "integer"
                      },
                      "maxPods": {
                        "description": "Maximum number of pods that can run on a node.",
                        "type": "integer"
                      },
                      "minCount": {
                        "description": "Minimum number of nodes for auto-scaling",
                        "type": "integer"
                      },
                      "nodeLabels": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Agent pool node labels to be persisted across all nodes in agent pool.",
                        "type": "object"
                      },
                      "nodeTaints": {
                        "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "orchestratorVersion": {
                        "description": "Version of orchestrator specified when creating the managed cluster.",
                        "type": "string"
                      },
                      "osDiskSizeGB": {
                        "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                        "body": {
                          "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified.",
                          "maximum": 1023,
                          "minimum": 0,
                          "type": "integer"
                        }
                      },
                      "osType": {
                        "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                        "body": {
                          "default": "Linux",
                          "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                          "enum": [
                            "Linux",
                            "Windows"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "OSType"
                          }
                        }
                      },
                      "provisioningState": {
                        "description": "The current deployment or provisioning state, which only appears in the response.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "scaleSetEvictionPolicy": {
                        "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                        "body": {
                          "default": "Delete",
                          "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete.",
                          "enum": [
                            "Delete",
                            "Deallocate"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ScaleSetEvictionPolicy"
                          }
                        }
                      },
                      "scaleSetPriority": {
                        "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                        "body": {
                          "default": "Regular",
                          "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular.",
                          "enum": [
                            "Low",
                            "Regular"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ScaleSetPriority"
                          }
                        }
                      },
                      "tags": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set.",
                        "type": "object"
                      },
                      "type": {
                        "description": "AgentPoolType represents types of an agent pool",
                        "body": {
                          "description": "AgentPoolType represents types of an agent pool.",
                          "enum": [
                            "VirtualMachineScaleSets",
                            "AvailabilitySet"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "AgentPoolType"
                          }
                        }
                      },
                      "vmSize": {
                        "description": "Size of agent VMs.",
                        "body": {
                          "description": "Size of agent VMs.",
                          "enum": [
                            "Standard_A1",
                            "Standard_A10",
                            "Standard_A11",
                            "Standard_A1_v2",
                            "Standard_A2",
                            "Standard_A2_v2",
                            "Standard_A2m_v2",
                            "Standard_A3",
                            "Standard_A4",
                            "Standard_A4_v2",
                            "Standard_A4m_v2",
                            "Standard_A5",
                            "Standard_A6",
                            "Standard_A7",
                            "Standard_A8",
                            "Standard_A8_v2",
                            "Standard_A8m_v2",
                            "Standard_A9",
                            "Standard_B2ms",
                            "Standard_B2s",
                            "Standard_B4ms",
                            "Standard_B8ms",
                            "Standard_D1",
                            "Standard_D11",
                            "Standard_D11_v2",
                            "Standard_D11_v2_Promo",
                            "Standard_D12",
                            "Standard_D12_v2",
                            "Standard_D12_v2_Promo",
                            "Standard_D13",
                            "Standard_D13_v2",
                            "Standard_D13_v2_Promo",
                            "Standard_D14",
                            "Standard_D14_v2",
                            "Standard_D14_v2_Promo",
                            "Standard_D15_v2",
                            "Standard_D16_v3",
                            "Standard_D16s_v3",
                            "Standard_D1_v2",
                            "Standard_D2",
                            "Standard_D2_v2",
                            "Standard_D2_v2_Promo",
                            "Standard_D2_v3",
                            "Standard_D2s_v3",
                            "Standard_D3",
                            "Standard_D32_v3",
                            "Standard_D32s_v3",
                            "Standard_D3_v2",
                            "Standard_D3_v2_Promo",
                            "Standard_D4",
                            "Standard_D4_v2",
                            "Standard_D4_v2_Promo",
                            "Standard_D4_v3",
                            "Standard_D4s_v3",
                            "Standard_D5_v2",
                            "Standard_D5_v2_Promo",
                            "Standard_D64_v3",
                            "Standard_D64s_v3",
                            "Standard_D8_v3",
                            "Standard_D8s_v3",
                            "Standard_DS1",
                            "Standard_DS11",
                            "Standard_DS11_v2",
                            "Standard_DS11_v2_Promo",
                            "Standard_DS12",
                            "Standard_DS12_v2",
                            "Standard_DS12_v2_Promo",
                            "Standard_DS13",
                            "Standard_DS13-2_v2",
                            "Standard_DS13-4_v2",
                            "Standard_DS13_v2",
                            "Standard_DS13_v2_Promo",
                            "Standard_DS14",
                            "Standard_DS14-4_v2",
                            "Standard_DS14-8_v2",
                            "Standard_DS14_v2",
                            "Standard_DS14_v2_Promo",
                            "Standard_DS15_v2",
                            "Standard_DS1_v2",
                            "Standard_DS2",
                            "Standard_DS2_v2",
                            "Standard_DS2_v2_Promo",
                            "Standard_DS3",
                            "Standard_DS3_v2",
                            "Standard_DS3_v2_Promo",
                            "Standard_DS4",
                            "Standard_DS4_v2",
                            "Standard_DS4_v2_Promo",
                            "Standard_DS5_v2",
                            "Standard_DS5_v2_Promo",
                            "Standard_E16_v3",
                            "Standard_E16s_v3",
                            "Standard_E2_v3",
                            "Standard_E2s_v3",
                            "Standard_E32-16s_v3",
                            "Standard_E32-8s_v3",
                            "Standard_E32_v3",
                            "Standard_E32s_v3",
                            "Standard_E4_v3",
                            "Standard_E4s_v3",
                            "Standard_E64-16s_v3",
                            "Standard_E64-32s_v3",
                            "Standard_E64_v3",
                            "Standard_E64s_v3",
                            "Standard_E8_v3",
                            "Standard_E8s_v3",
                            "Standard_F1",
                            "Standard_F16",
                            "Standard_F16s",
                            "Standard_F16s_v2",
                            "Standard_F1s",
                            "Standard_F2",
                            "Standard_F2s",
                            "Standard_F2s_v2",
                            "Standard_F32s_v2",
                            "Standard_F4",
                            "Standard_F4s",
                            "Standard_F4s_v2",
                            "Standard_F64s_v2",
                            "Standard_F72s_v2",
                            "Standard_F8",
                            "Standard_F8s",
                            "Standard_F8s_v2",
                            "Standard_G1",
                            "Standard_G2",
                            "Standard_G3",
                            "Standard_G4",
                            "Standard_G5",
                            "Standard_GS1",
                            "Standard_GS2",
                            "Standard_GS3",
                            "Standard_GS4",
                            "Standard_GS4-4",
                            "Standard_GS4-8",
                            "Standard_GS5",
                            "Standard_GS5-16",
                            "Standard_GS5-8",
                            "Standard_H16",
                            "Standard_H16m",
                            "Standard_H16mr",
                            "Standard_H16r",
                            "Standard_H8",
                            "Standard_H8m",
                            "Standard_L16s",
                            "Standard_L32s",
                            "Standard_L4s",
                            "Standard_L8s",
                            "Standard_M128-32ms",
                            "Standard_M128-64ms",
                            "Standard_M128ms",
                            "Standard_M128s",
                            "Standard_M64-16ms",
                            "Standard_M64-32ms",
                            "Standard_M64ms",
                            "Standard_M64s",
                            "Standard_NC12",
                            "Standard_NC12s_v2",
                            "Standard_NC12s_v3",
                            "Standard_NC24",
                            "Standard_NC24r",
                            "Standard_NC24rs_v2",
                            "Standard_NC24rs_v3",
                            "Standard_NC24s_v2",
                            "Standard_NC24s_v3",
                            "Standard_NC6",
                            "Standard_NC6s_v2",
                            "Standard_NC6s_v3",
                            "Standard_ND12s",
                            "Standard_ND24rs",
                            "Standard_ND24s",
                            "Standard_ND6s",
                            "Standard_NV12",
                            "Standard_NV24",
                            "Standard_NV6"
                          ],
                          "type": "string",
                          "x-ms-enum": {
                            "modelAsString": true,
                            "name": "ContainerServiceVMSizeTypes"
                          }
                        }
                      },
                      "vnetSubnetID": {
                        "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                        "body": {
                          "description": "VNet SubnetID specifies the VNet's subnet identifier.",
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "vmSize",
                      "count"
                    ]
                  }
                }
              }
            }
          ],
          "description": "Agent Pool."
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/agentPoolsCreateOrUpdate"
      },
      "task": true
    },
    {
      "name": "agentPoolsGetUpgradeProfile",
      "summary": "Gets upgrade profile for an agent pool.",
      "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "agentPoolName",
          "type": "string",
          "info": "The name of the agent pool.: string",
          "required": true,
          "schema": {
            "title": "agentPoolName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The list of available upgrades for an agent pool.",
          "properties": {
            "id": {
              "description": "Id of the agent pool upgrade profile.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Name of the agent pool upgrade profile.",
              "readOnly": true,
              "type": "string"
            },
            "properties": {
              "description": "Properties of agent pool upgrade profile.",
              "x-ms-client-flatten": true,
              "body": {
                "description": "The list of available upgrade versions.",
                "properties": {
                  "kubernetesVersion": {
                    "description": "Kubernetes version (major, minor, patch).",
                    "type": "string"
                  },
                  "osType": {
                    "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                    "enum": [
                      "Linux",
                      "Windows"
                    ],
                    "x-ms-enum": {
                      "modelAsString": true,
                      "name": "ContainerServiceOSTypes"
                    },
                    "body": {
                      "default": "Linux",
                      "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
                      "enum": [
                        "Linux",
                        "Windows"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": true,
                        "name": "OSType"
                      }
                    }
                  },
                  "upgrades": {
                    "description": "List of orchestrator types and versions available for upgrade.",
                    "items": {
                      "properties": {
                        "isPreview": {
                          "description": "Whether Kubernetes version is currently in preview.",
                          "type": "boolean"
                        },
                        "kubernetesVersion": {
                          "description": "Kubernetes version (major, minor, patch).",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "kubernetesVersion",
                  "osType"
                ]
              }
            },
            "type": {
              "description": "Type of the agent pool upgrade profile.",
              "readOnly": true,
              "type": "string"
            }
          },
          "required": [
            "properties"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/agentPoolsGetUpgradeProfile"
      },
      "task": true
    },
    {
      "name": "agentPoolsGetAvailableAgentPoolVersions",
      "summary": "Gets a list of supported versions for the specified agent pool.",
      "description": "Gets a list of supported versions for the specified agent pool.",
      "input": [
        {
          "name": "resourceGroupName",
          "type": "string",
          "info": "The name of the resource group.: string",
          "required": true,
          "schema": {
            "title": "resourceGroupName",
            "type": "string"
          }
        },
        {
          "name": "resourceName",
          "type": "string",
          "info": "The name of the managed cluster resource.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "The list of available versions for an agent pool.",
          "properties": {
            "id": {
              "description": "Id of the agent pool available versions.",
              "readOnly": true,
              "type": "string"
            },
            "name": {
              "description": "Name of the agent pool available versions.",
              "readOnly": true,
              "type": "string"
            },
            "properties": {
              "description": "Properties of agent pool available versions.",
              "x-ms-client-flatten": true,
              "body": {
                "description": "The list of available agent pool versions.",
                "properties": {
                  "agentPoolVersions": {
                    "description": "List of versions available for agent pool.",
                    "items": {
                      "properties": {
                        "default": {
                          "description": "Whether this version is the default agent pool version.",
                          "type": "boolean"
                        },
                        "isPreview": {
                          "description": "Whether Kubernetes version is currently in preview.",
                          "type": "boolean"
                        },
                        "kubernetesVersion": {
                          "description": "Kubernetes version (major, minor, patch).",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  }
                }
              }
            },
            "type": {
              "description": "Type of the agent pool  available versions.",
              "readOnly": true,
              "type": "string"
            }
          },
          "required": [
            "properties"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/agentPoolsGetAvailableAgentPoolVersions"
      },
      "task": true
    }
  ],
  "views": []
}