From 2badcbe854f8e8aa6092b9b883fcffb25f2e53a0 Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Thu, 17 May 2018 21:11:05 -0600 Subject: [PATCH 01/16] [AKS] add new 2018-03-31 API --- .../ManagedClustersCreate_Update.json | 112 ++ .../examples/ManagedClustersDelete.json | 12 + .../examples/ManagedClustersGet.json | 54 + .../ManagedClustersGetUpgradeProfile.json | 37 + .../examples/ManagedClustersList.json | 56 + .../ManagedClustersListByResourceGroup.json | 57 + .../managedClustersGetAccessProfile.json | 22 + .../stable/2018-03-31/managedClusters.json | 1085 +++++++++++++++++ .../resource-manager/readme.md | 13 +- 9 files changed, 1447 insertions(+), 1 deletion(-) create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/managedClustersGetAccessProfile.json create mode 100644 specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json new file mode 100644 index 000000000000..ba6a9e4aa730 --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "properties": { + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "count": 1, + "name": "agentpool1", + "vmSize": "Standard_D2_v2" + } + ], + "kubernetesVersion": "1.7.7" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "mycluster1", + "properties": { + "agentPoolProfiles": [ + { + "count": 1, + "dnsPrefix": "agentpool1dnsPrefix", + "fqdn": "agentpool1fqdn", + "name": "agentpool1", + "osType": "Linux", + "ports": [ + 1 + ], + "storageProfile": "ManagedDisks", + "vmSize": "Standard_D2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-123456.abc.location1.azmk8s.io", + "kubernetesVersion": "1.7.7", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid", + "keyVaultSecretRef": null, + "secret": "secret" + } + }, + "tags": "managedcluster", + "type": "Microsoft.ContainerService/ManagedClusters" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "mycluster1", + "properties": { + "agentPoolProfiles": [ + { + "count": 1, + "dnsPrefix": "agentpool1dnsPrefix", + "fqdn": "agentpool1fqdn", + "name": "agentpool1", + "osType": "Linux", + "ports": [ + 1 + ], + "storageProfile": "ManagedDisks", + "vmSize": "Standard_D2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-123456.abc.location1.azmk8s.io", + "kubernetesVersion": "1.7.7", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid", + "keyVaultSecretRef": null, + "secret": "secret" + } + }, + "tags": "managedcluster", + "type": "Microsoft.ContainerService/ManagedClusters" + } + } + } +} diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json new file mode 100644 index 000000000000..256226ac74e1 --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "202": {}, + "204": {} + } +} diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json new file mode 100644 index 000000000000..6ff17098bfbf --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "mycluster1", + "properties": { + "agentPoolProfiles": [ + { + "count": 1, + "dnsPrefix": "agentpool1dnsPrefix", + "fqdn": "agentpool1fqdn", + "name": "agentpool1", + "osType": "Linux", + "ports": [ + 1 + ], + "storageProfile": "ManagedDisks", + "vmSize": "Standard_D2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-123456.abc.location1.azmk8s.io", + "kubernetesVersion": "1.7.7", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid", + "keyVaultSecretRef": null, + "secret": "secret" + } + }, + "tags": "managed-cluster", + "type": "Microsoft.ContainerService/ManagedClusters" + } + } + } +} diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json new file mode 100644 index 000000000000..0a0c1e57bfed --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetUpgradeProfile.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default", + "name": "default", + "properties": { + "agentPoolProfiles": [ + { + "kubernetesVersion": "1.7.7", + "name": "agent", + "osType": "Linux", + "upgrades": [ + "1.8.1" + ] + } + ], + "controlPlaneProfile": { + "kubernetesVersion": "1.7.7", + "name": "master", + "osType": "Linux", + "upgrades": [ + "1.8.1" + ] + } + }, + "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles" + } + } + } +} diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json new file mode 100644 index 000000000000..44125a03cd18 --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "subid1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "mycluster1", + "properties": { + "agentPoolProfiles": [ + { + "count": 1, + "dnsPrefix": "agentpool1dnsPrefix", + "fqdn": "agentpool1fqdn", + "name": "agentpool1", + "osType": "Linux", + "ports": [ + 1 + ], + "storageProfile": "ManagedDisks", + "vmSize": "Standard_D2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-123456.abc.location1.azmk8s.io", + "kubernetesVersion": "1.7.7", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid", + "keyVaultSecretRef": null, + "secret": "secret" + } + }, + "tags": "managed-cluster", + "type": "Microsoft.ContainerService/ManagedClusters" + } + ] + } + } + } +} diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json new file mode 100644 index 000000000000..17e47a143e5e --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "subid1", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.ContainerService/managedClusters", + "location": "location1", + "name": "mycluster1", + "properties": { + "agentPoolProfiles": [ + { + "count": 1, + "dnsPrefix": "agentpool1dnsPrefix", + "fqdn": "agentpool1fqdn", + "name": "agentpool1", + "osType": "Linux", + "ports": [ + 1 + ], + "storageProfile": "ManagedDisks", + "vmSize": "Standard_D2_v2" + } + ], + "dnsPrefix": "dnsprefix1", + "fqdn": "dnsprefix1-123456.abc.location1.azmk8s.io", + "kubernetesVersion": "1.7.7", + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "provisioningState": "Succeeded", + "servicePrincipalProfile": { + "clientId": "clientid", + "keyVaultSecretRef": null, + "secret": "secret" + } + }, + "tags": "managed-cluster", + "type": "Microsoft.ContainerService/ManagedClusters" + } + ] + } + } + } +} diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/managedClustersGetAccessProfile.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/managedClustersGetAccessProfile.json new file mode 100644 index 000000000000..7a5b01a66992 --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/managedClustersGetAccessProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2018-03-31", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "roleName": "clusterUser" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser", + "location": "location1", + "name": "clusterUser", + "properties": { + "kubeConfig": "kubeConfig1" + }, + "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles" + } + } + } +} diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json new file mode 100644 index 000000000000..36e685f2f61f --- /dev/null +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -0,0 +1,1085 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerServiceClient", + "description": "The Container Service Client.", + "version": "2018-03-31" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_List", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Managed Clusters": { + "$ref": "./examples/ManagedClustersList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListByResourceGroup", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Managed Clusters by Resource Group": { + "$ref": "./examples/ManagedClustersListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetUpgradeProfile", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed cluster resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterUpgradeProfile" + } + } + }, + "x-ms-examples": { + "Get Upgrade Profile for Managed Cluster": { + "$ref": "./examples/ManagedClustersGetUpgradeProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetAccessProfile", + "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.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed cluster resource." + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the role for managed cluster accessProfile resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedClusterAccessProfile" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGetAccessProfile.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Get", + "summary": "Gets a managed cluster.", + "description": "Gets the details of the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed cluster resource." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + } + }, + "x-ms-examples": { + "Get Managed Cluster": { + "$ref": "./examples/ManagedClustersGet.json" + } + } + }, + "put": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_CreateOrUpdate", + "summary": "Creates or updates a managed cluster.", + "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed cluster resource." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "Parameters supplied to the Create or Update a Managed Cluster operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedCluster" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create/Update Managed Cluster": { + "$ref": "./examples/ManagedClustersCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Delete", + "summary": "Deletes a managed cluster.", + "description": "Deletes the managed cluster with a specified resource group and name.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed cluster resource." + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Managed Cluster": { + "$ref": "./examples/ManagedClustersDelete.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 1023, + "minimum": 0, + "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." + }, + "ContainerServiceStorageProfile": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceStorageProfileTypes", + "modelAsString": true + }, + "enum": [ + "StorageAccount", + "ManagedDisks" + ], + "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." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "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" + ] + }, + "KeyVaultSecretRef": { + "properties": { + "vaultID": { + "type": "string", + "description": "Key vault identifier." + }, + "secretName": { + "type": "string", + "description": "The secret name." + }, + "version": { + "type": "string", + "description": "The secret version." + } + }, + "description": "Reference to a secret stored in Azure Key Vault.", + "required": [ + "vaultID", + "secretName" + ] + }, + "ContainerServiceServicePrincipalProfile": { + "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." + }, + "keyVaultSecretRef": { + "$ref": "#/definitions/KeyVaultSecretRef", + "description": "Reference to a secret stored in Azure Key Vault." + } + }, + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified.", + "required": [ + "clientId" + ] + }, + "ContainerServiceMasterProfile": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "enum": [ + 1, + 3, + 5 + ], + "x-ms-enum": { + "name": "Count", + "modelAsString": false + }, + "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.", + "default": 1 + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create the FQDN for the master pool." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "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." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + }, + "firstConsecutiveStaticIP": { + "type": "string", + "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.", + "default": "10.240.255.5" + }, + "storageProfile": { + "$ref": "#/definitions/ContainerServiceStorageProfile", + "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." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FDQN for the master pool." + } + }, + "required": [ + "dnsPrefix", + "vmSize" + ], + "description": "Profile for the container service master." + }, + "ContainerServiceAgentPoolProfile": { + "properties": { + "name": { + "type": "string", + "description": "Unique name of the agent pool profile in the context of the subscription and resource group." + }, + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 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. ", + "default": 1 + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "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." + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create the FQDN for the agent pool." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FDQN for the agent pool." + }, + "ports": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1, + "maximum": 65535 + }, + "description": "Ports number array used to expose on this agent pool. The default opened ports are different based on your choice of orchestrator." + }, + "storageProfile": { + "$ref": "#/definitions/ContainerServiceStorageProfile", + "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." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + }, + "osType": { + "$ref": "#/definitions/OSType", + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + } + }, + "required": [ + "name", + "vmSize" + ], + "description": "Profile for the container service agent pool." + }, + "ContainerServiceWindowsProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Windows VMs.", + "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + }, + "adminPassword": { + "type": "string", + "description": "The administrator password to use for Windows VMs.", + "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + } + }, + "required": [ + "adminUsername", + "adminPassword" + ], + "description": "Profile for Windows VMs in the container service cluster." + }, + "ContainerServiceLinuxProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[a-z][a-z0-9_-]*$" + }, + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceSshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" + ] + }, + "ContainerServiceSshPublicKey": { + "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." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ContainerServiceDiagnosticsProfile": { + "properties": { + "vmDiagnostics": { + "$ref": "#/definitions/ContainerServiceVMDiagnostics", + "description": "Profile for diagnostics on the container service VMs." + } + }, + "description": "Profile for diagnostics on the container service cluster.", + "required": [ + "vmDiagnostics" + ] + }, + "ContainerServiceVMDiagnostics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the VM diagnostic agent is provisioned on the VM." + }, + "storageUri": { + "readOnly": true, + "type": "string", + "description": "The URI of the storage account where diagnostics are stored." + } + }, + "description": "Profile for diagnostics on the container service VMs.", + "required": [ + "enabled" + ] + }, + "ManagedClusterListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" + }, + "description": "The list of managed clusters." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed cluster results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Clusters operation." + }, + "ManagedCluster": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Managed cluster." + }, + "ManagedClusterProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state, which only appears in the response." + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix specified when creating the managed cluster." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FDQN for the master pool." + }, + "kubernetesVersion": { + "type": "string", + "description": "Version of Kubernetes specified when creating the managed cluster." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceAgentPoolProfile" + }, + "description": "Properties of the agent pool." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "Profile for Linux VMs in the container service cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ContainerServiceServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified." + } + }, + "description": "Properties of the managed cluster." + }, + "OrchestratorProfile": { + "properties": { + "orchestratorType": { + "type": "string", + "description": "Orchestrator type." + }, + "orchestratorVersion": { + "type": "string", + "description": "Orchestrator version (major, minor, patch)." + } + }, + "required": [ + "orchestratorType", + "orchestratorVersion" + ], + "description": "Contains information about orchestrator." + }, + "ManagedClusterAccessProfile": { + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "properties": { + "properties": { + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Managed cluster Access Profile." + }, + "AccessProfile": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "Profile for enabling a user to access a managed cluster." + }, + "ManagedClusterPoolUpgradeProfile": { + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "Kubernetes version (major, minor, patch)." + }, + "name": { + "type": "string", + "description": "Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "ContainerServiceOSTypes", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + }, + "upgrades": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of orchestrator types and versions available for upgrade." + } + }, + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." + }, + "ManagedClusterUpgradeProfileProperties": { + "properties": { + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "description": "The list of available upgrade versions for agent pools." + } + }, + "required": [ + "controlPlaneProfile", + "agentPoolProfiles" + ], + "description": "Control plane and agent pool upgrade profiles." + }, + "ManagedClusterUpgradeProfile": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "Properties of upgrade profile.", + "x-ms-client-flatten": true + } + }, + "required": [ + "properties" + ], + "description": "The list of available upgrades for compute pools." + }, + "OSType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true + }, + "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "x-ms-parameter-location": "client" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version.", + "x-ms-parameter-location": "client" + } + } +} diff --git a/specification/containerservices/resource-manager/readme.md b/specification/containerservices/resource-manager/readme.md index 977ffb2f8781..3526f6990867 100644 --- a/specification/containerservices/resource-manager/readme.md +++ b/specification/containerservices/resource-manager/readme.md @@ -34,7 +34,18 @@ These are the global settings for the ContainerServices API. ```yaml openapi-type: arm -tag: package-2017-09 +tag: package-2018-03 +``` + +### Tag: package-2018-03 + +These settings apply only when `--tag=package-2018-03` is specified on the command line. + +``` yaml $(tag) == 'package-2018-03' +input-file: +- Microsoft.ContainerService/stable/2017-07-01/containerService.json +- Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +- Microsoft.ContainerService/stable/2017-09-30/location.json ``` ### Tag: package-2017-09 From 996e84827ae25dbf8c8be510c1692d67bd5100fe Mon Sep 17 00:00:00 2001 From: Jun Sun Date: Fri, 18 May 2018 14:55:11 -0700 Subject: [PATCH 02/16] Add custom VNET model definition. --- .../stable/2018-03-31/managedClusters.json | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index 36e685f2f61f..7616b537c653 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -745,6 +745,12 @@ "$ref": "#/definitions/ContainerServiceVnetSubnetID", "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "Maximum number of pods that can run on a node.", + "default": 30 + }, "osType": { "$ref": "#/definitions/OSType", "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." @@ -793,6 +799,43 @@ ], "description": "Profile for Linux VMs in the container service cluster." }, + "ContainerServiceNetworkProfile": { + "properties": { + "networkPlugin": { + "type": "string", + "enum": [ + "azure", + "kubenet" + ], + "description": "Network plugin used for building Kubernetes network." + }, + "networkPolicy": { + "type": "string", + "enum": [ + "calico", + "cilium" + ], + "description": "Network policy used for building Kubernetes network." + }, + "podCidr": { + "type": "string", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + }, + "serviceCidr": { + "type": "string", + "description": "A CIDR notation IP range from which to assign service cluster IPs." + }, + "dnsServiceIP": { + "type": "string", + "description": "Containers DNS server IP address." + }, + "dockerBridgeCidr": { + "type": "string", + "description": "A CIDR notation IP for Docker bridge." + } + }, + "description": "Profile of network configuration." + }, "ContainerServiceSshConfiguration": { "properties": { "publicKeys": { @@ -917,6 +960,10 @@ "servicePrincipalProfile": { "$ref": "#/definitions/ContainerServiceServicePrincipalProfile", "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified." + }, + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "Profile of network configuration." } }, "description": "Properties of the managed cluster." From 935b190a7eeb69f6c2e1e039cee7646346856cd6 Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Sun, 20 May 2018 11:38:46 -0600 Subject: [PATCH 03/16] Add regex validations and x-ms-enum defs for VNET params --- .../stable/2018-03-31/managedClusters.json | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index 7616b537c653..1a5d62962f88 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -807,6 +807,10 @@ "azure", "kubenet" ], + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true + }, "description": "Network plugin used for building Kubernetes network." }, "networkPolicy": { @@ -815,23 +819,30 @@ "calico", "cilium" ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true + }, "description": "Network policy used for building Kubernetes network." }, "podCidr": { "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." }, "serviceCidr": { "type": "string", - "description": "A CIDR notation IP range from which to assign service cluster IPs." + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." }, "dnsServiceIP": { "type": "string", - "description": "Containers DNS server IP address." + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." }, "dockerBridgeCidr": { "type": "string", - "description": "A CIDR notation IP for Docker bridge." + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "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." } }, "description": "Profile of network configuration." @@ -1000,7 +1011,8 @@ } } ], - "description": "Managed cluster Access Profile." + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false }, "AccessProfile": { "type": "object", From c89af1f5f1301acc73f706a49d7aece38ede6799 Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Sun, 20 May 2018 12:27:40 -0600 Subject: [PATCH 04/16] Add IP address regex and defaults for CIDR fields --- .../stable/2018-03-31/managedClusters.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index 1a5d62962f88..d1c9ea442aca 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -807,6 +807,7 @@ "azure", "kubenet" ], + "default": "kubenet", "x-ms-enum": { "name": "NetworkPlugin", "modelAsString": true @@ -833,15 +834,19 @@ "serviceCidr": { "type": "string", "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "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." }, "dnsServiceIP": { "type": "string", + "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]?)$", + "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." }, "dockerBridgeCidr": { "type": "string", "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "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." } }, From 69f12b69137b5521cea953ac92b114859ee7e69f Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Sun, 20 May 2018 14:17:11 -0600 Subject: [PATCH 05/16] Add addonProfile --- .../stable/2018-03-31/managedClusters.json | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index d1c9ea442aca..325d496793f7 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -980,6 +980,12 @@ "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", "description": "Profile of network configuration." + }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "Profile of managed cluster add-on." } }, "description": "Properties of the managed cluster." @@ -1086,6 +1092,24 @@ ], "description": "Control plane and agent pool upgrade profiles." }, + "ManagedClusterAddonProfile": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." + }, + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs for configuring an add-on." + } + }, + "required": [ + "enabled" + ], + "description": "A Kubernetes add-on profile for a managed cluster." + }, "ManagedClusterUpgradeProfile": { "properties": { "id": { From 9b81d6c6e77d999756b7bb73f21f9023216e3d3b Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Mon, 21 May 2018 15:28:08 -0600 Subject: [PATCH 06/16] Add enableRBAC boolean to ManagedClusterProperties --- .../stable/2018-03-31/managedClusters.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index 325d496793f7..bdb6d8962b55 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -977,6 +977,10 @@ "$ref": "#/definitions/ContainerServiceServicePrincipalProfile", "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified." }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." + }, "networkProfile": { "$ref": "#/definitions/ContainerServiceNetworkProfile", "description": "Profile of network configuration." From 36a62877951fa17d2d70a8f46547d3cd43923300 Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Mon, 21 May 2018 18:52:18 -0600 Subject: [PATCH 07/16] Add AADProfile to ManagedClusterProperties --- .../stable/2018-03-31/managedClusters.json | 48 +++++++++++++++---- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index bdb6d8962b55..1d18f535177b 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -949,6 +949,10 @@ "type": "string", "description": "The current deployment or provisioning state, which only appears in the response." }, + "kubernetesVersion": { + "type": "string", + "description": "Version of Kubernetes specified when creating the managed cluster." + }, "dnsPrefix": { "type": "string", "description": "DNS prefix specified when creating the managed cluster." @@ -958,10 +962,6 @@ "type": "string", "description": "FDQN for the master pool." }, - "kubernetesVersion": { - "type": "string", - "description": "Version of Kubernetes specified when creating the managed cluster." - }, "agentPoolProfiles": { "type": "array", "items": { @@ -977,6 +977,12 @@ "$ref": "#/definitions/ContainerServiceServicePrincipalProfile", "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified." }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "Profile of managed cluster add-on." + }, "enableRBAC": { "type": "boolean", "description": "Whether to enable Kubernetes Role-Based Access Control." @@ -985,11 +991,9 @@ "$ref": "#/definitions/ContainerServiceNetworkProfile", "description": "Profile of network configuration." }, - "addonProfiles": { - "additionalProperties": { - "$ref": "#/definitions/ManagedClusterAddonProfile" - }, - "description": "Profile of managed cluster add-on." + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "Profile of Azure Active Directory configuration." } }, "description": "Properties of the managed cluster." @@ -1096,6 +1100,32 @@ ], "description": "Control plane and agent pool upgrade profiles." }, + "ManagedClusterAADProfile": { + "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." + } + }, + "required": [ + "clientAppID", + "serverAppID", + "serverAppSecret" + ], + "description": "AADProfile specifies attributes for Azure Active Directory integration." + }, "ManagedClusterAddonProfile": { "properties": { "enabled": { From 8a37ff50c8873b878f36b36d9adceb46d934bb2b Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Tue, 22 May 2018 09:26:09 -0600 Subject: [PATCH 08/16] Add ARM operations API --- .../stable/2018-03-31/managedClusters.json | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index 1d18f535177b..b366b405b3f2 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -34,6 +34,31 @@ } }, "paths": { + "/providers/Microsoft.ContainerService/operations": { + "get": { + "tags": [ + "managedClusters" + ], + "operationId": "Operations_List", + "description": "Gets a list of compute operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ComputeOperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { "get": { "tags": [ @@ -356,6 +381,64 @@ } }, "definitions": { + "ComputeOperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ComputeOperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "ComputeOperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ComputeOperationValueDisplay", + "description": "Describes the properties of a Compute Operation Value Display." + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "ComputeOperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, "Resource": { "description": "The Resource model definition.", "properties": { From 069fe698d58709694ea1945b032523b01a5aa4cd Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Fri, 25 May 2018 15:31:23 -0600 Subject: [PATCH 09/16] Rename an example file to start with a capital letter --- ...GetAccessProfile.json => ManagedClustersGetAccessProfile.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/{managedClustersGetAccessProfile.json => ManagedClustersGetAccessProfile.json} (100%) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/managedClustersGetAccessProfile.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetAccessProfile.json similarity index 100% rename from specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/managedClustersGetAccessProfile.json rename to specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGetAccessProfile.json From 2104f8557fd3e08eb4e198f54d531980944e8693 Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Fri, 25 May 2018 16:27:51 -0600 Subject: [PATCH 10/16] Reconcile two definitions of OSType enum. --- .../stable/2017-07-01/containerService.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json index 4ad96932f453..587d6fda1020 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json @@ -678,14 +678,14 @@ "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." }, "osType": { - "type": "string", - "default": "Linux", + "$ref": "#/definitions/OSType", "enum": [ "Linux", "Windows" ], "x-ms-enum": { - "name": "OSType" + "name": "ContainerServiceOSTypes", + "modelAsString": true }, "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." } From e365e10741ba688b8c3b39b67986e2b6e06e4ddc Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Fri, 25 May 2018 16:28:11 -0600 Subject: [PATCH 11/16] Rename to ManagedClusterAgentPoolProfile. Its fields have diverged from ContainerServiceAgentPoolProfile. --- .../stable/2018-03-31/managedClusters.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index b366b405b3f2..727061d9e363 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -780,7 +780,7 @@ ], "description": "Profile for the container service master." }, - "ContainerServiceAgentPoolProfile": { + "ManagedClusterAgentPoolProfile": { "properties": { "name": { "type": "string", @@ -1048,7 +1048,7 @@ "agentPoolProfiles": { "type": "array", "items": { - "$ref": "#/definitions/ContainerServiceAgentPoolProfile" + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" }, "description": "Properties of the agent pool." }, From 3047e9e632f7c44d4a88f3c768fc1de4dd9f40ec Mon Sep 17 00:00:00 2001 From: Laurent Mazuel Date: Fri, 25 May 2018 15:35:40 -0700 Subject: [PATCH 12/16] Py version --- specification/containerservices/resource-manager/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/containerservices/resource-manager/readme.md b/specification/containerservices/resource-manager/readme.md index 3526f6990867..c54ca17dbe7e 100644 --- a/specification/containerservices/resource-manager/readme.md +++ b/specification/containerservices/resource-manager/readme.md @@ -208,7 +208,7 @@ python: payload-flattening-threshold: 2 namespace: azure.mgmt.containerservice package-name: azure-mgmt-containerservice - package-version: 3.1.0 + package-version: 4.0.0 clear-output-folder: true ``` ``` yaml $(python) && $(python-mode) == 'update' From cc94d98878521377f2f3bd15770a71a76a0f8b4b Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Fri, 25 May 2018 16:54:30 -0600 Subject: [PATCH 13/16] Revert "Reconcile two definitions of OSType enum." This reverts commit 2104f8557fd3e08eb4e198f54d531980944e8693. --- .../stable/2017-07-01/containerService.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json index 587d6fda1020..4ad96932f453 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json @@ -678,14 +678,14 @@ "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." }, "osType": { - "$ref": "#/definitions/OSType", + "type": "string", + "default": "Linux", "enum": [ "Linux", "Windows" ], "x-ms-enum": { - "name": "ContainerServiceOSTypes", - "modelAsString": true + "name": "OSType" }, "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." } From 8a8e4b8dd129af8fa9e2a9950aa0d68a4d5df90b Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Sat, 26 May 2018 08:52:10 -0600 Subject: [PATCH 14/16] Reconcile two definitions of OSType enum. Added "modelAsString" to containerServices' definition. --- .../stable/2017-07-01/containerService.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json index 4ad96932f453..bed7f8be9ddd 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json @@ -685,7 +685,8 @@ "Windows" ], "x-ms-enum": { - "name": "OSType" + "name": "OSType", + "modelAsString": true }, "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." } From d61dfda40f6a7498040fee441c1b23cb6a1bc01a Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Wed, 30 May 2018 15:43:05 -0600 Subject: [PATCH 15/16] Incorporated review comments --- .../stable/2017-07-01/containerService.json | 6 +++--- .../stable/2018-03-31/managedClusters.json | 11 ++++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json index bed7f8be9ddd..330684d163f8 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2017-07-01/containerService.json @@ -309,7 +309,7 @@ }, "ContainerServiceVnetSubnetID": { "type": "string", - "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + "description": "VNet SubnetID specifies the vnet's subnet identifier." }, "ContainerServiceVMSize": { "type": "string", @@ -606,7 +606,7 @@ }, "vnetSubnetID": { "$ref": "#/definitions/ContainerServiceVnetSubnetID", - "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + "description": "VNet SubnetID specifies the vnet's subnet identifier." }, "firstConsecutiveStaticIP": { "type": "string", @@ -675,7 +675,7 @@ }, "vnetSubnetID": { "$ref": "#/definitions/ContainerServiceVnetSubnetID", - "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + "description": "VNet SubnetID specifies the vnet's subnet identifier." }, "osType": { "type": "string", diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json index 727061d9e363..6c2c13c42a68 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/managedClusters.json @@ -486,6 +486,7 @@ "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." }, "ContainerServiceStorageProfile": { + "type": "string", "x-ms-enum": { "name": "ContainerServiceStorageProfileTypes", @@ -499,7 +500,7 @@ }, "ContainerServiceVnetSubnetID": { "type": "string", - "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + "description": "VNet SubnetID specifies the vnet's subnet identifier." }, "ContainerServiceVMSize": { "type": "string", @@ -757,7 +758,7 @@ }, "vnetSubnetID": { "$ref": "#/definitions/ContainerServiceVnetSubnetID", - "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + "description": "VNet SubnetID specifies the vnet's subnet identifier." }, "firstConsecutiveStaticIP": { "type": "string", @@ -826,7 +827,7 @@ }, "vnetSubnetID": { "$ref": "#/definitions/ContainerServiceVnetSubnetID", - "description": "VNet SubnetID specifies the vnet's subnet identifier. If you specify either master VNet Subnet, or agent VNet Subnet, you need to specify both. And they have to be in the same VNet." + "description": "VNet SubnetID specifies the vnet's subnet identifier." }, "maxPods": { "type": "integer", @@ -900,8 +901,7 @@ "networkPolicy": { "type": "string", "enum": [ - "calico", - "cilium" + "calico" ], "x-ms-enum": { "name": "NetworkPolicy", @@ -912,6 +912,7 @@ "podCidr": { "type": "string", "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.244.0.0/16", "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." }, "serviceCidr": { From aec0206ea1de4d26984f9f2296c81a04d9ae921c Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Thu, 31 May 2018 15:03:29 -0600 Subject: [PATCH 16/16] Fixed examples errors pointed out by oav tool --- .../examples/ManagedClustersCreate_Update.json | 18 ++++++++++-------- .../examples/ManagedClustersGet.json | 9 +++++---- .../examples/ManagedClustersList.json | 9 +++++---- .../ManagedClustersListByResourceGroup.json | 9 +++++---- 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json index ba6a9e4aa730..f4e9ca0c767b 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersCreate_Update.json @@ -55,12 +55,13 @@ }, "provisioningState": "Succeeded", "servicePrincipalProfile": { - "clientId": "clientid", - "keyVaultSecretRef": null, - "secret": "secret" + "clientId": "clientid" } }, - "tags": "managedcluster", + "tags": { + "stage": "production", + "archv2": "" + }, "type": "Microsoft.ContainerService/ManagedClusters" } }, @@ -99,12 +100,13 @@ }, "provisioningState": "Succeeded", "servicePrincipalProfile": { - "clientId": "clientid", - "keyVaultSecretRef": null, - "secret": "secret" + "clientId": "clientid" } }, - "tags": "managedcluster", + "tags": { + "stage": "production", + "archv2": "" + }, "type": "Microsoft.ContainerService/ManagedClusters" } } diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json index 6ff17098bfbf..1d0b42b19092 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersGet.json @@ -41,12 +41,13 @@ }, "provisioningState": "Succeeded", "servicePrincipalProfile": { - "clientId": "clientid", - "keyVaultSecretRef": null, - "secret": "secret" + "clientId": "clientid" } }, - "tags": "managed-cluster", + "tags": { + "stage": "production", + "archv2": "" + }, "type": "Microsoft.ContainerService/ManagedClusters" } } diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json index 44125a03cd18..4642f88a308f 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersList.json @@ -41,12 +41,13 @@ }, "provisioningState": "Succeeded", "servicePrincipalProfile": { - "clientId": "clientid", - "keyVaultSecretRef": null, - "secret": "secret" + "clientId": "clientid" } }, - "tags": "managed-cluster", + "tags": { + "stage": "production", + "archv2": "" + }, "type": "Microsoft.ContainerService/ManagedClusters" } ] diff --git a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json index 17e47a143e5e..3aa11580ea4d 100644 --- a/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json +++ b/specification/containerservices/resource-manager/Microsoft.ContainerService/stable/2018-03-31/examples/ManagedClustersListByResourceGroup.json @@ -42,12 +42,13 @@ }, "provisioningState": "Succeeded", "servicePrincipalProfile": { - "clientId": "clientid", - "keyVaultSecretRef": null, - "secret": "secret" + "clientId": "clientid" } }, - "tags": "managed-cluster", + "tags": { + "stage": "production", + "archv2": "" + }, "type": "Microsoft.ContainerService/ManagedClusters" } ]