From e5231a88566d63030814e32b67ba904ecee98e3a Mon Sep 17 00:00:00 2001 From: Yi Zhang Date: Tue, 5 Apr 2022 20:14:54 -0700 Subject: [PATCH 1/2] Add API properties and example JSON for Web App Routing of IngressProfile. --- ...rsCreate_IngressProfile_WebAppRouting.json | 245 ++++++++++++++++++ .../2022-03-02-preview/managedClusters.json | 31 +++ 2 files changed, 276 insertions(+) create mode 100644 specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json new file mode 100644 index 000000000000..f06c96382c0d --- /dev/null +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json @@ -0,0 +1,245 @@ +{ + "parameters": { + "api-version": "2022-03-02-preview", + "subscriptionId": "subid1", + "resourceGroupName": "rg1", + "resourceName": "clustername1", + "parameters": { + "location": "location1", + "tags": { + "tier": "production", + "archv2": "" + }, + "sku": { + "name": "Basic", + "tier": "Free" + }, + "properties": { + "kubernetesVersion": "", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "osType": "Linux", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "networkProfile": { + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "loadBalancerProfile": { + "managedOutboundIPs": { + "count": 2 + } + } + }, + "ingressProfile": { + "webAppRouting": { + "enabled": true, + "dnsZoneResourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Succeeded", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Succeeded", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System", + "nodeImageVersion": "AKSUbuntu:1604:2020.03.11" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io", + "networkProfile": { + "loadBalancerSku": "basic", + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "ingressProfile": { + "webAppRouting": { + "enabled": true, + "dnsZoneResourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1", + "location": "location1", + "name": "clustername1", + "tags": { + "archv2": "", + "tier": "production" + }, + "type": "Microsoft.ContainerService/ManagedClusters", + "properties": { + "provisioningState": "Creating", + "maxAgentPools": 1, + "kubernetesVersion": "1.9.6", + "dnsPrefix": "dnsprefix1", + "agentPoolProfiles": [ + { + "name": "nodepool1", + "count": 3, + "vmSize": "Standard_DS2_v2", + "maxPods": 110, + "osType": "Linux", + "provisioningState": "Creating", + "orchestratorVersion": "1.9.6", + "type": "VirtualMachineScaleSets", + "enableNodePublicIP": true, + "mode": "System" + } + ], + "linuxProfile": { + "adminUsername": "azureuser", + "ssh": { + "publicKeys": [ + { + "keyData": "keydata" + } + ] + } + }, + "windowsProfile": { + "adminUsername": "azureuser" + }, + "servicePrincipalProfile": { + "clientId": "clientid" + }, + "nodeResourceGroup": "MC_rg1_clustername1_location1", + "enableRBAC": true, + "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des", + "enablePodSecurityPolicy": true, + "networkProfile": { + "networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", + "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", + "loadBalancerSku": "standard", + "outboundType": "loadBalancer", + "podCidrs": [ + "10.244.0.0/16" + ], + "serviceCidrs": [ + "10.0.0.0/16" + ], + "ipFamilies": [ + "IPv4" + ], + "loadBalancerProfile": { + "allocatedOutboundPorts": 2000, + "idleTimeoutInMinutes": 10, + "managedOutboundIPs": { + "count": 2 + }, + "effectiveOutboundIPs": [ + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1" + }, + { + "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2" + } + ] + } + }, + "ingressProfile": { + "webAppRouting": { + "enabled": true, + "dnsZoneResourceId": "/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/dnszones/DNS_ZONE_NAME" + } + } + } + } + } + } +} diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json index 27c6304b1048..d063d333e62a 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json @@ -567,6 +567,9 @@ "Create Managed Cluster with Security Profile configured": { "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" }, + "Create Managed Cluster with Web App Routing Ingress Profile configured": { + "$ref": "./examples/ManagedClustersCreate_IngressProfile_WebAppRouting.json" + }, "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" }, @@ -4252,6 +4255,10 @@ "$ref": "#/definitions/ManagedClusterSecurityProfile", "description": "Security profile for the managed cluster." }, + "ingressProfile": { + "$ref": "#/definitions/ManagedClusterIngressProfile", + "description": "Ingress profile for the managed cluster." + }, "publicNetworkAccess": { "type": "string", "enum": [ @@ -5856,6 +5863,30 @@ }, "description": "Azure Key Vault key management service settings for the security profile." }, + "ManagedClusterIngressProfile": { + "type": "object", + "properties": { + "webAppRouting": { + "$ref": "#/definitions/ManagedClusterIngressProfileWebAppRouting", + "description": "Web App Routing settings for the ingress profile." + } + }, + "description": "Ingress profile for the container service cluster." + }, + "ManagedClusterIngressProfileWebAppRouting": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Web App Routing" + }, + "dnsZoneResourceId": { + "type": "string", + "description": "Resource ID of the DNS Zone to be associated with the web app. Used only when Web App Routing is enabled." + } + }, + "description": "Web App Routing settings for the ingress profile." + }, "ManagedClusterSecurityProfileWorkloadIdentity": { "type": "object", "properties": { From 62b3c45305af37f05bc8f1a3f55a3a84d7d63602 Mon Sep 17 00:00:00 2001 From: Yi Zhang Date: Tue, 5 Apr 2022 21:04:01 -0700 Subject: [PATCH 2/2] Add a ending period for description to match the style in all other "descriptions" in the same file. --- .../preview/2022-03-02-preview/managedClusters.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json index d063d333e62a..1c424834b362 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/preview/2022-03-02-preview/managedClusters.json @@ -5878,7 +5878,7 @@ "properties": { "enabled": { "type": "boolean", - "description": "Whether to enable Web App Routing" + "description": "Whether to enable Web App Routing." }, "dnsZoneResourceId": { "type": "string",