From 373cc11e87e7a6e4ad24f077eeb2032325371167 Mon Sep 17 00:00:00 2001 From: Qi Ni Date: Fri, 23 Sep 2022 11:17:53 +0800 Subject: [PATCH] feat: add load-balancer-backend-pool-type to create and update api (#5355) * feat: add load-balancer-backend-pool-type to create and update api * chore: update version Co-authored-by: Qi Ni --- linter_exclusions.yml | 6 + src/aks-preview/HISTORY.rst | 5 + src/aks-preview/azext_aks_preview/_consts.py | 4 + src/aks-preview/azext_aks_preview/_help.py | 8 + .../azext_aks_preview/_loadbalancer.py | 21 +- src/aks-preview/azext_aks_preview/_params.py | 3 + .../azext_aks_preview/_validators.py | 14 +- src/aks-preview/azext_aks_preview/custom.py | 2 + .../managed_cluster_decorator.py | 18 +- ..._with_load_balancer_backend_pool_type.yaml | 1150 +++++++++++++++++ .../tests/latest/test_aks_commands.py | 28 + .../tests/latest/test_loadbalancer.py | 5 +- .../latest/test_managed_cluster_decorator.py | 19 +- src/aks-preview/setup.py | 2 +- 14 files changed, 1271 insertions(+), 14 deletions(-) create mode 100644 src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_or_update_with_load_balancer_backend_pool_type.yaml diff --git a/linter_exclusions.yml b/linter_exclusions.yml index f3d61b9d04f..b3bea2007e0 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -64,6 +64,9 @@ aks create: load_balancer_outbound_ports: rule_exclusions: - option_length_too_long + load_balancer_backend_pool_type: + rule_exclusions: + - option_length_too_long nat_gateway_idle_timeout: rule_exclusions: - option_length_too_long @@ -176,6 +179,9 @@ aks update: load_balancer_outbound_ports: rule_exclusions: - option_length_too_long + load_balancer_backend_pool_type: + rule_exclusions: + - option_length_too_long nat_gateway_idle_timeout: rule_exclusions: - option_length_too_long diff --git a/src/aks-preview/HISTORY.rst b/src/aks-preview/HISTORY.rst index 3813374b17c..14a0c6e810a 100644 --- a/src/aks-preview/HISTORY.rst +++ b/src/aks-preview/HISTORY.rst @@ -12,6 +12,11 @@ To release a new version, please select a new version number (usually plus 1 to Pending +++++++ +0.5.103 ++++++++ + +* Add load-balancer-backend-pool-type to create and update api. + 0.5.102 +++++++ diff --git a/src/aks-preview/azext_aks_preview/_consts.py b/src/aks-preview/azext_aks_preview/_consts.py index d3e915b2c81..11dc0d40b04 100644 --- a/src/aks-preview/azext_aks_preview/_consts.py +++ b/src/aks-preview/azext_aks_preview/_consts.py @@ -64,6 +64,10 @@ CONST_OUTBOUND_TYPE_MANAGED_NAT_GATEWAY = "managedNATGateway" CONST_OUTBOUND_TYPE_USER_ASSIGNED_NAT_GATEWAY = "userAssignedNATGateway" +# load balancer backend pool type +CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IP = "nodeIP" +CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IPCONFIGURATION = "nodeIPConfiguration" + # private dns zone mode CONST_PRIVATE_DNS_ZONE_SYSTEM = "system" CONST_PRIVATE_DNS_ZONE_NONE = "none" diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index 88310331198..be7ff1f8681 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -157,6 +157,10 @@ type: int short-summary: Load balancer idle timeout in minutes. long-summary: Desired idle timeout for load balancer outbound flows, default is 30 minutes. Please specify a value in the range of [4, 100]. + - name: --load-balancer-backend-pool-type + type: string + short-summary: Load balancer backend pool type. + long-summary: Load balancer backend pool type, supported values are nodeIP and nodeIPConfiguration. - name: --nat-gateway-managed-outbound-ip-count type: int short-summary: NAT gateway managed outbound IP count. @@ -620,6 +624,10 @@ type: int short-summary: Load balancer idle timeout in minutes. long-summary: Desired idle timeout for load balancer outbound flows, default is 30 minutes. Please specify a value in the range of [4, 100]. + - name: --load-balancer-backend-pool-type + type: string + short-summary: Load balancer backend pool type. + long-summary: Load balancer backend pool type, supported values are nodeIP and nodeIPConfiguration. - name: --nat-gateway-managed-outbound-ip-count type: int short-summary: NAT gateway managed outbound IP count. diff --git a/src/aks-preview/azext_aks_preview/_loadbalancer.py b/src/aks-preview/azext_aks_preview/_loadbalancer.py index a0488168b67..25f4daca122 100644 --- a/src/aks-preview/azext_aks_preview/_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/_loadbalancer.py @@ -23,20 +23,20 @@ def set_load_balancer_sku(sku, kubernetes_version): def update_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models): + outbound_ip_prefixes, outbound_ports, idle_timeout, backend_pool_type, profile, models): """parse and update an existing load balancer profile""" if not is_load_balancer_profile_provided(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - outbound_ip_prefixes, outbound_ports, idle_timeout): + outbound_ip_prefixes, outbound_ports, backend_pool_type, idle_timeout): return profile return configure_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models) + outbound_ip_prefixes, outbound_ports, idle_timeout, backend_pool_type, profile, models) def create_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - outbound_ip_prefixes, outbound_ports, idle_timeout, models): + outbound_ip_prefixes, outbound_ports, idle_timeout, backend_pool_type, models): """parse and build load balancer profile""" if not is_load_balancer_profile_provided(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - outbound_ip_prefixes, outbound_ports, idle_timeout): + outbound_ip_prefixes, outbound_ports, backend_pool_type, idle_timeout): return None if isinstance(models, SimpleNamespace): @@ -45,11 +45,11 @@ def create_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv ManagedClusterLoadBalancerProfile = models.get("ManagedClusterLoadBalancerProfile") profile = ManagedClusterLoadBalancerProfile() return configure_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models) + outbound_ip_prefixes, outbound_ports, idle_timeout, backend_pool_type, profile, models) def configure_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - outbound_ip_prefixes, outbound_ports, idle_timeout, profile, models): + outbound_ip_prefixes, outbound_ports, idle_timeout, backend_pool_type, profile, models): """configure a load balancer with customer supplied values""" if not profile: return profile @@ -109,17 +109,20 @@ def configure_load_balancer_profile(managed_outbound_ip_count, managed_outbound_ profile.allocated_outbound_ports = outbound_ports if idle_timeout: profile.idle_timeout_in_minutes = idle_timeout + if backend_pool_type: + profile.backend_pool_type = backend_pool_type return profile def is_load_balancer_profile_provided(managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, - ip_prefixes, outbound_ports, idle_timeout): + ip_prefixes, outbound_ports, backend_pool_type, idle_timeout): return any([managed_outbound_ip_count, managed_outbound_ipv6_count, outbound_ips, ip_prefixes, outbound_ports, - idle_timeout]) + idle_timeout, + backend_pool_type]) def _get_load_balancer_outbound_ips(load_balancer_outbound_ips, models): diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index 425d850a36d..1a6d59bf747 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -93,6 +93,7 @@ validate_k8s_version, validate_linux_host_name, validate_load_balancer_idle_timeout, + validate_load_balancer_backend_pool_type, validate_load_balancer_outbound_ip_prefixes, validate_load_balancer_outbound_ips, validate_load_balancer_outbound_ports, @@ -212,6 +213,7 @@ def load_arguments(self, _): c.argument('load_balancer_outbound_ip_prefixes', validator=validate_load_balancer_outbound_ip_prefixes) c.argument('load_balancer_outbound_ports', type=int, validator=validate_load_balancer_outbound_ports) c.argument('load_balancer_idle_timeout', type=int, validator=validate_load_balancer_idle_timeout) + c.argument('load_balancer_backend_pool_type', validator=validate_load_balancer_backend_pool_type) c.argument('nat_gateway_managed_outbound_ip_count', type=int, validator=validate_nat_gateway_managed_outbound_ip_count) c.argument('nat_gateway_idle_timeout', type=int, validator=validate_nat_gateway_idle_timeout) c.argument('outbound_type', arg_type=get_enum_type(outbound_types)) @@ -345,6 +347,7 @@ def load_arguments(self, _): c.argument('load_balancer_outbound_ip_prefixes', validator=validate_load_balancer_outbound_ip_prefixes) c.argument('load_balancer_outbound_ports', type=int, validator=validate_load_balancer_outbound_ports) c.argument('load_balancer_idle_timeout', type=int, validator=validate_load_balancer_idle_timeout) + c.argument('load_balancer_backend_pool_type', validator=validate_load_balancer_backend_pool_type) c.argument('nat_gateway_managed_outbound_ip_count', type=int, validator=validate_nat_gateway_managed_outbound_ip_count) c.argument('nat_gateway_idle_timeout', type=int, validator=validate_nat_gateway_idle_timeout) c.argument('auto_upgrade_channel', arg_type=get_enum_type(auto_upgrade_channels)) diff --git a/src/aks-preview/azext_aks_preview/_validators.py b/src/aks-preview/azext_aks_preview/_validators.py index ca3d2ef7db4..ef0ce480e29 100644 --- a/src/aks-preview/azext_aks_preview/_validators.py +++ b/src/aks-preview/azext_aks_preview/_validators.py @@ -22,7 +22,11 @@ from azure.cli.core.util import CLIError from knack.log import get_logger -from azext_aks_preview._consts import ADDONS +from azext_aks_preview._consts import ( + ADDONS, + CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IP, + CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IPCONFIGURATION, +) from azext_aks_preview._helpers import _fuzzy_match logger = get_logger(__name__) @@ -309,6 +313,14 @@ def validate_load_balancer_idle_timeout(namespace): "--load-balancer-idle-timeout must be in the range [4,100]") +def validate_load_balancer_backend_pool_type(namespace): + """validate load balancer backend pool type""" + if namespace.load_balancer_backend_pool_type is not None: + if namespace.load_balancer_backend_pool_type not in [CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IP, CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IPCONFIGURATION]: + raise InvalidArgumentValueError( + f"Invalid Load Balancer Backend Pool Type {namespace.load_balancer_backend_pool_type}, supported values are nodeIP and nodeIPConfiguration") + + def validate_nat_gateway_managed_outbound_ip_count(namespace): """validate NAT gateway profile managed outbound IP count""" if namespace.nat_gateway_managed_outbound_ip_count is not None: diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 4c2c20c4503..9f694a1f9a4 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -560,6 +560,7 @@ def aks_create( load_balancer_outbound_ip_prefixes=None, load_balancer_outbound_ports=None, load_balancer_idle_timeout=None, + load_balancer_backend_pool_type=None, nat_gateway_managed_outbound_ip_count=None, nat_gateway_idle_timeout=None, outbound_type=None, @@ -716,6 +717,7 @@ def aks_update( load_balancer_outbound_ip_prefixes=None, load_balancer_outbound_ports=None, load_balancer_idle_timeout=None, + load_balancer_backend_pool_type=None, nat_gateway_managed_outbound_ip_count=None, nat_gateway_idle_timeout=None, auto_upgrade_channel=None, diff --git a/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py b/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py index 668e022dfec..60655c819c3 100644 --- a/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py +++ b/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py @@ -356,6 +356,20 @@ def get_load_balancer_managed_outbound_ipv6_count(self) -> Union[int, None]: return count_ipv6 + def get_load_balancer_backend_pool_type(self) -> str: + """Obtain the value of load_balancer_backend_pool_type. + + :return: string + """ + # read the original value passed by the command + load_balancer_backend_pool_type = self.raw_param.get( + "load_balancer_backend_pool_type" + ) + + # this parameter does not need dynamic completion + # this parameter does not need validation + return load_balancer_backend_pool_type + def _get_enable_pod_security_policy(self, enable_validation: bool = False) -> bool: """Internal function to obtain the value of enable_pod_security_policy. @@ -2037,7 +2051,7 @@ def set_up_network_profile(self, mc: ManagedCluster) -> ManagedCluster: network_profile.ip_families = ip_families # recreate the load balancer profile if load_balancer_managed_outbound_ipv6_count is not None - if self.context.get_load_balancer_managed_outbound_ipv6_count() is not None: + if self.context.get_load_balancer_managed_outbound_ipv6_count() is not None or self.context.get_load_balancer_backend_pool_type() is not None: network_profile.load_balancer_profile = create_load_balancer_profile( self.context.get_load_balancer_managed_outbound_ip_count(), self.context.get_load_balancer_managed_outbound_ipv6_count(), @@ -2045,6 +2059,7 @@ def set_up_network_profile(self, mc: ManagedCluster) -> ManagedCluster: self.context.get_load_balancer_outbound_ip_prefixes(), self.context.get_load_balancer_outbound_ports(), self.context.get_load_balancer_idle_timeout(), + self.context.get_load_balancer_backend_pool_type(), models=self.models.load_balancer_models, ) @@ -2475,6 +2490,7 @@ def update_load_balancer_profile(self, mc: ManagedCluster) -> ManagedCluster: outbound_ip_prefixes=self.context.get_load_balancer_outbound_ip_prefixes(), outbound_ports=self.context.get_load_balancer_outbound_ports(), idle_timeout=self.context.get_load_balancer_idle_timeout(), + backend_pool_type=self.context.get_load_balancer_backend_pool_type(), profile=mc.network_profile.load_balancer_profile, models=self.models.load_balancer_models, ) diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_or_update_with_load_balancer_backend_pool_type.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_or_update_with_load_balancer_backend_pool_type.yaml new file mode 100644 index 00000000000..ae834c2d4e3 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_create_or_update_with_load_balancer_backend_pool_type.yaml @@ -0,0 +1,1150 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks get-versions + Connection: + - keep-alive + ParameterSetName: + - -l --query + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0 Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/orchestrators?api-version=2019-04-01&resource-type=managedClusters + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/orchestrators\",\n + \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\",\n + \ \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.6\",\n \"upgrades\": + [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.11\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.23.5\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.8\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.11\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.5\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.8\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.23.5\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.8\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.24.0\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.24.3\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.8\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.24.0\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.24.3\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.24.0\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.24.3\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.24.3\"\n }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '2030' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:16:38 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "centraluseuap", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "1.24.3", "dnsPrefix": "cliakstest-clitesttla4fujj2-8ecadf", + "agentPoolProfiles": [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 0, "workloadRuntime": "OCIContainer", "osType": "Linux", "enableAutoScaling": + false, "type": "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": + "1.24.3", "upgradeSettings": {}, "enableNodePublicIP": false, "enableCustomCATrust": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, + "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgMDaKzx21y0xm0byA49NtuRj71+rvF+ludrvfJ+38F4LF4sxxCwlvc+6Eb5UqQNdASJqWWrTCw9CG+dwOrpQK/mr6jb7IP/J2WZggXMz7T84tPoijF+hzBCMb1gF9Ly7wEx4+wc9fh9qRHSO6cuwazZmqaTWo2CY1ZaDuFBRcKcUQz80fhJxeKXDI6kz+r0D63/rhFWiwyfbpqeOWcgPiioA11ydEWgbmucfZI1+R43DSs5j/3wOX6Uv5dDNwkhjmPz8xGmWbUYE+XOaoQtlbGklmhvvzZQYVWTE1j2WQXUwechxFjjr1xkfkOwzBLN/6sShVOVBXn0s47H/vvUp + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "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", "outboundType": "loadBalancer", "loadBalancerSku": + "standard", "loadBalancerProfile": {"allocatedOutboundPorts": 0, "idleTimeoutInMinutes": + 30, "backendPoolType": "nodeIP"}}, "disableLocalAccounts": false, "storageProfile": + {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1687' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.24.3\",\n \"currentKubernetesVersion\": \"1.24.3\",\n \"dnsPrefix\": + \"cliakstest-clitesttla4fujj2-8ecadf\",\n \"fqdn\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.portal.hcp.centraluseuap.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.3\",\n \"enableNodePublicIP\": false,\n \"enableCustomCATrust\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.08.29\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgMDaKzx21y0xm0byA49NtuRj71+rvF+ludrvfJ+38F4LF4sxxCwlvc+6Eb5UqQNdASJqWWrTCw9CG+dwOrpQK/mr6jb7IP/J2WZggXMz7T84tPoijF+hzBCMb1gF9Ly7wEx4+wc9fh9qRHSO6cuwazZmqaTWo2CY1ZaDuFBRcKcUQz80fhJxeKXDI6kz+r0D63/rhFWiwyfbpqeOWcgPiioA11ydEWgbmucfZI1+R43DSs5j/3wOX6Uv5dDNwkhjmPz8xGmWbUYE+XOaoQtlbGklmhvvzZQYVWTE1j2WQXUwechxFjjr1xkfkOwzBLN/6sShVOVBXn0s47H/vvUp + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"allocatedOutboundPorts\": + 0,\n \"idleTimeoutInMinutes\": 30,\n \"backendPoolType\": \"nodeIP\"\n + \ },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"disableLocalAccounts\": + false,\n \"securityProfile\": {},\n \"storageProfile\": {\n \"diskCSIDriver\": + {\n \"enabled\": true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": + {\n \"enabled\": true\n },\n \"snapshotController\": {\n \"enabled\": + true\n }\n },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n + \ },\n \"workloadAutoScalerProfile\": {}\n },\n \"identity\": {\n \"type\": + \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '3482' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:16:44 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:17:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:17:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:18:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:18:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:19:14 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:19:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:20:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:20:45 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/e370ace5-ce49-4c94-86c7-cc2ed6849365?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"e5ac70e3-49ce-944c-86c7-cc2ed6849365\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-09-16T07:16:44.8817194Z\",\n \"endTime\": + \"2022-09-16T07:21:03.6951824Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:21:15 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --kubernetes-version --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.24.3\",\n \"currentKubernetesVersion\": \"1.24.3\",\n \"dnsPrefix\": + \"cliakstest-clitesttla4fujj2-8ecadf\",\n \"fqdn\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.portal.hcp.centraluseuap.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.3\",\n \"enableNodePublicIP\": false,\n \"enableCustomCATrust\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.08.29\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgMDaKzx21y0xm0byA49NtuRj71+rvF+ludrvfJ+38F4LF4sxxCwlvc+6Eb5UqQNdASJqWWrTCw9CG+dwOrpQK/mr6jb7IP/J2WZggXMz7T84tPoijF+hzBCMb1gF9Ly7wEx4+wc9fh9qRHSO6cuwazZmqaTWo2CY1ZaDuFBRcKcUQz80fhJxeKXDI6kz+r0D63/rhFWiwyfbpqeOWcgPiioA11ydEWgbmucfZI1+R43DSs5j/3wOX6Uv5dDNwkhjmPz8xGmWbUYE+XOaoQtlbGklmhvvzZQYVWTE1j2WQXUwechxFjjr1xkfkOwzBLN/6sShVOVBXn0s47H/vvUp + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/52e26d90-7039-402b-851e-10ff1879b107\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30,\n \"backendPoolType\": \"nodeIP\"\n },\n \"podCidr\": \"10.244.0.0/16\",\n + \ \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n + \ \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n + \ \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {}\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4147' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:21:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.24.3\",\n \"currentKubernetesVersion\": \"1.24.3\",\n \"dnsPrefix\": + \"cliakstest-clitesttla4fujj2-8ecadf\",\n \"fqdn\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.portal.hcp.centraluseuap.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.3\",\n \"enableNodePublicIP\": false,\n \"enableCustomCATrust\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.08.29\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgMDaKzx21y0xm0byA49NtuRj71+rvF+ludrvfJ+38F4LF4sxxCwlvc+6Eb5UqQNdASJqWWrTCw9CG+dwOrpQK/mr6jb7IP/J2WZggXMz7T84tPoijF+hzBCMb1gF9Ly7wEx4+wc9fh9qRHSO6cuwazZmqaTWo2CY1ZaDuFBRcKcUQz80fhJxeKXDI6kz+r0D63/rhFWiwyfbpqeOWcgPiioA11ydEWgbmucfZI1+R43DSs5j/3wOX6Uv5dDNwkhjmPz8xGmWbUYE+XOaoQtlbGklmhvvzZQYVWTE1j2WQXUwechxFjjr1xkfkOwzBLN/6sShVOVBXn0s47H/vvUp + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/52e26d90-7039-402b-851e-10ff1879b107\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30,\n \"backendPoolType\": \"nodeIP\"\n },\n \"podCidr\": \"10.244.0.0/16\",\n + \ \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n + \ \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n + \ \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {}\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4147' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:21:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "centraluseuap", "sku": {"name": "Basic", "tier": "Free"}, + "identity": {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": + "1.24.3", "dnsPrefix": "cliakstest-clitesttla4fujj2-8ecadf", "agentPoolProfiles": + [{"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 128, "osDiskType": + "Managed", "kubeletDiskType": "OS", "workloadRuntime": "OCIContainer", "maxPods": + 110, "osType": "Linux", "osSKU": "Ubuntu", "enableAutoScaling": false, "type": + "VirtualMachineScaleSets", "mode": "System", "orchestratorVersion": "1.24.3", + "upgradeSettings": {}, "powerState": {"code": "Running"}, "enableNodePublicIP": + false, "enableCustomCATrust": false, "enableEncryptionAtHost": false, "enableUltraSSD": + false, "enableFIPS": false, "name": "nodepool1"}], "linuxProfile": {"adminUsername": + "azureuser", "ssh": {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgMDaKzx21y0xm0byA49NtuRj71+rvF+ludrvfJ+38F4LF4sxxCwlvc+6Eb5UqQNdASJqWWrTCw9CG+dwOrpQK/mr6jb7IP/J2WZggXMz7T84tPoijF+hzBCMb1gF9Ly7wEx4+wc9fh9qRHSO6cuwazZmqaTWo2CY1ZaDuFBRcKcUQz80fhJxeKXDI6kz+r0D63/rhFWiwyfbpqeOWcgPiioA11ydEWgbmucfZI1+R43DSs5j/3wOX6Uv5dDNwkhjmPz8xGmWbUYE+XOaoQtlbGklmhvvzZQYVWTE1j2WQXUwechxFjjr1xkfkOwzBLN/6sShVOVBXn0s47H/vvUp + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000002_centraluseuap", "enableRBAC": + true, "enablePodSecurityPolicy": false, "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", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/52e26d90-7039-402b-851e-10ff1879b107"}], + "allocatedOutboundPorts": 0, "idleTimeoutInMinutes": 30, "backendPoolType": + "nodeIP"}, "podCidrs": ["10.244.0.0/16"], "serviceCidrs": ["10.0.0.0/16"], "ipFamilies": + ["IPv4"]}, "identityProfile": {"kubeletidentity": {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false, "securityProfile": {}, "storageProfile": {}, + "workloadAutoScalerProfile": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2668' + Content-Type: + - application/json + ParameterSetName: + - -g -n --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.24.3\",\n \"currentKubernetesVersion\": \"1.24.3\",\n \"dnsPrefix\": + \"cliakstest-clitesttla4fujj2-8ecadf\",\n \"fqdn\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.portal.hcp.centraluseuap.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.3\",\n \"enableNodePublicIP\": false,\n \"enableCustomCATrust\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.08.29\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgMDaKzx21y0xm0byA49NtuRj71+rvF+ludrvfJ+38F4LF4sxxCwlvc+6Eb5UqQNdASJqWWrTCw9CG+dwOrpQK/mr6jb7IP/J2WZggXMz7T84tPoijF+hzBCMb1gF9Ly7wEx4+wc9fh9qRHSO6cuwazZmqaTWo2CY1ZaDuFBRcKcUQz80fhJxeKXDI6kz+r0D63/rhFWiwyfbpqeOWcgPiioA11ydEWgbmucfZI1+R43DSs5j/3wOX6Uv5dDNwkhjmPz8xGmWbUYE+XOaoQtlbGklmhvvzZQYVWTE1j2WQXUwechxFjjr1xkfkOwzBLN/6sShVOVBXn0s47H/vvUp + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/52e26d90-7039-402b-851e-10ff1879b107\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30,\n \"backendPoolType\": \"nodeIP\"\n },\n \"podCidr\": \"10.244.0.0/16\",\n + \ \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n + \ \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n + \ \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {}\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/99a1346f-321b-4a86-924c-016d141ef5e0?api-version=2016-03-30 + cache-control: + - no-cache + content-length: + - '4145' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:21:20 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/99a1346f-321b-4a86-924c-016d141ef5e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f34a199-1b32-864a-924c-016d141ef5e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:21:20.6672361Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:21:50 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/99a1346f-321b-4a86-924c-016d141ef5e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f34a199-1b32-864a-924c-016d141ef5e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-09-16T07:21:20.6672361Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:22:21 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/centraluseuap/operations/99a1346f-321b-4a86-924c-016d141ef5e0?api-version=2016-03-30 + response: + body: + string: "{\n \"name\": \"6f34a199-1b32-864a-924c-016d141ef5e0\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-09-16T07:21:20.6672361Z\",\n \"endTime\": + \"2022-09-16T07:22:50.6725283Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:22:51 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - -g -n --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.40.0 azsdk-python-azure-mgmt-containerservice/20.3.0b Python/3.8.10 + (Linux-5.15.0-1019-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"centraluseuap\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.24.3\",\n \"currentKubernetesVersion\": \"1.24.3\",\n \"dnsPrefix\": + \"cliakstest-clitesttla4fujj2-8ecadf\",\n \"fqdn\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.hcp.centraluseuap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesttla4fujj2-8ecadf-668a1db8.portal.hcp.centraluseuap.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.3\",\n \"enableNodePublicIP\": false,\n \"enableCustomCATrust\": + false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": false,\n + \ \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-1804gen2containerd-2022.08.29\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n ],\n + \ \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPgMDaKzx21y0xm0byA49NtuRj71+rvF+ludrvfJ+38F4LF4sxxCwlvc+6Eb5UqQNdASJqWWrTCw9CG+dwOrpQK/mr6jb7IP/J2WZggXMz7T84tPoijF+hzBCMb1gF9Ly7wEx4+wc9fh9qRHSO6cuwazZmqaTWo2CY1ZaDuFBRcKcUQz80fhJxeKXDI6kz+r0D63/rhFWiwyfbpqeOWcgPiioA11ydEWgbmucfZI1+R43DSs5j/3wOX6Uv5dDNwkhjmPz8xGmWbUYE+XOaoQtlbGklmhvvzZQYVWTE1j2WQXUwechxFjjr1xkfkOwzBLN/6sShVOVBXn0s47H/vvUp + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_centraluseuap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.Network/publicIPAddresses/52e26d90-7039-402b-851e-10ff1879b107\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30,\n \"backendPoolType\": \"nodeIP\"\n },\n \"podCidr\": \"10.244.0.0/16\",\n + \ \"serviceCidr\": \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n + \ \"dockerBridgeCidr\": \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n + \ \"podCidrs\": [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": + [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n + \ },\n \"maxAgentPools\": 100,\n \"identityProfile\": {\n \"kubeletidentity\": + {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_centraluseuap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {}\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4147' + content-type: + - application/json + date: + - Fri, 16 Sep 2022 07:22:52 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index 848c246ff8c..a924592b5a6 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py @@ -3628,6 +3628,34 @@ def test_aks_create_and_update_ipv6_count(self, resource_group, resource_group_l # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='centraluseuap', preserve_default_location=True) + def test_aks_create_or_update_with_load_balancer_backend_pool_type(self, resource_group, resource_group_location): + _, create_version = self._get_versions(resource_group_location) + aks_name = self.create_random_name('cliakstest', 16) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'k8s_version': create_version, + 'ssh_key_value': self.generate_ssh_keys(), + }) + + # create + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--ssh-key-value={ssh_key_value} ' \ + '--kubernetes-version={k8s_version} ' \ + '--load-balancer-backend-pool-type=nodeIP' + self.cmd(create_cmd, checks=[ + self.check('networkProfile.loadBalancerProfile.backendPoolType', 'nodeIP'), + ]) + + # update + update_cmd = 'aks update -g {resource_group} -n {name} --load-balancer-backend-pool-type=nodeIP' + self.cmd(update_cmd, checks=[ + self.check('networkProfile.loadBalancerProfile.backendPoolType', 'nodeIP'), + ]) @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='centraluseuap') diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py index 17479b3b343..97d767e8f2c 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer.py @@ -31,8 +31,9 @@ def test_configure_load_balancer_profile(self): outbound_ip_prefixes = None outbound_ports = 80 idle_timeout = 3600 + backend_pool_type = "nodeIP" - # store all the models used by load balancer + # store all the models used by load balancer ManagedClusterLoadBalancerProfile = ( self.load_balancer_models.ManagedClusterLoadBalancerProfile ) @@ -66,6 +67,7 @@ def test_configure_load_balancer_profile(self): outbound_ip_prefixes, outbound_ports, idle_timeout, + backend_pool_type, profile, self.load_balancer_models, ) @@ -76,6 +78,7 @@ def test_configure_load_balancer_profile(self): self.assertEqual(p.outbound_ip_prefixes, None) self.assertEqual(p.allocated_outbound_ports, 80) self.assertEqual(p.idle_timeout_in_minutes, 3600) + self.assertEqual(p.backend_pool_type, "nodeIP") if __name__ == '__main__': diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_managed_cluster_decorator.py b/src/aks-preview/azext_aks_preview/tests/latest/test_managed_cluster_decorator.py index 41170e8a324..26d4d667a47 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_managed_cluster_decorator.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_managed_cluster_decorator.py @@ -28,6 +28,7 @@ CONST_INGRESS_APPGW_WATCH_NAMESPACE, CONST_KUBE_DASHBOARD_ADDON_NAME, CONST_LOAD_BALANCER_SKU_STANDARD, + CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IP, CONST_MONITORING_ADDON_NAME, CONST_MONITORING_LOG_ANALYTICS_WORKSPACE_RESOURCE_ID, CONST_MONITORING_USING_AAD_MSI_AUTH, @@ -439,6 +440,20 @@ def test_get_load_balancer_managed_outbound_ipv6_count(self): mc_3 = self.models.ManagedCluster(location="test_location", network_profile=network_profile_3) ctx_3.attach_mc(mc_3) self.assertEqual(ctx_3.get_load_balancer_managed_outbound_ipv6_count(), 20) + + def test_get_load_balancer_backend_pool_type(self): + ctx = AKSPreviewManagedClusterContext( + self.cmd, + AKSManagedClusterParamDict( + { + "load_balancer_backend_pool_type": "nodeIP", + } + ), + self.models, + decorator_mode=DecoratorMode.CREATE, + ) + self.assertEqual(ctx.get_load_balancer_backend_pool_type(), "nodeIP") + def test_get_enable_pod_security_policy(self): # default @@ -3317,6 +3332,7 @@ def test_set_up_network_profile(self): "load_balancer_outbound_ip_prefixes": None, "load_balancer_outbound_ports": None, "load_balancer_idle_timeout": None, + "load_balancer_backend_pool_type": "nodeIP", "outbound_type": None, "network_plugin": None, "pod_cidr": None, @@ -3346,7 +3362,8 @@ def test_set_up_network_profile(self): load_balancer_profile_1 = self.models.load_balancer_models.ManagedClusterLoadBalancerProfile( managed_outbound_i_ps=self.models.load_balancer_models.ManagedClusterLoadBalancerProfileManagedOutboundIPs( count_ipv6=3, - ) + ), + backend_pool_type=CONST_LOAD_BALANCER_BACKEND_POOL_TYPE_NODE_IP, ) network_profile_1.load_balancer_profile = load_balancer_profile_1 ground_truth_mc_1 = self.models.ManagedCluster(location="test_location", network_profile=network_profile_1) diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index d8db1f1a7c3..10ead090353 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -9,7 +9,7 @@ from setuptools import setup, find_packages -VERSION = "0.5.102" +VERSION = "0.5.103" CLASSIFIERS = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers",