{
  "openapi": "3.0.1",
  "info": {
    "title": "ContainerServiceClient",
    "description": "The Container Service Client.",
    "version": "2018-08-01-preview"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "paths": {
    "/providers/Microsoft.ContainerService/operations": {
      "get": {
        "tags": [
          "managedClusters"
        ],
        "description": "Gets a list of compute operations.",
        "operationId": "Operations_List",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationListResult"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
      "get": {
        "tags": [
          "ManagedClusters"
        ],
        "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.",
        "operationId": "ManagedClusters_List",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedClusterListResult"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
      "get": {
        "tags": [
          "ManagedClusters"
        ],
        "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.",
        "operationId": "ManagedClusters_ListByResourceGroup",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedClusterListResult"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
      "get": {
        "tags": [
          "ManagedClusters"
        ],
        "summary": "Gets a managed cluster.",
        "description": "Gets the details of the managed cluster with a specified resource group and name.",
        "operationId": "ManagedClusters_Get",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ManagedClusters"
        ],
        "summary": "Creates or updates a managed cluster.",
        "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
        "operationId": "ManagedClusters_CreateOrUpdate",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters supplied to the Create or Update a Managed Cluster operation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManagedCluster"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ManagedClusters"
        ],
        "summary": "Deletes a managed cluster.",
        "description": "Deletes the managed cluster with a specified resource group and name.",
        "operationId": "ManagedClusters_Delete",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "204": {
            "description": "NoContent"
          }
        }
      },
      "patch": {
        "tags": [
          "ManagedClusters"
        ],
        "summary": "Updates tags on a managed cluster.",
        "description": "Updates a managed cluster with the specified tags.",
        "operationId": "ManagedClusters_UpdateTags",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters supplied to the Update Managed Cluster Tags operation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TagsObject"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
      "post": {
        "tags": [
          "ManagedClusters"
        ],
        "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.",
        "operationId": "ManagedClusters_GetAccessProfile",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "roleName",
            "in": "path",
            "description": "The name of the role for managed cluster accessProfile resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedClusterAccessProfile"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential": {
      "post": {
        "tags": [
          "ManagedClusters"
        ],
        "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.",
        "operationId": "ManagedClusters_ListClusterAdminCredentials",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResults"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
      "post": {
        "tags": [
          "ManagedClusters"
        ],
        "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.",
        "operationId": "ManagedClusters_ListClusterUserCredentials",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CredentialResults"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
      "post": {
        "tags": [
          "ManagedClusters"
        ],
        "summary": "Reset AAD Profile of a managed cluster.",
        "description": "Update the AAD Profile for a managed cluster.",
        "operationId": "ManagedClusters_ResetAADProfile",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManagedClusterAADProfile"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloudError"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
      "post": {
        "tags": [
          "ManagedClusters"
        ],
        "summary": "Reset Service Principal Profile of a managed cluster.",
        "description": "Update the service principal Profile for a managed cluster.",
        "operationId": "ManagedClusters_ResetServicePrincipalProfile",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManagedClusterServicePrincipalProfile"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCluster"
                }
              }
            }
          },
          "default": {
            "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloudError"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
      "get": {
        "tags": [
          "ManagedClusters"
        ],
        "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.",
        "operationId": "ManagedClusters_GetUpgradeProfile",
        "parameters": [
          {
            "name": "api-version",
            "in": "query",
            "description": "Client Api Version.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subscriptionId",
            "in": "path",
            "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceGroupName",
            "in": "path",
            "description": "The name of the resource group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resourceName",
            "in": "path",
            "description": "The name of the managed cluster resource.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedClusterUpgradeProfile"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccessProfile": {
        "type": "object",
        "properties": {
          "kubeConfig": {
            "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
            "type": "string",
            "description": "Base64-encoded Kubernetes configuration file.",
            "format": "byte"
          }
        },
        "description": "Profile for enabling a user to access a managed cluster."
      },
      "AgentPoolType": {
        "type": "string",
        "description": "AgentPoolType represents types of an agent pool",
        "enum": [
          "VirtualMachineScaleSets",
          "AvailabilitySet"
        ]
      },
      "CloudError": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/CloudErrorBody"
          }
        },
        "description": "An error response from the Container service."
      },
      "CloudErrorBody": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
          },
          "details": {
            "type": "array",
            "description": "A list of additional details about the error.",
            "items": {
              "$ref": "#/components/schemas/CloudErrorBody"
            }
          },
          "message": {
            "type": "string",
            "description": "A message describing the error, intended to be suitable for display in a user interface."
          },
          "target": {
            "type": "string",
            "description": "The target of the particular error. For example, the name of the property in error."
          }
        },
        "description": "An error response from the Container service."
      },
      "ContainerServiceDiagnosticsProfile": {
        "required": [
          "vmDiagnostics"
        ],
        "type": "object",
        "properties": {
          "vmDiagnostics": {
            "$ref": "#/components/schemas/ContainerServiceVMDiagnostics"
          }
        },
        "description": "Profile for diagnostics on the container service cluster."
      },
      "ContainerServiceLinuxProfile": {
        "required": [
          "adminUsername",
          "ssh"
        ],
        "type": "object",
        "properties": {
          "adminUsername": {
            "pattern": "^[A-Za-z][-A-Za-z0-9_]*$",
            "type": "string",
            "description": "The administrator username to use for Linux VMs."
          },
          "ssh": {
            "$ref": "#/components/schemas/ContainerServiceSshConfiguration"
          }
        },
        "description": "Profile for Linux VMs in the container service cluster."
      },
      "ContainerServiceMasterProfile": {
        "required": [
          "dnsPrefix",
          "vmSize"
        ],
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
            "format": "int32",
            "default": 1,
            "enum": [
              1,
              3,
              5
            ]
          },
          "dnsPrefix": {
            "type": "string",
            "description": "DNS prefix to be used to create the FQDN for the master pool."
          },
          "firstConsecutiveStaticIP": {
            "type": "string",
            "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
            "default": "10.240.255.5"
          },
          "fqdn": {
            "type": "string",
            "description": "FQDN for the master pool.",
            "readOnly": true
          },
          "osDiskSizeGB": {
            "$ref": "#/components/schemas/ContainerServiceOSDisk"
          },
          "storageProfile": {
            "$ref": "#/components/schemas/ContainerServiceStorageProfile"
          },
          "vmSize": {
            "$ref": "#/components/schemas/ContainerServiceVMSize"
          },
          "vnetSubnetID": {
            "$ref": "#/components/schemas/ContainerServiceVnetSubnetID"
          }
        },
        "description": "Profile for the container service master."
      },
      "ContainerServiceNetworkProfile": {
        "type": "object",
        "properties": {
          "dnsServiceIP": {
            "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",
            "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr.",
            "default": "10.0.0.10"
          },
          "dockerBridgeCidr": {
            "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
            "type": "string",
            "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.",
            "default": "172.17.0.1/16"
          },
          "networkPlugin": {
            "type": "string",
            "description": "Network plugin used for building Kubernetes network.",
            "default": "kubenet",
            "enum": [
              "azure",
              "kubenet"
            ]
          },
          "networkPolicy": {
            "type": "string",
            "description": "Network policy used for building Kubernetes network.",
            "enum": [
              "calico"
            ]
          },
          "podCidr": {
            "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
            "type": "string",
            "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used.",
            "default": "10.244.0.0/16"
          },
          "serviceCidr": {
            "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
            "type": "string",
            "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges.",
            "default": "10.0.0.0/16"
          }
        },
        "description": "Profile of network configuration."
      },
      "ContainerServiceOSDisk": {
        "maximum": 1023,
        "minimum": 0,
        "type": "integer",
        "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.",
        "format": "int32"
      },
      "ContainerServiceSshConfiguration": {
        "required": [
          "publicKeys"
        ],
        "type": "object",
        "properties": {
          "publicKeys": {
            "type": "array",
            "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified.",
            "items": {
              "$ref": "#/components/schemas/ContainerServiceSshPublicKey"
            }
          }
        },
        "description": "SSH configuration for Linux-based VMs running on Azure."
      },
      "ContainerServiceSshPublicKey": {
        "required": [
          "keyData"
        ],
        "type": "object",
        "properties": {
          "keyData": {
            "type": "string",
            "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
          }
        },
        "description": "Contains information about SSH certificate public key data."
      },
      "ContainerServiceStorageProfile": {
        "type": "string",
        "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice.",
        "enum": [
          "StorageAccount",
          "ManagedDisks"
        ]
      },
      "ContainerServiceVMDiagnostics": {
        "required": [
          "enabled"
        ],
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether the VM diagnostic agent is provisioned on the VM."
          },
          "storageUri": {
            "type": "string",
            "description": "The URI of the storage account where diagnostics are stored.",
            "readOnly": true
          }
        },
        "description": "Profile for diagnostics on the container service VMs."
      },
      "ContainerServiceVMSize": {
        "type": "string",
        "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"
        ]
      },
      "ContainerServiceVnetSubnetID": {
        "type": "string",
        "description": "VNet SubnetID specifies the VNet's subnet identifier."
      },
      "ContainerServiceWindowsProfile": {
        "required": [
          "adminPassword",
          "adminUsername"
        ],
        "type": "object",
        "properties": {
          "adminPassword": {
            "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$",
            "type": "string",
            "description": "The administrator password to use for Windows VMs."
          },
          "adminUsername": {
            "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$",
            "type": "string",
            "description": "The administrator username to use for Windows VMs."
          }
        },
        "description": "Profile for Windows VMs in the container service cluster."
      },
      "CredentialResult": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the credential.",
            "readOnly": true
          },
          "value": {
            "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
            "type": "string",
            "description": "Base64-encoded Kubernetes configuration file.",
            "format": "byte",
            "readOnly": true
          }
        },
        "description": "The credential result response."
      },
      "CredentialResults": {
        "type": "object",
        "properties": {
          "kubeconfigs": {
            "type": "array",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/CredentialResult"
            }
          }
        },
        "description": "The list of credential result response."
      },
      "ManagedCluster": {
        "description": "Managed cluster.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          },
          {
            "type": "object",
            "properties": {
              "properties": {
                "$ref": "#/components/schemas/ManagedClusterProperties"
              }
            }
          }
        ]
      },
      "ManagedClusterAADProfile": {
        "required": [
          "clientAppID",
          "serverAppID"
        ],
        "type": "object",
        "properties": {
          "clientAppID": {
            "type": "string",
            "description": "The client AAD application ID."
          },
          "serverAppID": {
            "type": "string",
            "description": "The server AAD application ID."
          },
          "serverAppSecret": {
            "type": "string",
            "description": "The server AAD application secret."
          },
          "tenantID": {
            "type": "string",
            "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription."
          }
        },
        "description": "AADProfile specifies attributes for Azure Active Directory integration."
      },
      "ManagedClusterAccessProfile": {
        "description": "Managed cluster Access Profile.",
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          },
          {
            "type": "object",
            "properties": {
              "properties": {
                "$ref": "#/components/schemas/AccessProfile"
              }
            }
          }
        ]
      },
      "ManagedClusterAddonProfile": {
        "required": [
          "enabled"
        ],
        "type": "object",
        "properties": {
          "config": {
            "type": "object",
            "description": "Key-value pairs for configuring an add-on."
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the add-on is enabled or not."
          }
        },
        "description": "A Kubernetes add-on profile for a managed cluster."
      },
      "ManagedClusterAgentPoolProfile": {
        "required": [
          "count",
          "name",
          "vmSize"
        ],
        "type": "object",
        "properties": {
          "count": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "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. ",
            "format": "int32",
            "default": 1
          },
          "enableAutoScaling": {
            "type": "boolean",
            "description": "Whether to enable auto-scaler"
          },
          "maxCount": {
            "type": "integer",
            "description": "Maximum number of nodes for auto-scaling",
            "format": "int32"
          },
          "maxPods": {
            "type": "integer",
            "description": "Maximum number of pods that can run on a node.",
            "format": "int32"
          },
          "minCount": {
            "type": "integer",
            "description": "Minimum number of nodes for auto-scaling",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Unique name of the agent pool profile in the context of the subscription and resource group."
          },
          "osDiskSizeGB": {
            "$ref": "#/components/schemas/ContainerServiceOSDisk"
          },
          "osType": {
            "$ref": "#/components/schemas/OSType"
          },
          "type": {
            "$ref": "#/components/schemas/AgentPoolType"
          },
          "vmSize": {
            "$ref": "#/components/schemas/ContainerServiceVMSize"
          },
          "vnetSubnetID": {
            "$ref": "#/components/schemas/ContainerServiceVnetSubnetID"
          }
        },
        "description": "Profile for the container service agent pool."
      },
      "ManagedClusterListResult": {
        "type": "object",
        "properties": {
          "nextLink": {
            "type": "string",
            "description": "The URL to get the next set of managed cluster results.",
            "readOnly": true
          },
          "value": {
            "type": "array",
            "description": "The list of managed clusters.",
            "items": {
              "$ref": "#/components/schemas/ManagedCluster"
            }
          }
        },
        "description": "The response from the List Managed Clusters operation."
      },
      "ManagedClusterPoolUpgradeProfile": {
        "required": [
          "kubernetesVersion",
          "osType"
        ],
        "type": "object",
        "properties": {
          "kubernetesVersion": {
            "type": "string",
            "description": "Kubernetes version (major, minor, patch)."
          },
          "name": {
            "type": "string",
            "description": "Pool name."
          },
          "osType": {
            "$ref": "#/components/schemas/OSType"
          },
          "upgrades": {
            "type": "array",
            "description": "List of orchestrator types and versions available for upgrade.",
            "items": {
              "type": "string"
            }
          }
        },
        "description": "The list of available upgrade versions."
      },
      "ManagedClusterProperties": {
        "type": "object",
        "properties": {
          "aadProfile": {
            "$ref": "#/components/schemas/ManagedClusterAADProfile"
          },
          "addonProfiles": {
            "type": "object",
            "description": "Profile of managed cluster add-on."
          },
          "agentPoolProfiles": {
            "type": "array",
            "description": "Properties of the agent pool.",
            "items": {
              "$ref": "#/components/schemas/ManagedClusterAgentPoolProfile"
            }
          },
          "dnsPrefix": {
            "type": "string",
            "description": "DNS prefix specified when creating the managed cluster."
          },
          "enableRBAC": {
            "type": "boolean",
            "description": "Whether to enable Kubernetes Role-Based Access Control."
          },
          "fqdn": {
            "type": "string",
            "description": "FQDN for the master pool.",
            "readOnly": true
          },
          "kubernetesVersion": {
            "type": "string",
            "description": "Version of Kubernetes specified when creating the managed cluster."
          },
          "linuxProfile": {
            "$ref": "#/components/schemas/ContainerServiceLinuxProfile"
          },
          "networkProfile": {
            "$ref": "#/components/schemas/ContainerServiceNetworkProfile"
          },
          "nodeResourceGroup": {
            "type": "string",
            "description": "Name of the resource group containing agent pool nodes.",
            "readOnly": true
          },
          "provisioningState": {
            "type": "string",
            "description": "The current deployment or provisioning state, which only appears in the response.",
            "readOnly": true
          },
          "servicePrincipalProfile": {
            "$ref": "#/components/schemas/ManagedClusterServicePrincipalProfile"
          }
        },
        "description": "Properties of the managed cluster."
      },
      "ManagedClusterServicePrincipalProfile": {
        "required": [
          "clientId"
        ],
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string",
            "description": "The ID for the service principal."
          },
          "secret": {
            "type": "string",
            "description": "The secret password associated with the service principal in plain text."
          }
        },
        "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
      },
      "ManagedClusterUpgradeProfile": {
        "required": [
          "properties"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of upgrade profile.",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Name of upgrade profile.",
            "readOnly": true
          },
          "properties": {
            "$ref": "#/components/schemas/ManagedClusterUpgradeProfileProperties"
          },
          "type": {
            "type": "string",
            "description": "Type of upgrade profile.",
            "readOnly": true
          }
        },
        "description": "The list of available upgrades for compute pools."
      },
      "ManagedClusterUpgradeProfileProperties": {
        "required": [
          "agentPoolProfiles",
          "controlPlaneProfile"
        ],
        "type": "object",
        "properties": {
          "agentPoolProfiles": {
            "type": "array",
            "description": "The list of available upgrade versions for agent pools.",
            "items": {
              "$ref": "#/components/schemas/ManagedClusterPoolUpgradeProfile"
            }
          },
          "controlPlaneProfile": {
            "$ref": "#/components/schemas/ManagedClusterPoolUpgradeProfile"
          }
        },
        "description": "Control plane and agent pool upgrade profiles."
      },
      "OSType": {
        "type": "string",
        "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux.",
        "default": "Linux",
        "enum": [
          "Linux",
          "Windows"
        ]
      },
      "OperationListResult": {
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "description": "The list of compute operations",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/OperationValue"
            }
          }
        },
        "description": "The List Compute Operation operation response."
      },
      "OperationValue": {
        "type": "object",
        "properties": {
          "display": {
            "$ref": "#/components/schemas/OperationValueDisplay"
          },
          "name": {
            "type": "string",
            "description": "The name of the compute operation.",
            "readOnly": true
          },
          "origin": {
            "type": "string",
            "description": "The origin of the compute operation.",
            "readOnly": true
          }
        },
        "description": "Describes the properties of a Compute Operation value."
      },
      "OperationValueDisplay": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "The description of the operation.",
            "readOnly": true
          },
          "operation": {
            "type": "string",
            "description": "The display name of the compute operation.",
            "readOnly": true
          },
          "provider": {
            "type": "string",
            "description": "The resource provider for the operation.",
            "readOnly": true
          },
          "resource": {
            "type": "string",
            "description": "The display name of the resource the operation applies to.",
            "readOnly": true
          }
        },
        "description": "Describes the properties of a Compute Operation Value Display."
      },
      "OrchestratorProfile": {
        "required": [
          "orchestratorType",
          "orchestratorVersion"
        ],
        "type": "object",
        "properties": {
          "orchestratorType": {
            "type": "string",
            "description": "Orchestrator type."
          },
          "orchestratorVersion": {
            "type": "string",
            "description": "Orchestrator version (major, minor, patch)."
          }
        },
        "description": "Contains information about orchestrator."
      },
      "Resource": {
        "required": [
          "location"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Resource Id",
            "readOnly": true
          },
          "location": {
            "type": "string",
            "description": "Resource location"
          },
          "name": {
            "type": "string",
            "description": "Resource name",
            "readOnly": true
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Resource tags"
          },
          "type": {
            "type": "string",
            "description": "Resource type",
            "readOnly": true
          }
        },
        "description": "The Resource model definition."
      },
      "TagsObject": {
        "type": "object",
        "properties": {
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Resource tags."
          }
        },
        "description": "Tags object for patch operations."
      }
    },
    "parameters": {
      "ApiVersionParameter": {
        "name": "api-version",
        "in": "query",
        "description": "Client Api Version.",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "SubscriptionIdParameter": {
        "name": "subscriptionId",
        "in": "path",
        "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "type": "oauth2",
        "description": "Azure Active Directory OAuth2 Flow"
      }
    }
  }
}