diff --git a/src/aks-preview/HISTORY.rst b/src/aks-preview/HISTORY.rst index 64dc25e5e93..9d3a931eec3 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.107 ++++++++ + +* Add `--disable-windows-outbound-nat` for `az aks nodepool add` to add a Windows agent pool which the Windows OutboundNAT is disabled. + 0.5.106 +++++++ diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index fcae4acf4cd..779cc61f012 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -1269,6 +1269,9 @@ - name: --enable-custom-ca-trust type: bool short-summary: Enable Custom CA Trust on agent node pool. + - name: --disable-windows-outbound-nat + type: bool + short-summary: Disable Windows OutboundNAT on Windows agent node pool. examples: - name: Create a nodepool in an existing AKS cluster with ephemeral os enabled. text: az aks nodepool add -g MyResourceGroup -n nodepool1 --cluster-name MyManagedCluster --node-osdisk-type Ephemeral --node-osdisk-size 48 diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index 4902ab0d697..807f624fcf9 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -126,7 +126,8 @@ validate_azuremonitorworkspaceresourceid, validate_grafanaresourceid, validate_ksm_labels, - validate_ksm_annotations + validate_ksm_annotations, + validate_disable_windows_outbound_nat, ) # candidates for enumeration @@ -504,6 +505,7 @@ def load_arguments(self, _): c.argument('workload_runtime', arg_type=get_enum_type(workload_runtimes), default=CONST_WORKLOAD_RUNTIME_OCI_CONTAINER) c.argument('gpu_instance_profile', arg_type=get_enum_type(gpu_instance_profiles)) c.argument('enable_custom_ca_trust', action='store_true', validator=validate_enable_custom_ca_trust) + c.argument('disable_windows_outbound_nat', action='store_true', validator=validate_disable_windows_outbound_nat) with self.argument_context('aks nodepool update') as c: c.argument('enable_cluster_autoscaler', options_list=[ diff --git a/src/aks-preview/azext_aks_preview/_validators.py b/src/aks-preview/azext_aks_preview/_validators.py index 70162c9a761..6e69efe0be0 100644 --- a/src/aks-preview/azext_aks_preview/_validators.py +++ b/src/aks-preview/azext_aks_preview/_validators.py @@ -639,6 +639,14 @@ def validate_enable_custom_ca_trust(namespace): '--enable_custom_ca_trust can only be set for Linux nodepools') +def validate_disable_windows_outbound_nat(namespace): + """Validates disable_windows_outbound_nat can only be used on Windows.""" + if namespace.disable_windows_outbound_nat: + if hasattr(namespace, 'os_type') and str(namespace.os_type).lower() != "windows": + raise ArgumentUsageError( + '--disable-windows-outbound-nat can only be set for Windows nodepools') + + def validate_defender_config_parameter(namespace): if namespace.defender_config and not namespace.enable_defender: raise RequiredArgumentMissingError("Please specify --enable-defnder") diff --git a/src/aks-preview/azext_aks_preview/agentpool_decorator.py b/src/aks-preview/azext_aks_preview/agentpool_decorator.py index e6b28bba459..07056d013f0 100644 --- a/src/aks-preview/azext_aks_preview/agentpool_decorator.py +++ b/src/aks-preview/azext_aks_preview/agentpool_decorator.py @@ -233,6 +233,33 @@ def get_disable_custom_ca_trust(self) -> bool: """ return self._get_disable_custom_ca_trust(enable_validation=True) + def _get_disable_windows_outbound_nat(self) -> bool: + """Internal function to obtain the value of disable_windows_outbound_nat. + + :return: bool + """ + # read the original value passed by the command + disable_windows_outbound_nat = self.raw_param.get("disable_windows_outbound_nat") + # In create mode, try to read the property value corresponding to the parameter from the `agentpool` object + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.agentpool and + self.agentpool.windows_profile and + self.agentpool.windows_profile.disable_windows_outbound_nat is not None + ): + disable_windows_outbound_nat = self.agentpool.windows_profile.disable_windows_outbound_nat + + # this parameter does not need dynamic completion + # this parameter does not need validation + return disable_windows_outbound_nat + + def get_disable_windows_outbound_nat(self) -> bool: + """Obtain the value of disable_windows_outbound_nat. + + :return: bool + """ + return self._get_disable_windows_outbound_nat() + class AKSPreviewAgentPoolAddDecorator(AKSAgentPoolAddDecorator): def __init__( @@ -309,6 +336,23 @@ def set_up_custom_ca_trust(self, agentpool: AgentPool) -> AgentPool: agentpool.enable_custom_ca_trust = self.context.get_enable_custom_ca_trust() return agentpool + def set_up_agentpool_windows_profile(self, agentpool: AgentPool) -> AgentPool: + """Set up windows profile for the AgentPool object. + + :return: the AgentPool object + """ + self._ensure_agentpool(agentpool) + + disable_windows_outbound_nat = self.context.get_disable_windows_outbound_nat() + + # Construct AgentPoolWindowsProfile if one of the fields has been set + if disable_windows_outbound_nat: + agentpool.windows_profile = self.models.AgentPoolWindowsProfile( + disable_outbound_nat=disable_windows_outbound_nat + ) + + return agentpool + def construct_agentpool_profile_preview(self) -> AgentPool: """The overall controller used to construct the preview AgentPool profile. @@ -328,6 +372,8 @@ def construct_agentpool_profile_preview(self) -> AgentPool: agentpool = self.set_up_gpu_properties(agentpool) # set up custom ca trust agentpool = self.set_up_custom_ca_trust(agentpool) + # set up agentpool windows profile + agentpool = self.set_up_agentpool_windows_profile(agentpool) # DO NOT MOVE: keep this at the bottom, restore defaults agentpool = self._restore_defaults_in_agentpool(agentpool) diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index c5b3bb8005d..a11caf82d59 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -1170,6 +1170,7 @@ def aks_agentpool_add( workload_runtime=None, gpu_instance_profile=None, enable_custom_ca_trust=False, + disable_windows_outbound_nat=False, ): # DO NOT MOVE: get all the original parameters and save them as a dictionary raw_parameters = locals() diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_disable_windows_outbound_nat.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_disable_windows_outbound_nat.yaml new file mode 100644 index 00000000000..c1462aa0927 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_nodepool_add_with_disable_windows_outbound_nat.yaml @@ -0,0 +1,1511 @@ +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.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/orchestrators?api-version=2019-04-01&resource-type=managedClusters + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/orchestrators\",\n + \ \"name\": \"default\",\n \"type\": \"Microsoft.ContainerService/locations/orchestrators\",\n + \ \"properties\": {\n \"orchestrators\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.22.11\",\n \"upgrades\": + [\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.15\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.23.8\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.12\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.22.15\",\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.23.8\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.12\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.23.8\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.12\"\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.24.3\"\n },\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.24.6\"\n }\n ]\n + \ },\n {\n \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.23.12\",\n \"default\": true,\n \"upgrades\": [\n {\n \"orchestratorType\": + \"Kubernetes\",\n \"orchestratorVersion\": \"1.24.3\"\n },\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.24.6\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.24.3\",\n \"upgrades\": [\n {\n + \ \"orchestratorType\": \"Kubernetes\",\n \"orchestratorVersion\": + \"1.24.6\"\n }\n ]\n },\n {\n \"orchestratorType\": \"Kubernetes\",\n + \ \"orchestratorVersion\": \"1.24.6\"\n }\n ]\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '2028' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:26:28 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": "eastus", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "1.24.6", "dnsPrefix": "cliaksdns000002", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 0, "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.24.6", "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 AAAAB3NzaC1yc2EAAAADAQABAAABAQD2Z7/5AENpYn+CCcHiBIiyUWhVxjD2J5+yuj+c7+sF7SUABN35CClzHQvtSV7LdFKkeK1p+l3yPrYUcLHRH9kHOxovoegeq+hkiem54owHpcNjA3usARUbhjQtHJRm5v1VqPlvnfV4OYZ1kbh5L1+kPzH5VtidnIbxMc0oRyelLUFRLuklLQCBawkLf49NqWz/d3Fp4CHQWNcl6SKZ2tjl02sWEljd5+yYlsfSCtDXBAYx6eEIwZi7DDHmZ7sXdOG/CUZ+yfMPyXZ4RjuDqQqhByLihxDLrjow+DGUKNUFXkZhJkITbF6iNN1qGoqn/oLyoIhwi3DuQ9vxhKgemZsD + azcli_aks_live_test@example.com\n"}]}}, "windowsProfile": {"adminUsername": + "azureuser1", "adminPassword": "replace-Password1234$"}, "addonProfiles": {}, + "enableRBAC": true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "azure", "outboundType": "managedNATGateway", "loadBalancerSku": "standard"}, + "disableLocalAccounts": false, "storageProfile": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1522' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-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/cliakstest000001?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.24.6\",\n \"currentKubernetesVersion\": \"1.24.6\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-3131ae6a.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-3131ae6a.portal.hcp.eastus.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.6\",\n \"currentOrchestratorVersion\": \"1.24.6\",\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.10.03\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2Z7/5AENpYn+CCcHiBIiyUWhVxjD2J5+yuj+c7+sF7SUABN35CClzHQvtSV7LdFKkeK1p+l3yPrYUcLHRH9kHOxovoegeq+hkiem54owHpcNjA3usARUbhjQtHJRm5v1VqPlvnfV4OYZ1kbh5L1+kPzH5VtidnIbxMc0oRyelLUFRLuklLQCBawkLf49NqWz/d3Fp4CHQWNcl6SKZ2tjl02sWEljd5+yYlsfSCtDXBAYx6eEIwZi7DDHmZ7sXdOG/CUZ+yfMPyXZ4RjuDqQqhByLihxDLrjow+DGUKNUFXkZhJkITbF6iNN1qGoqn/oLyoIhwi3DuQ9vxhKgemZsD + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true\n + \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_eastus\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"standard\",\n + \ \"loadBalancerProfile\": {\n \"backendPoolType\": \"nodeIPConfiguration\"\n + \ },\n \"natGatewayProfile\": {\n \"managedOutboundIPProfile\": {\n + \ \"count\": 1\n },\n \"idleTimeoutInMinutes\": 4\n },\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"managedNATGateway\",\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/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3474' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:26:34 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:27:04 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:27:34 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:28:04 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:28:35 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:29:05 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:29:35 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:30:05 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:30:35 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/1b690862-9024-4797-b370-43d405ae78e1?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6208691b-2490-9747-b370-43d405ae78e1\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-10-17T05:26:34.3115765Z\",\n \"endTime\": + \"2022-10-17T05:30:42.6418972Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:31:06 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 --dns-name-prefix --node-count --windows-admin-username + --windows-admin-password --load-balancer-sku --vm-set-type --network-plugin + --ssh-key-value --kubernetes-version --outbound-type + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-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/cliakstest000001?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \ \"location\": \"eastus\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.24.6\",\n \"currentKubernetesVersion\": \"1.24.6\",\n \"dnsPrefix\": + \"cliaksdns000002\",\n \"fqdn\": \"cliaksdns000002-3131ae6a.hcp.eastus.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliaksdns000002-3131ae6a.portal.hcp.eastus.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 1,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": 128,\n \"osDiskType\": + \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 30,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.6\",\n \"currentOrchestratorVersion\": \"1.24.6\",\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.10.03\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD2Z7/5AENpYn+CCcHiBIiyUWhVxjD2J5+yuj+c7+sF7SUABN35CClzHQvtSV7LdFKkeK1p+l3yPrYUcLHRH9kHOxovoegeq+hkiem54owHpcNjA3usARUbhjQtHJRm5v1VqPlvnfV4OYZ1kbh5L1+kPzH5VtidnIbxMc0oRyelLUFRLuklLQCBawkLf49NqWz/d3Fp4CHQWNcl6SKZ2tjl02sWEljd5+yYlsfSCtDXBAYx6eEIwZi7DDHmZ7sXdOG/CUZ+yfMPyXZ4RjuDqQqhByLihxDLrjow+DGUKNUFXkZhJkITbF6iNN1qGoqn/oLyoIhwi3DuQ9vxhKgemZsD + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"windowsProfile\": + {\n \"adminUsername\": \"azureuser1\",\n \"enableCSIProxy\": true\n + \ },\n \"servicePrincipalProfile\": {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n + \ },\n \"nodeResourceGroup\": \"MC_clitest000001_cliakstest000001_eastus\",\n + \ \"enableRBAC\": true,\n \"enablePodSecurityPolicy\": false,\n \"networkProfile\": + {\n \"networkPlugin\": \"azure\",\n \"loadBalancerSku\": \"Standard\",\n + \ \"loadBalancerProfile\": {\n \"backendPoolType\": \"nodeIPConfiguration\"\n + \ },\n \"natGatewayProfile\": {\n \"managedOutboundIPProfile\": {\n + \ \"count\": 1\n },\n \"effectiveOutboundIPs\": [\n {\n \"id\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000001_eastus/providers/Microsoft.Network/publicIPAddresses/bfdd59b6-d8f4-43c2-ac95-92ab868aafa8\"\n + \ }\n ],\n \"idleTimeoutInMinutes\": 4\n },\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"managedNATGateway\",\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_cliakstest000001_eastus/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-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: + - '4125' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:31:06 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-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/cliakstest000001/agentPools?api-version=2022-08-03-preview + response: + body: + string: "{\n \"value\": [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool1\",\n + \ \"name\": \"nodepool1\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_DS2_v2\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"orchestratorVersion\": \"1.24.6\",\n \"currentOrchestratorVersion\": + \"1.24.6\",\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.10.03\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false\n }\n }\n ]\n + }" + headers: + cache-control: + - no-cache + content-length: + - '1110' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:31:08 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: '{"properties": {"count": 1, "vmSize": "Standard_D2s_v3", "osDiskSizeGB": + 0, "workloadRuntime": "OCIContainer", "osType": "Windows", "enableAutoScaling": + false, "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": + "User", "upgradeSettings": {}, "enableNodePublicIP": false, "enableCustomCATrust": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "nodeTaints": [], "enableEncryptionAtHost": false, "enableUltraSSD": false, + "enableFIPS": false, "windowsProfile": {"disableOutboundNat": true}}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/DisableWindowsOutboundNATPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '554' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-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/cliakstest000001/agentPools/npwin?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.6\",\n \"currentOrchestratorVersion\": \"1.24.6\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"osSKU\": + \"Windows2019\",\n \"nodeImageVersion\": \"AKSWindows-2019-containerd-17763.3532.221012\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"windowsProfile\": + {\n \"disableOutboundNat\": true\n }\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '1114' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:31:11 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:31:42 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:32:12 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:32:42 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:33:12 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:33:42 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:34:13 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:34:43 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:35:13 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:35:43 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:36:13 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/56c5ea07-27d9-457a-a981-8d9bff2587a7?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"07eac556-d927-7a45-a981-8d9bff2587a7\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-10-17T05:31:11.8271723Z\",\n \"endTime\": + \"2022-10-17T05:36:19.9355774Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:36:44 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 nodepool add + Connection: + - keep-alive + ParameterSetName: + - --resource-group --cluster-name --name --node-count --os-type --disable-windows-outbound-nat + --aks-custom-headers + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-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/cliakstest000001/agentPools/npwin?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/npwin\",\n + \ \"name\": \"npwin\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \ \"properties\": {\n \"count\": 1,\n \"vmSize\": \"Standard_D2s_v3\",\n + \ \"osDiskSizeGB\": 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": + \"OS\",\n \"workloadRuntime\": \"OCIContainer\",\n \"maxPods\": 30,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.24.6\",\n \"currentOrchestratorVersion\": \"1.24.6\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Windows\",\n \"osSKU\": + \"Windows2019\",\n \"nodeImageVersion\": \"AKSWindows-2019-containerd-17763.3532.221012\",\n + \ \"upgradeSettings\": {},\n \"enableFIPS\": false,\n \"windowsProfile\": + {\n \"disableOutboundNat\": true\n }\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '1115' + content-type: + - application/json + date: + - Mon, 17 Oct 2022 05:36:44 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 delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g -n --yes --no-wait + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2022-08-03-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operations/7007650f-b5b4-4c13-b4be-305bc4e37312?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 17 Oct 2022 05:36:45 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus/operationresults/7007650f-b5b4-4c13-b4be-305bc4e37312?api-version=2017-08-31 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +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 9604bff5075..808b63bd923 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 @@ -1521,6 +1521,59 @@ def test_aks_nodepool_add_with_ossku_windows2022(self, resource_group, resource_ 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='eastus') + def test_aks_nodepool_add_with_disable_windows_outbound_nat(self, resource_group, resource_group_location): + # reset the count so in replay mode the random names will start with 0 + self.test_resources_count = 0 + # kwargs for string formatting + aks_name = self.create_random_name('cliakstest', 16) + _, create_version = self._get_versions(resource_group_location) + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'dns_name_prefix': self.create_random_name('cliaksdns', 16), + 'location': resource_group_location, + 'resource_type': 'Microsoft.ContainerService/ManagedClusters', + 'windows_admin_username': 'azureuser1', + 'windows_admin_password': 'replace-Password1234$', + 'windows_nodepool_name': 'npwin', + 'k8s_version': create_version, + 'ssh_key_value': self.generate_ssh_keys() + }) + + # create + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} ' \ + '--dns-name-prefix={dns_name_prefix} --node-count=1 ' \ + '--windows-admin-username={windows_admin_username} --windows-admin-password={windows_admin_password} ' \ + '--load-balancer-sku=standard --vm-set-type=virtualmachinescalesets --network-plugin=azure ' \ + '--ssh-key-value={ssh_key_value} --kubernetes-version={k8s_version} ' \ + '--outbound-type=managedNATGateway ' + self.cmd(create_cmd, checks=[ + self.exists('fqdn'), + self.exists('nodeResourceGroup'), + self.check('provisioningState', 'Succeeded'), + self.check('windowsProfile.adminUsername', 'azureuser1') + ]) + + # add Windows2022 nodepool + self.cmd('aks nodepool add ' + '--resource-group={resource_group} ' + '--cluster-name={name} ' + '--name={windows_nodepool_name} ' + '--node-count=1 ' + '--os-type Windows ' + '--disable-windows-outbound-nat ' + '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/DisableWindowsOutboundNATPreview', + checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('windowsProfile.disableOutboundNat', True), + ]) + + # 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='eastus') def test_aks_create_add_nodepool_with_motd(self, resource_group, resource_group_location): diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py b/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py index e39aef3cc8e..793d0edd76b 100644 --- a/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_validators.py @@ -115,6 +115,12 @@ def __init__(self, os_type, enable_custom_ca_trust): self.enable_custom_ca_trust = enable_custom_ca_trust +class DisableWindowsOutboundNatNamespace: + def __init__(self, os_type, disable_windows_outbound_nat): + self.os_type = os_type + self.disable_windows_outbound_nat = disable_windows_outbound_nat + + class TestMaxSurge(unittest.TestCase): def test_valid_cases(self): valid = ["5", "33%", "1", "100%"] @@ -191,6 +197,21 @@ def test_fail_if_os_type_invalid(self): self.assertTrue('--enable_custom_ca_trust can only be set for Linux nodepools' in str(cm.exception), msg=str(cm.exception)) +class TestDisableWindowsOutboundNAT(unittest.TestCase): + def test_pass_if_os_type_windows(self): + validators.validate_disable_windows_outbound_nat(DisableWindowsOutboundNatNamespace("Windows", True)) + + def test_fail_if_os_type_linux(self): + with self.assertRaises(CLIError) as cm: + validators.validate_disable_windows_outbound_nat(DisableWindowsOutboundNatNamespace("Linux", True)) + self.assertTrue('--disable-windows-outbound-nat can only be set for Windows nodepools' in str(cm.exception), msg=str(cm.exception)) + + def test_fail_if_os_type_invalid(self): + with self.assertRaises(CLIError) as cm: + validators.validate_disable_windows_outbound_nat(DisableWindowsOutboundNatNamespace("invalid", True)) + self.assertTrue('--disable-windows-outbound-nat can only be set for Windows nodepools' in str(cm.exception), msg=str(cm.exception)) + + class ValidateAddonsNamespace: def __init__(self, addons): self.addons = addons diff --git a/src/aks-preview/linter_exclusions.yml b/src/aks-preview/linter_exclusions.yml index ab7ab58def6..372a78ea978 100644 --- a/src/aks-preview/linter_exclusions.yml +++ b/src/aks-preview/linter_exclusions.yml @@ -104,3 +104,8 @@ aks nodepool delete: ignore_pod_disruption_budget: rule_exclusions: - option_length_too_long +aks nodepool add: + parameters: + disable_windows_outbound_nat: + rule_exclusions: + - option_length_too_long \ No newline at end of file diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 9e639d61d23..65535ff5c19 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.106" +VERSION = "0.5.107" CLASSIFIERS = [ "Development Status :: 4 - Beta",