diff --git a/src/aks-preview/HISTORY.rst b/src/aks-preview/HISTORY.rst index dfd48d844e1..c4f757b1ce1 100644 --- a/src/aks-preview/HISTORY.rst +++ b/src/aks-preview/HISTORY.rst @@ -12,6 +12,9 @@ To release a new version, please select a new version number (usually plus 1 to Pending +++++++ +14.0.0b3 ++++++++ +* Support `az aks loadbalancer show/list/add/update/delete/rebalance` commands. 14.0.0b2 +++++++ diff --git a/src/aks-preview/azext_aks_preview/_client_factory.py b/src/aks-preview/azext_aks_preview/_client_factory.py index 8fcdfb336f8..ca647c56045 100644 --- a/src/aks-preview/azext_aks_preview/_client_factory.py +++ b/src/aks-preview/azext_aks_preview/_client_factory.py @@ -151,3 +151,7 @@ def get_providers_client_factory(cli_ctx, subscription_id=None): def get_keyvault_client(cli_ctx, subscription_id=None): return get_mgmt_service_client(cli_ctx, ResourceType.MGMT_KEYVAULT, subscription_id=subscription_id).vaults + + +def cf_load_balancers(cli_ctx, *_): + return get_container_service_client(cli_ctx).load_balancers diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index e08fe641ba5..bf66c4fb016 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -3300,3 +3300,131 @@ type: string short-summary: Additional endpoint(s) to perform the connectivity check, separated by comma. """ + +helps['aks loadbalancer'] = """ + type: group + short-summary: Commands to manage load balancer configurations in a managed Kubernetes cluster. + long-summary: These commands enable the feature of multiple standard load balancers for Azure Kubernetes Service clusters. +""" + +helps['aks loadbalancer add'] = """ + type: command + short-summary: Add a load balancer configuration to a managed Kubernetes cluster. + parameters: + - name: --name -n + type: string + short-summary: Name of the load balancer configuration. + long-summary: Load balancer name used for identification. There must be a configuration named "kubernetes" in the cluster. + - name: --primary-agent-pool-name -p + type: string + short-summary: Name of the primary agent pool for this load balancer. + long-summary: Required field. A string value that must specify the ID of an existing agent pool. All nodes in the given pool will always be added to this load balancer. + - name: --allow-service-placement -a + type: bool + short-summary: Whether to automatically place services on the load balancer. + long-summary: If not supplied, the default value is true. If set to false manually, both the external and internal load balancer will not be selected for services unless they explicitly target it. + - name: --service-label-selector -l + type: string + short-summary: Label selector for services that can be placed on this load balancer. + long-summary: Only services that match this selector can be placed on this load balancer. Format as comma-separated key=value pairs or expressions like "key In value1,value2". + - name: --service-namespace-selector -s + type: string + short-summary: Namespace label selector for services that can be placed on this load balancer. + long-summary: Services created in namespaces that match the selector can be placed on this load balancer. Format as comma-separated key=value pairs. + - name: --node-selector -d + type: string + short-summary: Node label selector for nodes that can be members of this load balancer. + long-summary: Nodes that match this selector will be possible members of this load balancer. Format as comma-separated key=value pairs. + - name: --aks-custom-headers + type: string + short-summary: Send custom headers to the AKS API. + long-summary: When specified, format should be Key1=Value1,Key2=Value2. + examples: + - name: Add a load balancer configuration with a specific primary agent pool + text: az aks loadbalancer add -g MyResourceGroup -n secondary --cluster-name MyManagedCluster --primary-agent-pool-name nodepool1 + - name: Add a load balancer configuration with service label selector + text: az aks loadbalancer add -g MyResourceGroup -n app-lb --cluster-name MyManagedCluster --primary-agent-pool-name nodepool2 --service-label-selector app=frontend + - name: Add a load balancer configuration that doesn't automatically place services + text: az aks loadbalancer add -g MyResourceGroup -n restricted-lb --cluster-name MyManagedCluster --primary-agent-pool-name nodepool3 --allow-service-placement false + - name: Add a load balancer configuration with custom AKS API headers + text: az aks loadbalancer add -g MyResourceGroup -n api-lb --cluster-name MyManagedCluster --primary-agent-pool-name nodepool1 --aks-custom-headers CustomHeader=Value +""" + +helps['aks loadbalancer update'] = """ + type: command + short-summary: Update a load balancer configuration in a managed Kubernetes cluster. + parameters: + - name: --name -n + type: string + short-summary: Name of the load balancer configuration to update. + - name: --primary-agent-pool-name -p + type: string + short-summary: Name of the primary agent pool for this load balancer. + long-summary: A string value that must specify the ID of an existing agent pool. All nodes in the given pool will always be added to this load balancer. + - name: --allow-service-placement -a + type: bool + short-summary: Whether to automatically place services on the load balancer. + long-summary: If set to false, both the external and internal load balancer will not be selected for services unless they explicitly target it. + - name: --service-label-selector -l + type: string + short-summary: Label selector for services that can be placed on this load balancer. + long-summary: Only services that match this selector can be placed on this load balancer. Format as comma-separated key=value pairs or expressions like "key In value1,value2". + - name: --service-namespace-selector -s + type: string + short-summary: Namespace label selector for services that can be placed on this load balancer. + long-summary: Services created in namespaces that match the selector can be placed on this load balancer. Format as comma-separated key=value pairs. + - name: --node-selector -d + type: string + short-summary: Node label selector for nodes that can be members of this load balancer. + long-summary: Nodes that match this selector will be possible members of this load balancer. Format as comma-separated key=value pairs. + - name: --aks-custom-headers + type: string + short-summary: Send custom headers to the AKS API. + long-summary: When specified, format should be Key1=Value1,Key2=Value2. + examples: + - name: Update a load balancer configuration's primary agent pool + text: az aks loadbalancer update -g MyResourceGroup -n secondary --cluster-name MyManagedCluster --primary-agent-pool-name nodepool2 + - name: Update a load balancer configuration to disable automatic service placement + text: az aks loadbalancer update -g MyResourceGroup -n app-lb --cluster-name MyManagedCluster --allow-service-placement false + - name: Update a load balancer configuration with new service selector + text: az aks loadbalancer update -g MyResourceGroup -n app-lb --cluster-name MyManagedCluster --service-label-selector tier=frontend,environment=production + - name: Update a load balancer configuration with custom AKS API headers + text: az aks loadbalancer update -g MyResourceGroup -n api-lb --cluster-name MyManagedCluster --aks-custom-headers CustomHeader=Value +""" + +helps['aks loadbalancer delete'] = """ + type: command + short-summary: Delete a load balancer configuration from a managed Kubernetes cluster. + parameters: + - name: --name -n + type: string + short-summary: Name of the load balancer configuration to delete. + long-summary: The "kubernetes" load balancer cannot be deleted as it's required for cluster operation. + examples: + - name: Delete a load balancer configuration + text: az aks loadbalancer delete -g MyResourceGroup -n secondary --cluster-name MyManagedCluster +""" + +helps['aks loadbalancer list'] = """ + type: command + short-summary: List all load balancer configurations in a managed Kubernetes cluster. + examples: + - name: List all load balancer configurations + text: az aks loadbalancer list -g MyResourceGroup --cluster-name MyManagedCluster + - name: List all load balancer configurations in table format + text: az aks loadbalancer list -g MyResourceGroup --cluster-name MyManagedCluster -o table +""" + +helps['aks loadbalancer show'] = """ + type: command + short-summary: Show details of a specific load balancer configuration in a managed Kubernetes cluster. + parameters: + - name: --name -n + type: string + short-summary: Name of the load balancer configuration to show. + examples: + - name: Show details of a specific load balancer configuration + text: az aks loadbalancer show -g MyResourceGroup -n secondary --cluster-name MyManagedCluster + - name: Show details of a load balancer configuration in table format + text: az aks loadbalancer show -g MyResourceGroup -n kubernetes --cluster-name MyManagedCluster -o table +""" diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index c6f1ed9efae..b78881df786 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -2325,6 +2325,149 @@ def load_arguments(self, _): help='Space-separated additional endpoint(s) to perform the connectivity check.', validator=validate_custom_endpoints) + # AKS loadbalancer command parameter configuration + with self.argument_context("aks loadbalancer add") as c: + c.argument( + "name", + options_list=["--name", "-n"], + help="Name of the load balancer configuration. Required.", + ) + c.argument( + "primary_agent_pool_name", + options_list=["--primary-agent-pool-name", "-p"], + help=( + "Name of the primary agent pool for this load balancer. " + "All nodes in this pool will be added to the load balancer. Required." + ), + ) + c.argument( + "allow_service_placement", + options_list=["--allow-service-placement", "-a"], + arg_type=get_three_state_flag(), + help="Whether to automatically place services on the load balancer. Default is true.", + ) + c.argument( + "aks_custom_headers", + help="Send custom headers. When specified, format should be Key1=Value1,Key2=Value2.", + ) + c.argument( + "service_label_selector", + options_list=["--service-label-selector", "-l"], + help=( + "Only services that match this selector can be placed on this load balancer. " + "Format: key1=value1,key2=value2 for simple selectors, " + "or key1 In val1 val2,key2 Exists for advanced expressions." + ), + ) + c.argument( + "service_namespace_selector", + options_list=["--service-namespace-selector", "-s"], + help=( + "Services created in namespaces that match the selector can be placed on this load balancer. " + "Format: key1=value1,key2=value2 for simple selectors, " + "or key1 In val1 val2,key2 Exists for advanced expressions." + ), + ) + c.argument( + "node_selector", + options_list=["--node-selector", "-d"], + help=( + "Nodes that match this selector will be possible members of this load balancer. " + "Format: key1=value1,key2=value2 for simple selectors, " + "or key1 In val1 val2,key2 Exists for advanced expressions." + ), + ) + + with self.argument_context("aks loadbalancer rebalance-nodes") as c: + c.argument( + "resource_group_name", + options_list=["--resource-group", "-g"], + help="Name of resource group.", + id_part="resource_group", + configured_default="aks", + ) + c.argument( + "cluster_name", + options_list=["--name", "-n"], + help="Name of the managed cluster.", + ) + c.argument( + "load_balancer_names", + options_list=["--load-balancer-names", "--lb-names"], + nargs="+", + help=( + "Space-separated list of load balancer names to rebalance. " + "If not specified, all load balancers will be rebalanced." + ), + ) + c.argument( + "no_wait", help="Do not wait for the long-running operation to finish." + ) + + with self.argument_context("aks loadbalancer update") as c: + c.argument( + "name", + options_list=["--name", "-n"], + help="Name of the public load balancer. Required.", + ) + c.argument( + "primary_agent_pool_name", + options_list=["--primary-agent-pool-name", "-p"], + help=( + "Name of the primary agent pool for this load balancer. " + "All nodes in this pool will be added to the load balancer." + ), + ) + c.argument( + "allow_service_placement", + options_list=["--allow-service-placement", "-a"], + arg_type=get_three_state_flag(), + help="Whether to automatically place services on the load balancer. Default is true.", + ) + c.argument( + "aks_custom_headers", + help="Send custom headers. When specified, format should be Key1=Value1,Key2=Value2.", + ) + c.argument( + "service_label_selector", + options_list=["--service-label-selector", "-l"], + help=( + "Only services that match this selector can be placed on this load balancer. " + "Format: key1=value1,key2=value2 for simple selectors, " + "or key1 In val1 val2,key2 Exists for advanced expressions." + ), + ) + c.argument( + "service_namespace_selector", + options_list=["--service-namespace-selector", "-s"], + help=( + "Services created in namespaces that match the selector can be placed on this load balancer. " + "Format: key1=value1,key2=value2 for simple selectors, " + "or key1 In val1 val2,key2 Exists for advanced expressions." + ), + ) + c.argument( + "node_selector", + options_list=["--node-selector", "-d"], + help=( + "Nodes that match this selector will be possible members of this load balancer. " + "Format: key1=value1,key2=value2 for simple selectors, " + "or key1 In val1 val2,key2 Exists for advanced expressions." + ), + ) + + # Define parameters for show and delete commands + for scope in [ + "aks loadbalancer show", + "aks loadbalancer delete", + ]: + with self.argument_context(scope) as c: + c.argument( + "name", + options_list=["--name", "-n"], + help="Name of the load balancer configuration. Required.", + ) + def _get_default_install_location(exe_name): system = platform.system() diff --git a/src/aks-preview/azext_aks_preview/commands.py b/src/aks-preview/azext_aks_preview/commands.py index 183738999f6..877639bdf92 100644 --- a/src/aks-preview/azext_aks_preview/commands.py +++ b/src/aks-preview/azext_aks_preview/commands.py @@ -15,6 +15,7 @@ cf_trustedaccess_role_binding, cf_machines, cf_operations, + cf_load_balancers, ) from azext_aks_preview._format import ( aks_addon_list_available_table_format, @@ -196,6 +197,18 @@ def load_command_table(self, _): g.custom_command("update", "aks_maintenanceconfiguration_update") g.custom_command("delete", "aks_maintenanceconfiguration_delete") + # AKS loadbalancer commands + with self.command_group( + "aks loadbalancer", + client_factory=cf_load_balancers, + ) as g: + g.custom_command("list", "aks_loadbalancer_list") + g.custom_show_command("show", "aks_loadbalancer_show") + g.custom_command("add", "aks_loadbalancer_add") + g.custom_command("update", "aks_loadbalancer_update") + g.custom_command("delete", "aks_loadbalancer_delete") + g.custom_command("rebalance-nodes", "aks_loadbalancer_rebalance_nodes") + # AKS addon commands with self.command_group( "aks addon", managed_clusters_sdk, client_factory=cf_managed_clusters diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index eafe732c511..85170afc006 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -3704,3 +3704,169 @@ def aks_check_network_outbound( instance_id, vm_name, custom_endpoints) + + +# pylint: disable=unused-argument +def aks_loadbalancer_add( + cmd, + client, + resource_group_name, + cluster_name, + name, + primary_agent_pool_name, + allow_service_placement=None, + service_label_selector=None, + service_namespace_selector=None, + node_selector=None, + aks_custom_headers=None, +): + """Add a load balancer configuration to a managed cluster. + + :param resource_group_name: Name of resource group. + :type resource_group_name: str + :param cluster_name: Name of the managed cluster. + :type cluster_name: str + :param name: Name of the public load balancer. + :type name: str + :param primary_agent_pool_name: Name of the primary agent pool for this load balancer. + :type primary_agent_pool_name: str + :param allow_service_placement: Whether to automatically place services on the load balancer. Default is true. + :type allow_service_placement: bool + :param service_label_selector: Only services that match this selector can be placed on this load balancer. + :type service_label_selector: str + :param service_namespace_selector: Services created in namespaces that match the selector can be + placed on this load balancer. + :type service_namespace_selector: str + :param node_selector: Nodes that match this selector will be possible members of this load balancer. + :type node_selector: str + """ + # DO NOT MOVE: get all the original parameters and save them as a dictionary + raw_parameters = locals() + from azext_aks_preview.loadbalancerconfiguration import ( + aks_loadbalancer_add_internal, + ) + + return aks_loadbalancer_add_internal(cmd, client, raw_parameters) + + +def aks_loadbalancer_update( + cmd, + client, + resource_group_name, + cluster_name, + name, + primary_agent_pool_name=None, + allow_service_placement=None, + service_label_selector=None, + service_namespace_selector=None, + node_selector=None, + aks_custom_headers=None, +): + """Update a load balancer configuration in a managed cluster. + + :param resource_group_name: Name of resource group. + :type resource_group_name: str + :param cluster_name: Name of the managed cluster. + :type cluster_name: str + :param loadbalancer_name: Name of the load balancer configuration. + :type loadbalancer_name: str + :param name: Name of the public load balancer. + :type name: str + :param primary_agent_pool_name: Name of the primary agent pool for this load balancer. + :type primary_agent_pool_name: str + :param allow_service_placement: Whether to automatically place services on the load balancer. Default is true. + :type allow_service_placement: bool + :param service_label_selector: Only services that match this selector can be placed on this load balancer. + :type service_label_selector: str + :param service_namespace_selector: Services created in namespaces that match the selector can be + placed on this load balancer. + :type service_namespace_selector: str + :param node_selector: Nodes that match this selector will be possible members of this load balancer. + :type node_selector: str + """ + + # DO NOT MOVE: get all the original parameters and save them as a dictionary + raw_parameters = locals() + from azext_aks_preview.loadbalancerconfiguration import ( + aks_loadbalancer_update_internal, + ) + + return aks_loadbalancer_update_internal(cmd, client, raw_parameters) + + +def aks_loadbalancer_delete(cmd, client, resource_group_name, cluster_name, name): + """Delete a load balancer configuration in a managed cluster. + + :param resource_group_name: Name of resource group. + :type resource_group_name: str + :param cluster_name: Name of the managed cluster. + :type cluster_name: str + :param name: Name of the load balancer configuration. + :type name: str + """ + return client.begin_delete(resource_group_name, cluster_name, name) + + +def aks_loadbalancer_list(cmd, client, resource_group_name, cluster_name): + """List load balancer configurations in a managed cluster. + + :param resource_group_name: Name of resource group. + :type resource_group_name: str + :param cluster_name: Name of the managed cluster. + :type cluster_name: str + """ + return client.list_by_managed_cluster(resource_group_name, cluster_name) + + +def aks_loadbalancer_show(cmd, client, resource_group_name, cluster_name, name): + """Show the details for a load balancer configuration. + + :param resource_group_name: Name of resource group. + :type resource_group_name: str + :param cluster_name: Name of the managed cluster. + :type cluster_name: str + :param name: Name of the load balancer configuration. + :type name: str + """ + return client.get(resource_group_name, cluster_name, name) + + +# pylint: disable=unused-argument +def aks_loadbalancer_rebalance_nodes( + cmd, + client, + resource_group_name, + cluster_name, + load_balancer_names=None, +): + """Rebalance nodes across specific load balancers. + + :param cmd: Command context + :param client: AKS client + :param resource_group_name: Name of resource group. + :type resource_group_name: str + :param cluster_name: Name of the managed cluster. + :type cluster_name: str + :param load_balancer_names: Names of load balancers to rebalance. + If not specified, all load balancers will be rebalanced. + :type load_balancer_names: list[str] + :param no_wait: Do not wait for the long-running operation to finish. + :type no_wait: bool + :return: The result of the rebalance operation + """ + from azext_aks_preview.loadbalancerconfiguration import ( + aks_loadbalancer_rebalance_internal, + ) + from azext_aks_preview._client_factory import cf_managed_clusters + + # Get the load balancers client + managed_clusters_client = cf_managed_clusters(cmd.cli_ctx) + + # Prepare parameters for the internal function + parameters = { + "resource_group_name": resource_group_name, + "cluster_name": cluster_name, + "load_balancer_names": load_balancer_names, + } + + return aks_loadbalancer_rebalance_internal(managed_clusters_client, parameters) diff --git a/src/aks-preview/azext_aks_preview/loadbalancerconfiguration.py b/src/aks-preview/azext_aks_preview/loadbalancerconfiguration.py new file mode 100644 index 00000000000..a17182d3a72 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/loadbalancerconfiguration.py @@ -0,0 +1,505 @@ +# pylint: disable=too-many-lines +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- + +from knack.log import get_logger +from azure.cli.core.azclierror import ( + RequiredArgumentMissingError, ResourceNotFoundError, + BadRequestError, AzureInternalError +) +from azure.cli.core.util import CLIError +from .vendored_sdks.azure_mgmt_preview_aks.v2025_01_02_preview.models import ( + RebalanceLoadBalancersRequestBody, +) + +from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW + +logger = get_logger(__name__) + + +def aks_loadbalancer_update_internal(cmd, client, raw_parameters): + resource_group_name = raw_parameters.get("resource_group_name") + cluster_name = raw_parameters.get("cluster_name") + loadbalancer_name = raw_parameters.get("name") + aks_custom_headers = raw_parameters.get("aks_custom_headers") + + # Get custom headers if provided + from azext_aks_preview.custom import get_aks_custom_headers + headers = get_aks_custom_headers(aks_custom_headers) + + # Check if the LoadBalancer exists before updating + existing_loadbalancers = client.list_by_managed_cluster( + resource_group_name, cluster_name + ) + existing_lb = None + for lb in existing_loadbalancers: + if lb.name == loadbalancer_name: + existing_lb = lb + break + + if not existing_lb: + raise ResourceNotFoundError( + f"Load balancer configuration '{loadbalancer_name}' not found. " + "Use 'aks loadbalancer list' to get current list of load balancer configurations." + ) + + # Track what fields are being updated + changes_requested = False + + # Extract parameters from raw_parameters, falling back to existing values + primary_agent_pool_name = raw_parameters.get("primary_agent_pool_name") + if primary_agent_pool_name: + if ( + primary_agent_pool_name.lower() + != existing_lb.primary_agent_pool_name.lower() + ): + raise BadRequestError( + f"Cannot change primary agent pool name for load balancer configuration '{loadbalancer_name}'." + ) + else: + # Use existing value + primary_agent_pool_name = existing_lb.primary_agent_pool_name + + # Allow service placement parameter + allow_service_placement = raw_parameters.get("allow_service_placement") + if allow_service_placement is not None: + changes_requested = changes_requested or ( + allow_service_placement != existing_lb.allow_service_placement + ) + else: + # Use existing value + allow_service_placement = existing_lb.allow_service_placement + + # Process selectors + # Check for service_label_selector + service_label_selector_param = raw_parameters.get("service_label_selector") + if service_label_selector_param is not None: + service_label_selector = construct_label_selector(cmd, service_label_selector_param) + changes_requested = True + else: + service_label_selector = existing_lb.service_label_selector + + # Check for service_namespace_selector + service_namespace_selector_param = raw_parameters.get("service_namespace_selector") + if service_namespace_selector_param is not None: + service_namespace_selector = construct_label_selector(cmd, service_namespace_selector_param) + changes_requested = True + else: + service_namespace_selector = existing_lb.service_namespace_selector + + # Check for node_selector + node_selector_param = raw_parameters.get("node_selector") + if node_selector_param is not None: + node_selector = construct_label_selector(cmd, node_selector_param) + changes_requested = True + else: + node_selector = existing_lb.node_selector + + # Error if no changes are requested + if not changes_requested: + raise BadRequestError( + f"No changes requested for load balancer configuration '{loadbalancer_name}'. " + "Specify at least one property to update." + ) + + # Load the LoadBalancer model class + LoadBalancer = cmd.get_models( + "LoadBalancer", + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + operation_group="load_balancers", + ) + + # Create the LoadBalancer object with updated or existing values + config = LoadBalancer( + primary_agent_pool_name=primary_agent_pool_name, + allow_service_placement=allow_service_placement, + service_label_selector=service_label_selector, + service_namespace_selector=service_namespace_selector, + node_selector=node_selector, + ) + + # Call create_or_update with the LoadBalancer object + client.create_or_update( + resource_group_name=resource_group_name, + resource_name=cluster_name, + load_balancer_name=loadbalancer_name, + parameters=config, + headers=headers, + ) + + # Wait for the load balancer to be provisioned and return the latest state + return wait_for_loadbalancer_provisioning_state( + client, resource_group_name, cluster_name, loadbalancer_name + ) + + +def aks_loadbalancer_add_internal(cmd, client, raw_parameters): + resource_group_name = raw_parameters.get("resource_group_name") + cluster_name = raw_parameters.get("cluster_name") + loadbalancer_name = raw_parameters.get("name") + aks_custom_headers = raw_parameters.get("aks_custom_headers") + + # Get custom headers if provided + from azext_aks_preview.custom import get_aks_custom_headers + headers = get_aks_custom_headers(aks_custom_headers) + + # Validate required parameters for adding a new LoadBalancer + if not loadbalancer_name: + raise RequiredArgumentMissingError( + "Please specify --name for load balancer configuration." + ) + + # Check if the LoadBalancer exists before updating + existing_loadbalancers = client.list_by_managed_cluster( + resource_group_name, cluster_name + ) + existing_lb = None + for lb in existing_loadbalancers: + if lb.name == loadbalancer_name: + existing_lb = lb + break + + if existing_lb: + raise BadRequestError( + f"Load balancer configuration '{loadbalancer_name}' already exists." + ) + + config = constructLoadBalancerConfiguration(cmd, raw_parameters) + logger.debug("Load balancer configuration: %s", config) + + # Call create_or_update with the LoadBalancer object + client.create_or_update( + resource_group_name=resource_group_name, + resource_name=cluster_name, + load_balancer_name=loadbalancer_name, + parameters=config, + headers=headers, + ) + + # Wait for the load balancer to be provisioned and return the latest state + return wait_for_loadbalancer_provisioning_state( + client, resource_group_name, cluster_name, loadbalancer_name + ) + + +def constructLoadBalancerConfiguration(cmd, raw_parameters): + primary_agent_pool_name = raw_parameters.get("primary_agent_pool_name") + allow_service_placement = raw_parameters.get("allow_service_placement") + + # Check required parameters + if primary_agent_pool_name is None: + raise RequiredArgumentMissingError( + "Please specify --primary-agent-pool-name for load balancer configuration." + ) + + # Get the model class + LoadBalancer = cmd.get_models( + "LoadBalancer", + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + operation_group="load_balancers", + ) + + # Construct label selectors if provided + service_label_selector = construct_label_selector( + cmd, raw_parameters.get("service_label_selector") + ) + service_namespace_selector = construct_label_selector( + cmd, raw_parameters.get("service_namespace_selector") + ) + node_selector = construct_label_selector(cmd, raw_parameters.get("node_selector")) + + result = LoadBalancer( + primary_agent_pool_name=primary_agent_pool_name, + allow_service_placement=allow_service_placement, + service_label_selector=service_label_selector, + service_namespace_selector=service_namespace_selector, + node_selector=node_selector, + ) + + return result + + +def construct_label_selector(cmd, selector_param): + """Construct a LabelSelector object from a parameter string. + + Supports both matchLabels (key=value) and matchExpressions with operators: + - In: key In value1 value2 ... + - NotIn: key NotIn value1 value2 ... + - Exists: key Exists + - DoesNotExist: key DoesNotExist + + Example: "app=frontend,environment=prod,tier In frontend backend,version NotIn v1.0 v1.1" + """ + if not selector_param: + return None + + LabelSelector = cmd.get_models( + "LabelSelector", + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + operation_group="load_balancers", + ) + + # Models for matchExpressions + LabelSelectorRequirement = cmd.get_models( + "LabelSelectorRequirement", + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + operation_group="load_balancers", + ) + + # According to the SDK, matchLabels should be List[str] formatted as ["key=value", ...] + match_labels_list = [] + match_expressions = [] + + # Split by comma first, then process each segment + segments = [seg.strip() for seg in selector_param.split(",")] + + for segment in segments: + if "=" in segment: + # Handle matchLabels (key=value) + # Store as "key=value" in match_labels_list + match_labels_list.append(segment.strip()) + else: + # Handle matchExpressions (key operator [values]) + parts = segment.split() + + if len(parts) < 2: + logger.warning("Skipping invalid expression: %s", segment) + continue + + key = parts[0].strip() + operator = parts[1].strip() + values = [v.strip() for v in parts[2:]] if len(parts) > 2 else [] + + # Validate operator + if operator not in ["In", "NotIn", "Exists", "DoesNotExist"]: + logger.warning("Skipping expression with invalid operator: %s", segment) + continue + + # For Exists and DoesNotExist, values should be empty + if operator in ["Exists", "DoesNotExist"] and values: + logger.warning( + "Operator %s doesn't accept values, but values were provided: %s", + operator, + segment, + ) + values = [] + + # For In and NotIn, values should not be empty + if operator in ["In", "NotIn"] and not values: + logger.warning( + "Operator %s requires at least one value, but none were provided: %s", + operator, + segment, + ) + continue + + # Create the matchExpression + match_expressions.append( + LabelSelectorRequirement( + key=key, + operator=operator, + values=values if operator in ["In", "NotIn"] else None, + ) + ) + + if not match_labels_list and not match_expressions: + return None + + return LabelSelector( + match_labels=match_labels_list, match_expressions=match_expressions + ) + + +def _check_loadbalancer_provisioning_states( + client, + resource_group_name, + cluster_name, + lb_names_list, + timeout_seconds=600, + polling_interval_seconds=30, +): + """ + Helper function to check provisioning states of multiple load balancers using list operation. + + :param client: The LoadBalancers client + :param resource_group_name: Name of resource group + :param cluster_name: Name of the managed cluster + :param lb_names_list: List of names of the load balancer configurations to check + :param timeout_seconds: Maximum time to wait in seconds + :param polling_interval_seconds: Time between polling attempts in seconds + :return: Dictionary mapping load balancer names to their objects after successful provisioning + :raises: CLIError if timeout is reached or provisioning fails for any load balancer + """ + import time + + # Convert to set for O(1) lookups + lb_names_to_check = set(lb_names_list if lb_names_list is not None else []) + check_all = len(lb_names_to_check) == 0 + logger.debug("lb_names_to_check: %s, check_all: %s", lb_names_to_check, check_all) + + # Track load balancers that have been successfully provisioned + results = {} + + start_time = time.time() + while True: + # Check if we've exceeded the timeout + if time.time() - start_time > timeout_seconds: + raise AzureInternalError( + f"Timed out waiting for load balancers to reach 'Succeeded' state. " + f"Operation took longer than {timeout_seconds} seconds." + ) + + # Get all load balancers in a single API call + try: + all_lbs = client.list_by_managed_cluster(resource_group_name, cluster_name) + all_lbs = list(all_lbs) + logger.debug( + "resource group: %s, cluster name: %s", + resource_group_name, + cluster_name, + ) + logger.debug("all load balancers: %s", all_lbs) + + # Process each load balancer + for lb in all_lbs: + logger.debug("checking load balancer '%s'", lb.name) + # Skip load balancers we're not interested in when check_all is False + if not check_all and lb.name not in lb_names_to_check: + logger.debug("Skipping waiting for load balancer '%s'", lb.name) + continue + + # Check the provisioning state + if hasattr(lb, "provisioning_state"): + if lb.provisioning_state == "Succeeded": + logger.info( + "Load balancer '%s' provisioning succeeded.", lb.name + ) + # Add to results + results[lb.name] = lb + elif lb.provisioning_state == "Failed": + # Report failure immediately + raise AzureInternalError( + f"Load balancer '{lb.name}' failed provisioning with state {lb.provisioning_state}" + ) + else: + # Still in progress, log and continue + logger.info( + "Load balancer '%s' provisioning state: %s. Waiting...", + lb.name, + lb.provisioning_state, + ) + else: + # If provisioning_state is not available, assume it's ready + logger.info( + "Load balancer '%s' doesn't have provisioning_state attribute, assuming ready.", + lb.name, + ) + # Add to results + results[lb.name] = lb + + # Check if we're done + logger.debug("number of succeeded load balancers: %s", len(results)) + logger.debug("number of all load balancers: %s", len(all_lbs)) + if check_all: + # For check_all, we need all load balancers in the response to be in results + if len(results) == len(all_lbs): + break + else: + # For specific load balancers, check if all requested ones are in results + if all(lb_name in results for lb_name in lb_names_to_check): + break + + # If not done, wait and retry + logger.info( + "Waiting %s seconds before checking again...", polling_interval_seconds + ) + time.sleep(polling_interval_seconds) + + except CLIError as ex: + # Re-raise errors about load balancer failures + if "failed provisioning with state" in str(ex): + raise + + # Handle case where the list operation might fail + logger.info( + "Error listing load balancers: %s. Waiting %s seconds...", + str(ex), + polling_interval_seconds, + ) + time.sleep(polling_interval_seconds) + + return results + + +def wait_for_loadbalancer_provisioning_state( + client, + resource_group_name, + cluster_name, + loadbalancer_name, + timeout_seconds=600, + polling_interval_seconds=30, +): + """ + Poll the load balancer until its provisioning state is 'Succeeded' or until timeout. + + :param client: The LoadBalancers client + :param resource_group_name: Name of resource group + :param cluster_name: Name of the managed cluster + :param loadbalancer_name: Name of the load balancer configuration + :param timeout_seconds: Maximum time to wait in seconds (default: 10 minutes) + :param polling_interval_seconds: Time between polling attempts in seconds (default: 30 seconds) + :return: The load balancer object after successful provisioning + :raises: CLIError if timeout is reached or provisioning fails + """ + # Reuse the multiple load balancer check function with a single name + results = _check_loadbalancer_provisioning_states( + client, + resource_group_name, + cluster_name, + [loadbalancer_name], + timeout_seconds, + polling_interval_seconds, + ) + + # Return the single load balancer object + return results.get(loadbalancer_name) + + +def aks_loadbalancer_rebalance_internal(client, raw_parameters): + """Rebalance load balancers in an AKS cluster.""" + + # Extract parameters + resource_group_name = raw_parameters.get("resource_group_name") + cluster_name = raw_parameters.get("cluster_name") + load_balancer_names = raw_parameters.get("load_balancer_names") + + # If lb-names parameter is not specified, use an empty string + if load_balancer_names is None: + load_balancer_names = "" + + if not resource_group_name or not cluster_name: + raise RequiredArgumentMissingError( + "--resource-group and --name are required for rebalancing load balancers." + ) + + lb_names_list = [] + if isinstance(load_balancer_names, list) and load_balancer_names: + # Split the first element by comma if it contains multiple names + lb_names_list = [name.strip() for name in load_balancer_names[0].split(",")] + + rebalance_params = RebalanceLoadBalancersRequestBody( + load_balancer_names=lb_names_list + ) + + # Call the SDK's begin_rebalance_load_balancers method + # This returns a poller which the CLI framework should handle. + poller = client.begin_rebalance_load_balancers( + resource_group_name=resource_group_name, + resource_name=cluster_name, + parameters=rebalance_params, + ) + + # Return the poller for the CLI framework to handle waiting and result processing + return poller diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_loadbalancer_commands.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_loadbalancer_commands.yaml new file mode 100644 index 00000000000..cd394e31ba0 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_loadbalancer_commands.yaml @@ -0,0 +1,2963 @@ +interactions: +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2025-01-02-preview + response: + body: + string: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.ContainerService/managedClusters/cliakstest000001'' + under resource group ''clitest000001'' was not found. For more details please + go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + cache-control: + - no-cache + content-length: + - '244' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 14 Apr 2025 05:23:02 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-failure-cause: + - gateway + x-msedge-ref: + - 'Ref A: 37D86D0CFB814188A466A05D08862C6C Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:23:03Z' + status: + code: 404 + message: Not Found +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001?api-version=2022-09-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001","name":"clitest000001","type":"Microsoft.Resources/resourceGroups","location":"eastus2euap","tags":{"product":"azurecli","cause":"automation","test":"test_aks_loadbalancer_commands","date":"2025-04-14T05:22:57Z","module":"aks-preview"},"properties":{"provisioningState":"Succeeded"}}' + headers: + cache-control: + - no-cache + content-length: + - '372' + content-type: + - application/json; charset=utf-8 + date: + - Mon, 14 Apr 2025 05:23:03 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: E68CA7EF2D36453596A963666114DEDA Ref B: SYD03EDGE1916 Ref C: 2025-04-14T05:23:03Z' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2euap", "sku": {"name": "Base", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "kind": "Base", "properties": {"kubernetesVersion": + "", "dnsPrefix": "cliakstest-clitesthltyih7tu-c0f606", "agentPoolProfiles": + [{"count": 1, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": 0, "workloadRuntime": + "OCIContainer", "osType": "Linux", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "", "upgradeSettings": {}, "enableNodePublicIP": + false, "enableCustomCATrust": false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": + "Delete", "spotMaxPrice": -1.0, "nodeTaints": [], "nodeInitializationTaints": + [], "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": + false, "networkProfile": {}, "securityProfile": {"sshAccess": "localuser"}, + "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, "enablePodSecurityPolicy": + false, "networkProfile": {"podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", + "dnsServiceIP": "10.0.0.10", "outboundType": "loadBalancer", "loadBalancerSku": + "standard", "loadBalancerProfile": {"allocatedOutboundPorts": 0, "idleTimeoutInMinutes": + 30, "backendPoolType": "nodeIP", "clusterServiceLoadBalancerHealthProbeMode": + "ServiceNodePort"}}, "disableLocalAccounts": false, "storageProfile": {}, "bootstrapProfile": + {"artifactSource": "Direct"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '2209' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2025-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"kind\": \"Base\",\n \"properties\": + {\n \"provisioningState\": \"Creating\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"kubernetesVersion\": \"1.31\",\n \"currentKubernetesVersion\": + \"1.31.7\",\n \"dnsPrefix\": \"cliakstest-clitesthltyih7tu-c0f606\",\n \"fqdn\": + \"cliakstest-clitesthltyih7tu-c0f606-2p4jomge.hcp.eastus2euap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesthltyih7tu-c0f606-2p4jomge.portal.hcp.eastus2euap.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\": 250,\n \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": + false,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.31\",\n \"currentOrchestratorVersion\": \"1.31.7\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"nodeLabels\": {},\n \"mode\": + \"System\",\n \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": + false,\n \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-2204gen2containerd-202504.02.0\",\n \"upgradeSettings\": {\n + \ \"maxSurge\": \"10%\",\n \"maxUnavailable\": \"0\"\n },\n \"enableFIPS\": + false,\n \"networkProfile\": {},\n \"securityProfile\": {\n \"sshAccess\": + \"LocalUser\",\n \"enableVTPM\": false,\n \"enableSecureBoot\": false\n + \ }\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n + \ \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa + AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_eastus2euap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"supportPlan\": \"KubernetesOfficial\",\n + \ \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"networkPluginMode\": + \"overlay\",\n \"networkPolicy\": \"none\",\n \"networkDataplane\": \"azure\",\n + \ \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": {\n \"managedOutboundIPs\": + {\n \"count\": 1\n },\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30,\n \"backendPoolType\": \"nodeIP\",\n \"clusterServiceLoadBalancerHealthProbeMode\": + \"ServiceNodePort\"\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\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 + \ \"podLinkLocalAccess\": \"IMDS\"\n },\n \"maxAgentPools\": 100,\n \"autoUpgradeProfile\": + {\n \"nodeOSUpgradeChannel\": \"NodeImage\"\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 \"metricsProfile\": {\n \"costAnalysis\": + {\n \"enabled\": false\n }\n },\n \"resourceUID\": \"67fc9bc359dd82000149e036\",\n + \ \"controlPlanePluginProfiles\": {\n \"azure-monitor-metrics-ccp\": {\n + \ \"enableV2\": true\n },\n \"karpenter\": {\n \"enableV2\": true\n + \ },\n \"kubelet-serving-csr-approver\": {\n \"enableV2\": true\n },\n + \ \"live-patching-controller\": {\n \"enableV2\": true\n },\n \"static-egress-controller\": + {\n \"enableV2\": true\n }\n },\n \"nodeProvisioningProfile\": {\n + \ \"mode\": \"Manual\"\n },\n \"bootstrapProfile\": {\n \"artifactSource\": + \"Direct\"\n }\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\": \"Base\",\n + \ \"tier\": \"Free\"\n }\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + cache-control: + - no-cache + content-length: + - '4825' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:23:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/fb6fa88a-c513-4007-8159-d76505b0194a + x-ms-ratelimit-remaining-subscription-global-writes: + - '12000' + x-ms-ratelimit-remaining-subscription-writes: + - '800' + x-msedge-ref: + - 'Ref A: 0F854B2B1B604E98B18717EBADE44AE1 Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:23:04Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:23:23 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/55534d48-74e7-4168-9106-2200a1bf9e58 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: B23DD96C2FBC40088B2A053932EE534C Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:23:23Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:23:54 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/d8edc097-23f3-4cf6-a65f-97218472aaa8 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 3D186AE59B0C40848F7A8F756C7D4DB7 Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:23:53Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:24:25 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/33407eb1-1fad-4951-a985-932e68410f79 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 6E0A4FE1C3614CF5AC953367AD4A8ECB Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:24:24Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:24:56 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/aacb2863-19bc-48f1-b40f-1f573d3537c0 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: EEC0F806F39B491AAF6A7930DF29BFB6 Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:24:55Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:25:27 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/99c8e6ca-a9e7-4162-b4b6-4288b7c23094 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: FC85C8BDFD4440569AFEF2C51F44B1A0 Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:25:26Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:25:58 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/284023c7-6d78-435d-a2d8-a530815da16c + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 0CF72ECBB4D2498E9A310ECEF965BE51 Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:25:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:26:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/6e087c03-b3e0-4c8e-b646-3ee28a0ed892 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 45678FB66B5C4807BF42A830B5F6BA59 Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:26:28Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c?api-version=2016-03-30&t=638802050030947099&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=YjYTdICQ47VobXRvVGFoy1ZibO-qS_zSzuCNP7ZzxJiOA89EnjCWi3UT0f54iurP5tZtcebOaXoYasfDFOrOaLs5Hf1WUXtS_QAHFI7vrWYAWw_fVKu_0KPoLkS1LBDPFTUENSBEMlk8gJKB3LwSMbpnFiCTxF-Pb_Rtdq5bZTlB6xpxuzm4xE4boCnr_Hsp_yXepZiDmVLtvT8lzIhqFW4iLFyI9JoSG5bl9fbbcuHIwsGz0UtGl6yynv9MKRoiaqgvp58i6ItacLd-RpuD8NtPQj76km9pLWzo_aqwuxTcN379ISl7Ny14xIKWJhUkkiht9P1hhM9CxdEqBM6Ydw&h=uust73ydaXN7Y1xqcQUXCTl_oXuKbZzJVhDYULE1tD8 + response: + body: + string: "{\n \"name\": \"aac1dab7-f5d5-4640-a93a-4d0fb4cdd31c\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2025-04-14T05:23:22.6665561Z\",\n \"endTime\": + \"2025-04-14T05:26:49.0704184Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '165' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:26:59 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/78fefe5f-f18c-44ae-8f98-5468d2045751 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 756EC3578D594F71BCD46026978014EA Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:26:59Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --node-count --load-balancer-sku --nodepool-name --ssh-key-value + --load-balancer-backend-pool-type + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2025-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001\",\n + \"location\": \"eastus2euap\",\n \"name\": \"cliakstest000001\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"kind\": \"Base\",\n \"properties\": + {\n \"provisioningState\": \"Succeeded\",\n \"powerState\": {\n \"code\": + \"Running\"\n },\n \"kubernetesVersion\": \"1.31\",\n \"currentKubernetesVersion\": + \"1.31.7\",\n \"dnsPrefix\": \"cliakstest-clitesthltyih7tu-c0f606\",\n \"fqdn\": + \"cliakstest-clitesthltyih7tu-c0f606-2p4jomge.hcp.eastus2euap.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitesthltyih7tu-c0f606-2p4jomge.portal.hcp.eastus2euap.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\": 250,\n \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": + false,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.31\",\n \"currentOrchestratorVersion\": \"1.31.7\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-2204gen2containerd-202504.02.0\",\n + \ \"upgradeSettings\": {\n \"maxSurge\": \"10%\",\n \"maxUnavailable\": + \"0\"\n },\n \"enableFIPS\": false,\n \"networkProfile\": {},\n \"securityProfile\": + {\n \"sshAccess\": \"LocalUser\",\n \"enableVTPM\": false,\n \"enableSecureBoot\": + false\n },\n \"eTag\": \"8c4a6ba1-bce5-46a4-9c2d-270d32c77766\"\n }\n + \ ],\n \"linuxProfile\": {\n \"adminUsername\": \"azureuser\",\n \"ssh\": + {\n \"publicKeys\": [\n {\n \"keyData\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCbIg1guRHbI0lV11wWDt1r2cUdcNd27CJsg+SfgC7miZeubtwUhbsPdhMQsfDyhOWHq1+ZL0M+nJZV63d/1dhmhtgyOqejUwrPlzKhydsbrsdUor+JmNJDdW01v7BXHyuymT8G4s09jCasNOwiufbP/qp72ruu0bIA1nySsvlf9pCQAuFkAnVnf/rFhUlOkhtRpwcq8SUNY2zRHR/EKb/4NWY1JzR4sa3q2fWIJdrrX0DvLoa5g9bIEd4Df79ba7v+yiUBOS0zT2ll+z4g9izHK3EO5d8hL4jYxcjKs+wcslSYRWrascfscLgMlMGh0CdKeNTDjHpGPncaf3Z+FwwwjWeuiNBxv7bJo13/8B/098KlVDl4GZqsoBCEjPyJfV6hO0y/LkRGkk7oHWKgeWAfKtfLItRp00eZ4fcJNK9kCaSMmEugoZWcI7NGbZXzqFWqbpRI7NcDP9+WIQ+i9U5vqWsqd/zng4kbuAJ6UuKqIzB0upYrLShfQE3SAck8oaLhJqqq56VfDuASNpJKidV+zq27HfSBmbXnkR/5AK337dc3MXKJypoK/QPMLKUAP5XLPbs+NddJQV7EZXd29DLgp+fRIg3edpKdO7ZErWhv7d+3Kws+e1Y+ypmR2WIVSwVyBEUfgv2C8Ts9gnTF4pNcEY/S2aBicz5Ew2+jdyGNQQ== + test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000001_eastus2euap\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"supportPlan\": \"KubernetesOfficial\",\n + \ \"networkProfile\": {\n \"networkPlugin\": \"azure\",\n \"networkPluginMode\": + \"overlay\",\n \"networkPolicy\": \"none\",\n \"networkDataplane\": \"azure\",\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_cliakstest000001_eastus2euap/providers/Microsoft.Network/publicIPAddresses/53071d76-8660-4f9c-8f24-7e197f1a510b\"\n + \ }\n ],\n \"allocatedOutboundPorts\": 0,\n \"idleTimeoutInMinutes\": + 30,\n \"backendPoolType\": \"nodeIP\",\n \"clusterServiceLoadBalancerHealthProbeMode\": + \"ServiceNodePort\"\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\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 + \ \"podLinkLocalAccess\": \"IMDS\"\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000001_eastus2euap/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000001-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"autoUpgradeProfile\": {\n \"nodeOSUpgradeChannel\": \"NodeImage\"\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 \"metricsProfile\": {\n + \ \"costAnalysis\": {\n \"enabled\": false\n }\n },\n \"resourceUID\": + \"67fc9bc359dd82000149e036\",\n \"controlPlanePluginProfiles\": {\n \"azure-monitor-metrics-ccp\": + {\n \"enableV2\": true\n },\n \"karpenter\": {\n \"enableV2\": true\n + \ },\n \"kubelet-serving-csr-approver\": {\n \"enableV2\": true\n },\n + \ \"live-patching-controller\": {\n \"enableV2\": true\n },\n \"static-egress-controller\": + {\n \"enableV2\": true\n }\n },\n \"nodeProvisioningProfile\": {\n + \ \"mode\": \"Manual\"\n },\n \"bootstrapProfile\": {\n \"artifactSource\": + \"Direct\"\n }\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\": \"Base\",\n + \ \"tier\": \"Free\"\n },\n \"eTag\": \"acee2df9-da3c-4da3-96e3-984885f9f36a\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '5553' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:27:01 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: D879CF621A4446FAA9DC28CEBC79365E Ref B: SYD03EDGE0814 Ref C: 2025-04-14T05:27:00Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?api-version=2025-01-02-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\": 250,\n + \ \"type\": \"VirtualMachineScaleSets\",\n \"enableAutoScaling\": false,\n + \ \"scaleDownMode\": \"Delete\",\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.31\",\n \"currentOrchestratorVersion\": \"1.31.7\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-2204gen2containerd-202504.02.0\",\n + \ \"upgradeSettings\": {\n \"maxSurge\": \"10%\",\n \"maxUnavailable\": + \"0\"\n },\n \"enableFIPS\": false,\n \"networkProfile\": {},\n \"securityProfile\": + {\n \"sshAccess\": \"LocalUser\",\n \"enableVTPM\": false,\n \"enableSecureBoot\": + false\n },\n \"eTag\": \"8c4a6ba1-bce5-46a4-9c2d-270d32c77766\"\n }\n + \ }\n ],\n \"nextLink\": \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?%24skipToken=2454052\\u0026api-version=2025-01-02-preview\\u0026skipToken=2454052\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '1646' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:27:04 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/004ad5f7-35e6-4987-9463-4e443046e4d8 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: CA94ACD7AB494710918877BE2A6CCB4B Ref B: SYD03EDGE1005 Ref C: 2025-04-14T05:27:02Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools?$skipToken=2454052&api-version=2025-01-02-preview&skipToken=2454052 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:27:05 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/e6382c65-0823-4900-beeb-77a635432ac4 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 7C1B5D11226A44D3825D1351320420F5 Ref B: SYD03EDGE1005 Ref C: 2025-04-14T05:27:04Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"count": 3, "vmSize": "Standard_DS2_v2", "osDiskSizeGB": + 0, "workloadRuntime": "OCIContainer", "osType": "Linux", "enableAutoScaling": + false, "scaleDownMode": "Delete", "type": "VirtualMachineScaleSets", "mode": + "User", "upgradeSettings": {}, "enableNodePublicIP": false, "enableCustomCATrust": + false, "scaleSetPriority": "Regular", "scaleSetEvictionPolicy": "Delete", "spotMaxPrice": + -1.0, "nodeTaints": [], "nodeInitializationTaints": [], "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "networkProfile": {}, "securityProfile": + {"sshAccess": "localuser"}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + Content-Length: + - '605' + Content-Type: + - application/json + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool2?api-version=2025-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool2\",\n + \"name\": \"nodepool2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": + 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 250,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.31\",\n \"currentOrchestratorVersion\": \"1.31.7\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-2204gen2containerd-202504.02.0\",\n + \ \"upgradeSettings\": {\n \"maxUnavailable\": \"0\"\n },\n \"enableFIPS\": + false,\n \"networkProfile\": {},\n \"securityProfile\": {\n \"sshAccess\": + \"LocalUser\",\n \"enableVTPM\": false,\n \"enableSecureBoot\": false\n + \ },\n \"eTag\": \"2ecddec7-9b5b-4420-8783-7b2dc2e95223\"\n }\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/311ea655-118c-4428-8835-a6ab28e108e0?api-version=2016-03-30&t=638802052318114079&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=qk4jl39GZK__G_QpZG--Nag49F23mduq0Rbq7qpNF422Bjhk0n6cejomp-SdbypIGGcWtb5jBtoCuENLILt3LdXJgc1W3V9fVIvfC6F5xeFwnwYwH5Y8ZBW9lNAM0dhjLQP9aZWJsYDzJi_T1CN-3La6xh4V0HNy-bZ2Ri7fhhGUmLyczeHo6Ifwupuujzq9QUTFy3q80fC9ouDm3IhAENNmfeOhvsBRZpIR-d1Ea7mDQ8KvaBN3B2KOX1vivEbmgEqfZv6Gg0NjiSes2ohZbfffKry_wB69i48XJ5w6xJMEfEDfnMGGYipVD3j9riSc5p7sEkx3qugUBEF5piXuJA&h=JB8iGl0XE_QpBRS6JkZqsVAKazrfvaucDanUMjBG1oc + cache-control: + - no-cache + content-length: + - '1230' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:27:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/fcdecd2e-25a6-4d51-98be-9993aa357ff9 + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: 1CD2A533235D4B94B084CC4775F0CD46 Ref B: SYD03EDGE1714 Ref C: 2025-04-14T05:27:05Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/311ea655-118c-4428-8835-a6ab28e108e0?api-version=2016-03-30&t=638802052318114079&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=qk4jl39GZK__G_QpZG--Nag49F23mduq0Rbq7qpNF422Bjhk0n6cejomp-SdbypIGGcWtb5jBtoCuENLILt3LdXJgc1W3V9fVIvfC6F5xeFwnwYwH5Y8ZBW9lNAM0dhjLQP9aZWJsYDzJi_T1CN-3La6xh4V0HNy-bZ2Ri7fhhGUmLyczeHo6Ifwupuujzq9QUTFy3q80fC9ouDm3IhAENNmfeOhvsBRZpIR-d1Ea7mDQ8KvaBN3B2KOX1vivEbmgEqfZv6Gg0NjiSes2ohZbfffKry_wB69i48XJ5w6xJMEfEDfnMGGYipVD3j9riSc5p7sEkx3qugUBEF5piXuJA&h=JB8iGl0XE_QpBRS6JkZqsVAKazrfvaucDanUMjBG1oc + response: + body: + string: "{\n \"name\": \"311ea655-118c-4428-8835-a6ab28e108e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:27:11.6822367Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:27:11 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/3434c0f9-6c17-425a-af1d-d3b6ffa4766a + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 7BAF7BE622EA42688E3F4F5D128F0916 Ref B: SYD03EDGE1714 Ref C: 2025-04-14T05:27:11Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/311ea655-118c-4428-8835-a6ab28e108e0?api-version=2016-03-30&t=638802052318114079&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=qk4jl39GZK__G_QpZG--Nag49F23mduq0Rbq7qpNF422Bjhk0n6cejomp-SdbypIGGcWtb5jBtoCuENLILt3LdXJgc1W3V9fVIvfC6F5xeFwnwYwH5Y8ZBW9lNAM0dhjLQP9aZWJsYDzJi_T1CN-3La6xh4V0HNy-bZ2Ri7fhhGUmLyczeHo6Ifwupuujzq9QUTFy3q80fC9ouDm3IhAENNmfeOhvsBRZpIR-d1Ea7mDQ8KvaBN3B2KOX1vivEbmgEqfZv6Gg0NjiSes2ohZbfffKry_wB69i48XJ5w6xJMEfEDfnMGGYipVD3j9riSc5p7sEkx3qugUBEF5piXuJA&h=JB8iGl0XE_QpBRS6JkZqsVAKazrfvaucDanUMjBG1oc + response: + body: + string: "{\n \"name\": \"311ea655-118c-4428-8835-a6ab28e108e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:27:11.6822367Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:27:42 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/635c9670-964a-4a5d-b337-20fffa791b17 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: E9DE42C58E5E402F8B4031ADAE257276 Ref B: SYD03EDGE1714 Ref C: 2025-04-14T05:27:42Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/311ea655-118c-4428-8835-a6ab28e108e0?api-version=2016-03-30&t=638802052318114079&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=qk4jl39GZK__G_QpZG--Nag49F23mduq0Rbq7qpNF422Bjhk0n6cejomp-SdbypIGGcWtb5jBtoCuENLILt3LdXJgc1W3V9fVIvfC6F5xeFwnwYwH5Y8ZBW9lNAM0dhjLQP9aZWJsYDzJi_T1CN-3La6xh4V0HNy-bZ2Ri7fhhGUmLyczeHo6Ifwupuujzq9QUTFy3q80fC9ouDm3IhAENNmfeOhvsBRZpIR-d1Ea7mDQ8KvaBN3B2KOX1vivEbmgEqfZv6Gg0NjiSes2ohZbfffKry_wB69i48XJ5w6xJMEfEDfnMGGYipVD3j9riSc5p7sEkx3qugUBEF5piXuJA&h=JB8iGl0XE_QpBRS6JkZqsVAKazrfvaucDanUMjBG1oc + response: + body: + string: "{\n \"name\": \"311ea655-118c-4428-8835-a6ab28e108e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:27:11.6822367Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:28:13 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/d5323b46-57b8-4a7b-b359-d2a004ee2dbe + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: F0AE5F284D22488D9814DBD351484F07 Ref B: SYD03EDGE1714 Ref C: 2025-04-14T05:28:13Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/311ea655-118c-4428-8835-a6ab28e108e0?api-version=2016-03-30&t=638802052318114079&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=qk4jl39GZK__G_QpZG--Nag49F23mduq0Rbq7qpNF422Bjhk0n6cejomp-SdbypIGGcWtb5jBtoCuENLILt3LdXJgc1W3V9fVIvfC6F5xeFwnwYwH5Y8ZBW9lNAM0dhjLQP9aZWJsYDzJi_T1CN-3La6xh4V0HNy-bZ2Ri7fhhGUmLyczeHo6Ifwupuujzq9QUTFy3q80fC9ouDm3IhAENNmfeOhvsBRZpIR-d1Ea7mDQ8KvaBN3B2KOX1vivEbmgEqfZv6Gg0NjiSes2ohZbfffKry_wB69i48XJ5w6xJMEfEDfnMGGYipVD3j9riSc5p7sEkx3qugUBEF5piXuJA&h=JB8iGl0XE_QpBRS6JkZqsVAKazrfvaucDanUMjBG1oc + response: + body: + string: "{\n \"name\": \"311ea655-118c-4428-8835-a6ab28e108e0\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:27:11.6822367Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '122' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:28:44 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/9d837c66-129b-469d-99da-7c403299963e + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 922D3E38E40E4102A5ADE0FDB7161ACA Ref B: SYD03EDGE1714 Ref C: 2025-04-14T05:28:44Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/311ea655-118c-4428-8835-a6ab28e108e0?api-version=2016-03-30&t=638802052318114079&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=qk4jl39GZK__G_QpZG--Nag49F23mduq0Rbq7qpNF422Bjhk0n6cejomp-SdbypIGGcWtb5jBtoCuENLILt3LdXJgc1W3V9fVIvfC6F5xeFwnwYwH5Y8ZBW9lNAM0dhjLQP9aZWJsYDzJi_T1CN-3La6xh4V0HNy-bZ2Ri7fhhGUmLyczeHo6Ifwupuujzq9QUTFy3q80fC9ouDm3IhAENNmfeOhvsBRZpIR-d1Ea7mDQ8KvaBN3B2KOX1vivEbmgEqfZv6Gg0NjiSes2ohZbfffKry_wB69i48XJ5w6xJMEfEDfnMGGYipVD3j9riSc5p7sEkx3qugUBEF5piXuJA&h=JB8iGl0XE_QpBRS6JkZqsVAKazrfvaucDanUMjBG1oc + response: + body: + string: "{\n \"name\": \"311ea655-118c-4428-8835-a6ab28e108e0\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2025-04-14T05:27:11.6822367Z\",\n \"endTime\": + \"2025-04-14T05:29:04.590764Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:15 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/5231b17f-469a-4c12-933c-575072891dcc + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: AE3536D49C5D451C895E8B11196AD727 Ref B: SYD03EDGE1714 Ref C: 2025-04-14T05:29:14Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks nodepool add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name -n + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool2?api-version=2025-01-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/agentPools/nodepool2\",\n + \"name\": \"nodepool2\",\n \"type\": \"Microsoft.ContainerService/managedClusters/agentPools\",\n + \"properties\": {\n \"count\": 3,\n \"vmSize\": \"Standard_DS2_v2\",\n \"osDiskSizeGB\": + 128,\n \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 250,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"scaleDownMode\": \"Delete\",\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.31\",\n \"currentOrchestratorVersion\": \"1.31.7\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"User\",\n \"enableEncryptionAtHost\": + false,\n \"enableUltraSSD\": false,\n \"osType\": \"Linux\",\n \"osSKU\": + \"Ubuntu\",\n \"nodeImageVersion\": \"AKSUbuntu-2204gen2containerd-202504.02.0\",\n + \ \"upgradeSettings\": {\n \"maxUnavailable\": \"0\"\n },\n \"enableFIPS\": + false,\n \"networkProfile\": {},\n \"securityProfile\": {\n \"sshAccess\": + \"LocalUser\",\n \"enableVTPM\": false,\n \"enableSecureBoot\": false\n + \ },\n \"eTag\": \"b255e55d-5e55-43a5-a018-54b76cafc338\"\n }\n}" + headers: + cache-control: + - no-cache + content-length: + - '1231' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/07ce214c-d7d4-4308-be5a-0b8f0bc1d626 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 1A4CD4B4DAA54659A2FB190D25D6A178 Ref B: SYD03EDGE1714 Ref C: 2025-04-14T05:29:15Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:18 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/3e4a46a1-6eb4-4393-9c69-36809273c7ec + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 70BD964212BA44C382535F6E9A66470F Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:29:18Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"primaryAgentPoolName": "nodepool1", "allowServicePlacement": + true}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/MultipleStandardLoadBalancersPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + Content-Length: + - '84' + Content-Type: + - application/json + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes?api-version=2025-01-02-preview + response: + body: + string: "{\n \"properties\": {\n \"name\": \"kubernetes\",\n \"primaryAgentPoolName\": + \"nodepool1\",\n \"allowServicePlacement\": true,\n \"provisioningState\": + \"Creating\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \"eTag\": \"5cd6a6a2-22cf-4ec3-967a-a05289b161cb\"\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/e8a81f19-9193-424a-a43b-6fb0f95bd73a?api-version=2016-03-30&t=638802053610807237&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=uJYgw9sZdBNJYUs7gjsg0uGAh5PY4jIHlJd1MAxNdIfesUdX3IkT1XrbwIXcSvpJ5B62W0fZjTHRY88tb7l7H2ltgg-4VqR5yKZ0esu6U121qPfiK52c_Xbn2XyCQWypJFmABxWwAZKQRlHxdwwV69jtp_Se2DQ2R61HilArSzHT2KJ2xfu04QByGmRz7CXbZxz4lsyiQpH9ce2ikwrEtahV0kPAd2mSt07duFZV4Qd-isS2PQ61LUzIojnfpFiBuf7A5DkqfeGAdpktQ2BPG23RpgY08sfQS9huaHgeA5hgpzzDmJUGoF47lEQ_EOhngKXVoq09weMw_4xmRd_YPA&h=XWZ1JWhwrbjF9m66tFSRHssMcSl165RYJ2_UB-2pGNo + cache-control: + - no-cache + content-length: + - '480' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:20 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/e8a81f19-9193-424a-a43b-6fb0f95bd73a?api-version=2016-03-30&t=638802053610963791&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=GheXMuR603WB4mnBzE7xw49-b62RCJBjQF-i0InzstL0huA--iA6TlAGS3WpRptoUZopT1eGbB239cpWmb0p3oyvT-920eBa9moFPTjNng_NHpKp12sMh_MKdvl5sL_GSTfSMs6diQ370PjB-cTtaudq37aS2Il2UAmrzP6U8d_B49UUIW7Sb0hCNsnB0UU-adArMy0B5GQup43wLbvlHAuGRWzDY5wandObzYHBmRCf0qXhzHGeMeGArfm8aXeLWJh4TnQNNGA1ncR0IWyZXmcErzfk1KTh4tcKxlypFBHXam9h0YhUF2Uxy57E_JBBRTvdqFHKlA4mInXzXnmaAA&h=z1DOPQsqURzFIO6Bnc431YPbCJRE4UPHK-zWKt7c5yc + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/80c0534d-9497-4481-a26c-cc90d73fc0a2 + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: 26045F4623B54A6F871C69F5267EAEB2 Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:29:19Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Creating\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"5cd6a6a2-22cf-4ec3-967a-a05289b161cb\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=531\\u0026api-version=2025-01-02-preview\\u0026skipToken=531\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '804' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:20 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/2259687c-0aa6-408f-95c9-5b1aca52208a + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: CBE9557E8F074A99BED4F23EB4B0599A Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:29:21Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=531&api-version=2025-01-02-preview&skipToken=531 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/b6c44af1-abb0-4202-9ab8-66def12b2d7c + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 5C45020DD1C644599DF46D7B706AA7E5 Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:29:21Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Creating\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"5cd6a6a2-22cf-4ec3-967a-a05289b161cb\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=531\\u0026api-version=2025-01-02-preview\\u0026skipToken=531\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '804' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/e2140474-97d8-4a2f-9589-fd5239bddac7 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 7A41D54A202D4ACB82A6A71FF880FB32 Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:29:52Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=531&api-version=2025-01-02-preview&skipToken=531 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:29:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/262cb329-1754-456a-8944-aa58560754f7 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 78C220C492DD4D8AA9B49765E4D87C01 Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:29:53Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=531\\u0026api-version=2025-01-02-preview\\u0026skipToken=531\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:24 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/9ad469d4-1dbe-4e52-a729-f190b805c7c7 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: DA833E9F34F548D887D3B0C2FD79973D Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:30:24Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=531&api-version=2025-01-02-preview&skipToken=531 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:25 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/68b08b51-032e-4a3f-947b-71429f8d73ce + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: FED5DDA37E5A4664A8185DADEE4DF7A4 Ref B: SYD03EDGE2114 Ref C: 2025-04-14T05:30:25Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=531\\u0026api-version=2025-01-02-preview\\u0026skipToken=531\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/b21414fb-7f7c-429e-9a1d-ea57e66e69f2 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 8B8EFD258F2C4530B3AB09E6F7CF322F Ref B: SYD03EDGE1711 Ref C: 2025-04-14T05:30:27Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=531&api-version=2025-01-02-preview&skipToken=531 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:29 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/c56b1ba2-8597-4931-986e-9d8e256744e1 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 5A744AE6600A44779B8A89B45CE19F0B Ref B: SYD03EDGE1711 Ref C: 2025-04-14T05:30:28Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer show + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes?api-version=2025-01-02-preview + response: + body: + string: "{\n \"properties\": {\n \"name\": \"kubernetes\",\n \"primaryAgentPoolName\": + \"nodepool1\",\n \"allowServicePlacement\": true,\n \"provisioningState\": + \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '481' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:30 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiasoutheast/38f48e5f-8901-4c29-b5c9-c6ecc802710c + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 6132404AD8924F4095290E85212D1505 Ref B: SYD03EDGE2015 Ref C: 2025-04-14T05:30:30Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=531\\u0026api-version=2025-01-02-preview\\u0026skipToken=531\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:32 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/4007bf6a-cc3f-42e0-bc74-1dfceeee9903 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: F2A81589F53D452A8B41D18A84DDDA3E Ref B: SYD03EDGE0921 Ref C: 2025-04-14T05:30:32Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=531&api-version=2025-01-02-preview&skipToken=531 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:33 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/7e377528-8beb-4f99-b707-f3c2e6ac971d + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: C0404D65FF944686B399209E33B24D78 Ref B: SYD03EDGE0921 Ref C: 2025-04-14T05:30:33Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"primaryAgentPoolName": "nodepool2", "allowServicePlacement": + true}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/MultipleStandardLoadBalancersPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + Content-Length: + - '84' + Content-Type: + - application/json + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb?api-version=2025-01-02-preview + response: + body: + string: "{\n \"properties\": {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": + \"nodepool2\",\n \"allowServicePlacement\": true,\n \"provisioningState\": + \"Creating\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \"eTag\": \"bcfedb93-beca-4cdb-9cfc-2003d859b376\"\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/7d85434d-e692-4bb4-ab22-2c10cee65018?api-version=2016-03-30&t=638802054364258735&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=CwqDtioOU8tgSOAdbdLQoz4vKTOWxMylhSTsG4ZZF2qaSKGtXA9-S6xVBtNGvfPWaJLe2rIGxNfEAzyErSiFdDigW7mcsmTz1INBKbITfBzzckq2ZfuGNWnAYfpRdOh7tz8lf94jZANg88S0zN5xEwK-4lnfKgUBvMPxQKgatHUUFjKcckK_A7rBjc69TEawYMPZJj0PyHskEJLIEERgACe61vXchnwdA-AfKjUu2T2W_J5I4RhDwDnKmtjPjLF7-WihHPwxcgthFwRj4pZc4Ms-4K2gyzeCIsYNbGWRCwQF2jlF4dL2Tlzdd5-CBs3P8XMzx33Wl4PD2DHAPVVi5g&h=BQhM1jgpX35avMPLNy1YMLUU7dEjCBZNdjAKKd3_gOQ + cache-control: + - no-cache + content-length: + - '486' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:35 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/7d85434d-e692-4bb4-ab22-2c10cee65018?api-version=2016-03-30&t=638802054364414954&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=g20rF9Xxxideqe2Pwkv4FiGDNntDX562SLUKh55L0IR0I3uCURB7mTL7xyjQp5Hvp7s9rBgCb6tWwDvwzpHudiL2EvRN8PgDo77LJaLdJwRQ4zNuRrfGxAuJRCsGXl9eoowy91WNqWTsVfF-EVPTmnGE7ILPC12LHVBR28T0b1oqIADEZcAHO05Xh-wHs5J_qK7csDnRzCBkbGnlM-XrldX6dR92dEgTqqLLqsnMzsQp11MwWJGsD1NFK914ZAEGBvdrajbTGZrQKj1CN8jPwNsJ0iJkehzyujIW5_n_70LZOAXjFwFE4cbD1yFkxibDAyvADhEbTyonm5nKhIodpQ&h=WHlYEYvOUYGLwDzp-KOVu4S2e-WPykQ6LBlV-LS0GBI + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/b11ca201-b80b-40a2-b9ca-5a9c43895e6a + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: 31DA9169E002484786717AEEDFB39EEE Ref B: SYD03EDGE0921 Ref C: 2025-04-14T05:30:34Z' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n },\n {\n \"properties\": + {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": \"nodepool2\",\n + \ \"allowServicePlacement\": true,\n \"provisioningState\": \"Creating\"\n + \ },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \ \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"bcfedb93-beca-4cdb-9cfc-2003d859b376\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=532\\u0026api-version=2025-01-02-preview\\u0026skipToken=532\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '1317' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:36 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/d758ad5a-c80b-41df-a048-64ffaa2fab59 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 71BEF4F24771459DAA24828E7F9B0833 Ref B: SYD03EDGE0921 Ref C: 2025-04-14T05:30:36Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=532&api-version=2025-01-02-preview&skipToken=532 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:30:37 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/294754aa-0126-460b-ba7f-9708153b92af + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: B56DF079B8684FA8940A11A1993F2AA7 Ref B: SYD03EDGE0921 Ref C: 2025-04-14T05:30:37Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n },\n {\n \"properties\": + {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": \"nodepool2\",\n + \ \"allowServicePlacement\": true,\n \"provisioningState\": \"Succeeded\"\n + \ },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \ \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"f31db367-d75d-4445-bcb3-6dda94414445\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=532\\u0026api-version=2025-01-02-preview\\u0026skipToken=532\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '1318' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:08 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/57d730cd-09be-414c-83b5-d9476bc56035 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: C35AF21AC5204161987D222312788AC0 Ref B: SYD03EDGE0921 Ref C: 2025-04-14T05:31:08Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer add + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --primary-agent-pool-name --allow-service-placement + --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=532&api-version=2025-01-02-preview&skipToken=532 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:09 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/018280e7-7532-48f1-8e7d-7f85d23f4fe6 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 56DA7F16601844FA89EF0464B242B7BD Ref B: SYD03EDGE0921 Ref C: 2025-04-14T05:31:09Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer update + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --service-label-selector --service-namespace-selector + --node-selector --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n },\n {\n \"properties\": + {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": \"nodepool2\",\n + \ \"allowServicePlacement\": true,\n \"provisioningState\": \"Succeeded\"\n + \ },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \ \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"f31db367-d75d-4445-bcb3-6dda94414445\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=532\\u0026api-version=2025-01-02-preview\\u0026skipToken=532\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '1318' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:10 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/838ee3ed-1e48-4265-93d1-b010b44bea94 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 8D505ABBC6D1486EB35472A2344298E9 Ref B: SYD03EDGE1919 Ref C: 2025-04-14T05:31:11Z' + status: + code: 200 + message: OK +- request: + body: '{"properties": {"primaryAgentPoolName": "nodepool2", "allowServicePlacement": + true, "serviceLabelSelector": {"matchLabels": ["app=frontend", "tier=web"], + "matchExpressions": []}, "serviceNamespaceSelector": {"matchLabels": ["environment=production"], + "matchExpressions": []}, "nodeSelector": {"matchLabels": ["disk=ssd"], "matchExpressions": + []}}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/MultipleStandardLoadBalancersPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer update + Connection: + - keep-alive + Content-Length: + - '347' + Content-Type: + - application/json + ParameterSetName: + - -g --cluster-name --name --service-label-selector --service-namespace-selector + --node-selector --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb?api-version=2025-01-02-preview + response: + body: + string: "{\n \"properties\": {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": + \"nodepool2\",\n \"allowServicePlacement\": true,\n \"nodeSelector\": {\n + \ \"matchLabels\": [\n \"disk=ssd\"\n ]\n },\n \"serviceLabelSelector\": + {\n \"matchLabels\": [\n \"app=frontend\",\n \"tier=web\"\n ]\n + \ },\n \"serviceNamespaceSelector\": {\n \"matchLabels\": [\n \"environment=production\"\n + \ ]\n },\n \"provisioningState\": \"Updating\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \"eTag\": \"1a2718fe-767b-4788-8b0f-070df5bb7c6f\"\n}" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/4e74dfca-8af5-4655-87a2-f93ae4f4385d?api-version=2016-03-30&t=638802054750442342&c=MIIHpTCCBo2gAwIBAgITOgS8xPg_BeGKlzh1AgAEBLzE-DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI3MDk0ODQwWhcNMjUwNzI2MDk0ODQwWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM28xEm9bcoZOA7MtvAYTHTJ8FwDDrcQoijhiQg5iA3OGEMgSNylizVxDx48uQgQg2jRXt1tV6-EUMLqlpblH9NFnMld0LDqjNfeRAa-yqHeCAwVjxBVPSrvmFoQ8qGqDM1IPlUlHuKxf2Xzt5qhz19LTchG-RKXVFg4TeC68VNLUS5IwY2we4R3m5tvGYdkBdZIr65DzFdQiQ6OwXceGgqyH0H1j4zwXdZU9DPkF6RMQ161DJEXJsTsJcbmIlihcp_pz6IsHHzSOFEApU9c2FBjkZmZ0j6kO56OJHzskdDch4QfxKMznRX5e4CinLHjTjUcX_BI50gfaeyVjCfkaRUCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBTGT7JDoBYO-1uvjNd7PcDbfbrKhzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAEE6ghf3hAqFVCkA0Vlpet6fzNr54cg_GsrXflOQ7w3dr_fNHu3-B2akeBZ8DDYqN6SdNIJcuvB5LJC7Lgw6jI26OfW7oEbhhMp8qofE-2aLzXiofwzUS6ys_V0xyXZ5pK7_9Y6PJVT82Jktt5cL0eEDeuNiUxIfk3GzekVepw9ILh3huG-0TEAaBgDbtT12NO9fXlm4jvux3lGFBmqWEEvaEh5tJelshGJwrxd49fRuBJ5W6xvKoVTRPynpKSVxVrcvbqCV7mWOsZQk7b2KO4zxcwf4KVhfKPji5pvxsWp5RsnpUdilvQjjrP4XNH6K7XPg93taxwmRwqe3XKpiKyU&s=HLwsvRXXttKAIOVzMCEQlHoBwKWO1IgxADfjWR3wCVLQfk39vjPSlNRmc4i7Qqewu59WMwtxgrn-6nla8ljLpZbEBOCOpcOABLd0P9UjIU6VKUT13Tb8T_uikGq66uNTqcAVR58cTna8I-JNNTpHqL8S0hmrwVBgCbXNIh_8euVE8PA7VxLO2bYZmNH9HZqYPsixIcJwcoe5opMjipw65A7zbF7ltk0u5lJ92IdYE7oHOKTZV3e_Tg5wY-bCO-Z9456neY0Twm18DRK9dikhZ0Hiz6BkPpt7W2sRBJKyRGaafrDyLlgLBa_gngK5UNIOrqtwXlSDHLZ7kn2LVxFRwg&h=VqAEYO07H8RXV1VT5d3t75oEWQcGkjBU9NtGRqrNyEs + cache-control: + - no-cache + content-length: + - '735' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:14 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/4e74dfca-8af5-4655-87a2-f93ae4f4385d?api-version=2016-03-30&t=638802054751067643&c=MIIHpTCCBo2gAwIBAgITOgS8xPg_BeGKlzh1AgAEBLzE-DANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI3MDk0ODQwWhcNMjUwNzI2MDk0ODQwWjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM28xEm9bcoZOA7MtvAYTHTJ8FwDDrcQoijhiQg5iA3OGEMgSNylizVxDx48uQgQg2jRXt1tV6-EUMLqlpblH9NFnMld0LDqjNfeRAa-yqHeCAwVjxBVPSrvmFoQ8qGqDM1IPlUlHuKxf2Xzt5qhz19LTchG-RKXVFg4TeC68VNLUS5IwY2we4R3m5tvGYdkBdZIr65DzFdQiQ6OwXceGgqyH0H1j4zwXdZU9DPkF6RMQ161DJEXJsTsJcbmIlihcp_pz6IsHHzSOFEApU9c2FBjkZmZ0j6kO56OJHzskdDch4QfxKMznRX5e4CinLHjTjUcX_BI50gfaeyVjCfkaRUCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBTGT7JDoBYO-1uvjNd7PcDbfbrKhzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBAEE6ghf3hAqFVCkA0Vlpet6fzNr54cg_GsrXflOQ7w3dr_fNHu3-B2akeBZ8DDYqN6SdNIJcuvB5LJC7Lgw6jI26OfW7oEbhhMp8qofE-2aLzXiofwzUS6ys_V0xyXZ5pK7_9Y6PJVT82Jktt5cL0eEDeuNiUxIfk3GzekVepw9ILh3huG-0TEAaBgDbtT12NO9fXlm4jvux3lGFBmqWEEvaEh5tJelshGJwrxd49fRuBJ5W6xvKoVTRPynpKSVxVrcvbqCV7mWOsZQk7b2KO4zxcwf4KVhfKPji5pvxsWp5RsnpUdilvQjjrP4XNH6K7XPg93taxwmRwqe3XKpiKyU&s=UFQmMn9z_etLQOkScYgMIaj8BcEhvO-ynumVC_A0NlfhuAUB-5qZ3lN9Nl-2kJRYoPNtLUnuDTQ4BKyr6bDwD5MoxyihBj4POZYL_QVziFOvBBWAMA7_reRoypXnuvyb70iyx9F7PxpSeJmn3L0kumq7_PQ7jNj3zlAqi3teLv_bbywH3nnb9DDYK3trHeu9VR4xnXOXhK9P3ls61ZhxcLnywuBwa0A_BvzBf2XhFPZMePNzMvj2eXJgVGZ5TQXBvsYvNZKblB73lqJQjeqmG7RadL9_nxC8thukQBfzs_hwtI4oyCvwpLOK4ARM9GpsniwNgwwSI3eORf_08ujckg&h=A6qdcCLegEXGgdPlx2oWo7iW1FDz1x3ZOh0C5RbED2A + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiacentral/4bdc3374-c813-4d94-bac0-68cb0cf60dfa + x-ms-ratelimit-remaining-subscription-global-writes: + - '11999' + x-ms-ratelimit-remaining-subscription-writes: + - '799' + x-msedge-ref: + - 'Ref A: B87299A6E11C4B978D96C5A432A7A21B Ref B: SYD03EDGE1919 Ref C: 2025-04-14T05:31:11Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer update + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --service-label-selector --service-namespace-selector + --node-selector --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n },\n {\n \"properties\": + {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": \"nodepool2\",\n + \ \"allowServicePlacement\": true,\n \"nodeSelector\": {\n \"matchLabels\": + [\n \"disk=ssd\"\n ]\n },\n \"serviceLabelSelector\": {\n \"matchLabels\": + [\n \"app=frontend\",\n \"tier=web\"\n ]\n },\n \"serviceNamespaceSelector\": + {\n \"matchLabels\": [\n \"environment=production\"\n ]\n },\n + \ \"provisioningState\": \"Updating\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \ \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"1a2718fe-767b-4788-8b0f-070df5bb7c6f\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=532\\u0026api-version=2025-01-02-preview\\u0026skipToken=532\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '1598' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiacentral/0e2e28fd-9fe0-48a8-9a14-eb940af57d12 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: DB568A24AFD74409877BE0AB97B3142D Ref B: SYD03EDGE1919 Ref C: 2025-04-14T05:31:15Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer update + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --service-label-selector --service-namespace-selector + --node-selector --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=532&api-version=2025-01-02-preview&skipToken=532 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiacentral/d27c6793-a77b-4d49-8a2e-9ebe2f51592e + x-ms-ratelimit-remaining-subscription-global-reads: + - '16498' + x-msedge-ref: + - 'Ref A: D3F8AF0EE25B4FD6A48206BD99853142 Ref B: SYD03EDGE1919 Ref C: 2025-04-14T05:31:17Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer update + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --service-label-selector --service-namespace-selector + --node-selector --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n },\n {\n \"properties\": + {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": \"nodepool2\",\n + \ \"allowServicePlacement\": true,\n \"nodeSelector\": {\n \"matchLabels\": + [\n \"disk=ssd\"\n ]\n },\n \"serviceLabelSelector\": {\n \"matchLabels\": + [\n \"tier=web\",\n \"app=frontend\"\n ]\n },\n \"serviceNamespaceSelector\": + {\n \"matchLabels\": [\n \"environment=production\"\n ]\n },\n + \ \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \ \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"2404dbe0-bcf7-49f0-9615-40663985da4a\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=532\\u0026api-version=2025-01-02-preview\\u0026skipToken=532\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '1599' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:48 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiacentral/9693d466-7c24-4c3c-8f6e-d63aa34b9957 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 5843640B56B9476C9DD226147F932F0C Ref B: SYD03EDGE1919 Ref C: 2025-04-14T05:31:47Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer update + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name --service-label-selector --service-namespace-selector + --node-selector --aks-custom-headers + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=532&api-version=2025-01-02-preview&skipToken=532 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:50 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiacentral/04a568f1-322c-4771-8468-88a824e5aacd + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 8A568DC223314E30B29313C43C93EC15 Ref B: SYD03EDGE1919 Ref C: 2025-04-14T05:31:49Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n },\n {\n \"properties\": + {\n \"name\": \"secondary-lb\",\n \"primaryAgentPoolName\": \"nodepool2\",\n + \ \"allowServicePlacement\": true,\n \"nodeSelector\": {\n \"matchLabels\": + [\n \"disk=ssd\"\n ]\n },\n \"serviceLabelSelector\": {\n \"matchLabels\": + [\n \"app=frontend\",\n \"tier=web\"\n ]\n },\n \"serviceNamespaceSelector\": + {\n \"matchLabels\": [\n \"environment=production\"\n ]\n },\n + \ \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb\",\n + \ \"name\": \"secondary-lb\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"2404dbe0-bcf7-49f0-9615-40663985da4a\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=532\\u0026api-version=2025-01-02-preview\\u0026skipToken=532\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '1599' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:52 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/ee282ebd-db23-4e7e-a177-4f8f061ec361 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: CF10B2EC752A49BC91DDCF072B3F9E55 Ref B: SYD03EDGE0817 Ref C: 2025-04-14T05:31:52Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=532&api-version=2025-01-02-preview&skipToken=532 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:53 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/b5f69798-6efe-4262-9674-e6701242b96d + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: F0891BE2CE924C48A6A82F28558D5D16 Ref B: SYD03EDGE0817 Ref C: 2025-04-14T05:31:53Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - -g --cluster-name --name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/secondary-lb?api-version=2025-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/1fc59736-61b7-43f1-844b-2df5a8b4a14b?api-version=2016-03-30&t=638802055170554988&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=G5Bd1JNndYTCRHr2_aGahzPUY6hm4W41QyivR2NRiV5FI5YMkIm2QEfveZs3FI0NdxufV8oMCctLMO7cWDUO28y5Qk4ryEaSmin0iQySx8USUUjtEDrAf2IyRSlRvS1GPpEDYh1DiqRScWsvJAUAF4GnvXaBt6Pgk9atMOGljyHYUYetrFvy22mEJ2kIv6HpEp-3wmvZ_V_YR41VKa5CsShzZanehxiJp3d8i0wygedOTPZxvzDm-TkxBznIWp5Ug-HU7w21QFiXAyqS3EimeMXV8jcdMpoOKxn5BrWRWhhQnK_M79GZKlF38YaOQoetFooQrY0KeozOU9jM0gFMkg&h=bM7OowJiuPkItsEz6keiBQewLtTCTFjsY1AQZrQzwog + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 14 Apr 2025 05:31:56 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/1fc59736-61b7-43f1-844b-2df5a8b4a14b?api-version=2016-03-30&t=638802055170554988&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=fD5FZ_hBVt6wB2-Q3z0sLBBzhYIZAivV1Ago-VVN18ngA_Mu8-sAPrnD0djaeDiaUpJIsSnHWLO9TmVLGw9dedVsUC4pZuKSV4i0Ajj_Ml-mxTpcnryq7Tm-Zz-CHKpqjuO91GCiWHnPMurRoVtrMSFsYQzMfaLxLSDFz0uxKsV7K1LzrHcV0BSyWtBPgtwkndtW38Ydb5Fbjew11xyBMo3YfrqTqDMlOI5MuqkBPI89cbLpfx1y5U5tc51NjcHGKHa7fyRPuLU0DTSZLTiHaGQ_dhT7qg1IT6xhcsMtp6Lel_G7YyXcPE061fLmRa0JSivEGWqKDrfzTq5V2HFlcw&h=REl_BWFWrcN5QgEZkQIzX2t5QYIQuYRHlajqF_HI_90 + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/cd65036a-98c1-44d3-9ace-2fc41234423a + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '11999' + x-msedge-ref: + - 'Ref A: C7530CAA52FD47A681AA6E10450D9D43 Ref B: SYD03EDGE0813 Ref C: 2025-04-14T05:31:55Z' + status: + code: 202 + message: Accepted +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer delete + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/1fc59736-61b7-43f1-844b-2df5a8b4a14b?api-version=2016-03-30&t=638802055170554988&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=G5Bd1JNndYTCRHr2_aGahzPUY6hm4W41QyivR2NRiV5FI5YMkIm2QEfveZs3FI0NdxufV8oMCctLMO7cWDUO28y5Qk4ryEaSmin0iQySx8USUUjtEDrAf2IyRSlRvS1GPpEDYh1DiqRScWsvJAUAF4GnvXaBt6Pgk9atMOGljyHYUYetrFvy22mEJ2kIv6HpEp-3wmvZ_V_YR41VKa5CsShzZanehxiJp3d8i0wygedOTPZxvzDm-TkxBznIWp5Ug-HU7w21QFiXAyqS3EimeMXV8jcdMpoOKxn5BrWRWhhQnK_M79GZKlF38YaOQoetFooQrY0KeozOU9jM0gFMkg&h=bM7OowJiuPkItsEz6keiBQewLtTCTFjsY1AQZrQzwog + response: + body: + string: "{\n \"name\": \"1fc59736-61b7-43f1-844b-2df5a8b4a14b\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2025-04-14T05:31:56.885461Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '121' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:31:57 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/4a55f0b1-77ca-4948-aab9-706749dc87b1 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 974DAAEC1F2C47C387D59386D3E05AB1 Ref B: SYD03EDGE0813 Ref C: 2025-04-14T05:31:57Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer delete + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name --name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/1fc59736-61b7-43f1-844b-2df5a8b4a14b?api-version=2016-03-30&t=638802055170554988&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=G5Bd1JNndYTCRHr2_aGahzPUY6hm4W41QyivR2NRiV5FI5YMkIm2QEfveZs3FI0NdxufV8oMCctLMO7cWDUO28y5Qk4ryEaSmin0iQySx8USUUjtEDrAf2IyRSlRvS1GPpEDYh1DiqRScWsvJAUAF4GnvXaBt6Pgk9atMOGljyHYUYetrFvy22mEJ2kIv6HpEp-3wmvZ_V_YR41VKa5CsShzZanehxiJp3d8i0wygedOTPZxvzDm-TkxBznIWp5Ug-HU7w21QFiXAyqS3EimeMXV8jcdMpoOKxn5BrWRWhhQnK_M79GZKlF38YaOQoetFooQrY0KeozOU9jM0gFMkg&h=bM7OowJiuPkItsEz6keiBQewLtTCTFjsY1AQZrQzwog + response: + body: + string: "{\n \"name\": \"1fc59736-61b7-43f1-844b-2df5a8b4a14b\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2025-04-14T05:31:56.885461Z\",\n \"endTime\": + \"2025-04-14T05:32:05.4421193Z\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '164' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:32:28 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/119cfa35-d9b5-437a-8597-8a4c12ac6152 + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: DF4E57B4109F438098A0CE6FF29A4E61 Ref B: SYD03EDGE0813 Ref C: 2025-04-14T05:32:27Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?api-version=2025-01-02-preview + response: + body: + string: "{\n \"value\": [\n {\n \"properties\": {\n \"name\": \"kubernetes\",\n + \ \"primaryAgentPoolName\": \"nodepool1\",\n \"allowServicePlacement\": + true,\n \"provisioningState\": \"Succeeded\"\n },\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers/kubernetes\",\n + \ \"name\": \"kubernetes\",\n \"type\": \"Microsoft.ContainerService/managedClusters/loadBalancers\",\n + \ \"eTag\": \"d0fa40a6-253a-40e5-9a11-8ac4fcb661fe\"\n }\n ],\n \"nextLink\": + \"https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?%24skipToken=531\\u0026api-version=2025-01-02-preview\\u0026skipToken=531\"\n}" + headers: + cache-control: + - no-cache + content-length: + - '805' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:32:30 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/8d7c62af-7d4a-4471-8801-89b47cbcee0d + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: 66B2F4480E6D4540BFB004CE29616E8D Ref B: SYD03EDGE1607 Ref C: 2025-04-14T05:32:29Z' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks loadbalancer list + Connection: + - keep-alive + ParameterSetName: + - -g --cluster-name + User-Agent: + - AZURECLI/2.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001/loadBalancers?$skipToken=531&api-version=2025-01-02-preview&skipToken=531 + response: + body: + string: "{\n \"value\": []\n}" + headers: + cache-control: + - no-cache + content-length: + - '16' + content-type: + - application/json + date: + - Mon, 14 Apr 2025 05:32:31 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/6d48fcd7-2124-420b-999a-7294bb295e6f + x-ms-ratelimit-remaining-subscription-global-reads: + - '16499' + x-msedge-ref: + - 'Ref A: AD6E30A5B0F2432A859BD8FBA832A53F Ref B: SYD03EDGE1607 Ref C: 2025-04-14T05:32:30Z' + 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.70.0 (DOCKER) azsdk-python-core/1.31.0 Python/3.12.3 (Linux-6.5.11-linuxkit-aarch64-with-glibc2.38) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000001?api-version=2025-01-02-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operations/1969044c-fd74-4359-b144-b54327077c4e?api-version=2016-03-30&t=638802055578787824&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=zNYbgEjf3Mdg19fGqqXePiK-k9ZLeJo6vtKV3kUtz-h9YJeV4ZeghHprp64e40Lr9KeAkIXbzAiVtGNoRNNu69xUtPIfT38WJWuLSYsLI0ItIKmqThWqS-24TzVMcVS44MJexZDHWpRqFuw1fJtuqsIg5Rs3auphBwiKJcOJQjM_a4siU3O_fhPsAEwCCuDOA5TU0haFYBsRY-HxOr9a3ftAlb_7VJG_5uRLWvfowsp1_gSFdyKhhyNuZR6wNThJexp58T5Aa_9Gg-L0AmJspHzCl9MygfI_C-VMGCuzADeHmVFwtCqJxg1zQW3P-S7knkbXJNNfH8GL5I1v5Sw_sA&h=cI9beZ-AO3vzupCPZobuwW5RRf-psUUhiht1oReS83A + cache-control: + - no-cache + content-length: + - '0' + date: + - Mon, 14 Apr 2025 05:32:37 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2euap/operationresults/1969044c-fd74-4359-b144-b54327077c4e?api-version=2016-03-30&t=638802055578944067&c=MIIHpTCCBo2gAwIBAgITOgS3_1UqsM05_yKO7gAEBLf_VTANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSU5GUkEgQ0EgMDEwHhcNMjUwMTI1MTEyODI1WhcNMjUwNzI0MTEyODI1WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANeGbKbp-UW3ZwxunwL2-c7cApbYugnLyjT7hcU_uHrA7HO5n4xp7WCM_r_KFUntYDYvH9mRCGdh7GhnloIYPSszVvtfdwSsxa4CsGDVeKCWEz-Vjd6vMo8T2e6KKWLN9mkZcSyM_8YZdOszASgtIgtHE1vBhc-xiyX0_H6-wAYUDr_X1y2aJ-Kmv6srIKhJu3z4eJGGCOZZPY4k8pvwNTCvenCZrathXCVvsJfuNajIhmSGuMl4aj2Fdq59RqjpCsLmfRz6EK_J2T2N1GKRemuiaG5wULqFhWGvOee8cxGecPufKsECFXS5k6z4CWFNYWXH3sUHOb5qEFgO7JZXtTkCAwEAAaOCBJIwggSOMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFghfmRS4WsmTQCAWQCAQcwggHaBggrBgEFBQcBAQSCAcwwggHIMGYGCCsGAQUFBzAChlpodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MFYGCCsGAQUFBzAChkpodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9CWTJQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSU5GUkElMjBDQSUyMDAxKDQpLmNydDBWBggrBgEFBQcwAoZKaHR0cDovL2NybDMuYW1lLmdibC9haWEvQlkyUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMElORlJBJTIwQ0ElMjAwMSg0KS5jcnQwVgYIKwYBBQUHMAKGSmh0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3J0MB0GA1UdDgQWBBQSoOUr9U1GdCs9SyZpKnie04MIwzAOBgNVHQ8BAf8EBAMCBaAwggE1BgNVHR8EggEsMIIBKDCCASSgggEgoIIBHIZCaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JshjRodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJTkZSQSUyMENBJTIwMDEoNCkuY3JsMIGdBgNVHSAEgZUwgZIwDAYKKwYBBAGCN3sBATBmBgorBgEEAYI3ewICMFgwVgYIKwYBBQUHAgIwSh5IADMAMwBlADAAMQA5ADIAMQAtADQAZAA2ADQALQA0AGYAOABjAC0AYQAwADUANQAtADUAYgBkAGEAZgBmAGQANQBlADMAMwBkMAwGCisGAQQBgjd7AwIwDAYKKwYBBAGCN3sEAjAfBgNVHSMEGDAWgBTl2Ztn_PjsurvwwKidileIud8-YzAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBACyWB5VsPf99YyF4iea-B4UGAQpHcuJjw0QYuHnjw9JNQvwkUPJB235VWag-X7NEahz1fVZYAK1REkEhlex4IugiNgFDiW5Y_t7c5iLCVOyakgdirGH9IdkUkvDi3nDyntdbf2aR7HejyY5ECTstACcaD556C2RvE5SUKEmIJclquaOit1iso-mh4Z8Tgczd3mXppmOzTCtehdSE_rF46rnE7lOTJrTUR_F2XtGzhx5vbJY7tuwHW3ie5ZqnAB187mHsqJAD-M4el3wwHDmKiGliRm0qDbJ_p5V3KlNp_sOorQKyrmtnXkdsxahAbh75WwN7odOLC8a8Xe1betzsWbg&s=BrmdW4w-H2HkkOUvaoa6ID4WlIN6aXywJPXUEd_hKIfX_PRr7X4Q1CUu6Ze8B4jIEorkMGRoJV_3H52--7EVnRbdHIfBWgBSdpNGHYiTBPNQP9zLaifMHY9SYqFBan7fOEOfTH22F5ieZ6NcOcv5xHSf1vrCqdmKlOsXCWYf-JizNcnJJpVU88aS57gRYYlTtugEAnC0Fl8AUm4ZeDiHz1JB6gHD5wLzaAStDGuALaYF2saxLRPU5uZ0UTh2YrmXqcZ_4nNnwZ8RRdaa-gxzf2iuK--uqM5qxOP7CR6tSB8ZsIqdax96z1YNFyNJHil-8bEe38XjBoB7YopPJkCuBQ&h=T-jyX5u8e5izwVD9pAflFDGu2n4RCmFWlCg55Qe6Iss + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-cache: + - CONFIG_NOCACHE + x-content-type-options: + - nosniff + x-ms-operation-identifier: + - tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=8b55a80b-e913-48bc-bb0b-fc9ed5ee11d9/australiaeast/be990515-52d7-492a-a7aa-8dc583ca7b5c + x-ms-ratelimit-remaining-subscription-deletes: + - '799' + x-ms-ratelimit-remaining-subscription-global-deletes: + - '11999' + x-msedge-ref: + - 'Ref A: 4243AE72FB1D40619756DBE954C6B3AC Ref B: SYD03EDGE0705 Ref C: 2025-04-14T05:32:33Z' + 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 f69371ab5fc..6cd7ff96a46 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 @@ -15703,3 +15703,153 @@ def test_aks_enable_imds_restriction( "aks delete -g {resource_group} -n {name} --yes --no-wait", checks=[self.is_empty()], ) + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer( + random_name_length=17, name_prefix="clitest", location="eastus2euap", preserve_default_location=True + ) + def test_aks_loadbalancer_commands( + self, resource_group + ): + # 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) + lb_name_secondary = "secondary-lb" + lb_name_app = "app-lb" + nodepool_name = "nodepool1" + secondary_nodepool_name = "nodepool2" + self.kwargs.update( + { + "resource_group": resource_group, + "name": aks_name, + "ssh_key_value": self.generate_ssh_keys(), + "secondary_lb": lb_name_secondary, + "app_lb": lb_name_app, + "nodepool": nodepool_name, + "secondary_nodepool": secondary_nodepool_name, + } + ) + + # Create cluster with standard load balancer + create_cmd = ( + "aks create --resource-group={resource_group} --name={name} " + "--node-count=1 --load-balancer-sku=standard --nodepool-name {nodepool} " + "--ssh-key-value={ssh_key_value} --load-balancer-backend-pool-type=nodeIP " + ) + add_np_cmd = ( + "aks nodepool add -g {resource_group} --cluster-name {name} -n {secondary_nodepool} " + ) + self.cmd( + create_cmd, + checks=[ + self.check("provisioningState", "Succeeded"), + ], + ) + + self.cmd(add_np_cmd, checks=[ + self.check("provisioningState", "Succeeded"), + ]) + + # Add the default kubernetes load balancer + add_lb_cmd = ( + "aks loadbalancer add -g {resource_group} --cluster-name {name} --name kubernetes --primary-agent-pool-name {nodepool} --allow-service-placement true " + "--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MultipleStandardLoadBalancersPreview" + ) + self.cmd( + add_lb_cmd, + checks=[ + self.check("name", "kubernetes"), + self.check("primaryAgentPoolName", "{nodepool}"), + self.check("allowServicePlacement", True), + ], + ) + + # List LoadBalancer configurations - should only have "kubernetes" by default + self.cmd( + "aks loadbalancer list -g {resource_group} --cluster-name {name}", + checks=[ + self.check("length(@)", 1), + self.check("[0].name", "kubernetes"), + ], + ) + + # Show default "kubernetes" LoadBalancer configuration + self.cmd( + "aks loadbalancer show -g {resource_group} --cluster-name {name} --name kubernetes", + checks=[ + self.check("name", "kubernetes"), + self.exists("primaryAgentPoolName"), + self.check("allowServicePlacement", True), + ], + ) + + # Add a secondary LoadBalancer configuration + self.cmd( + "aks loadbalancer add -g {resource_group} --cluster-name {name} " + "--name {secondary_lb} --primary-agent-pool-name {secondary_nodepool} " + "--allow-service-placement true " + "--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MultipleStandardLoadBalancersPreview", + checks=[ + self.check("name", "{secondary_lb}"), + self.check("primaryAgentPoolName", "{secondary_nodepool}"), + self.check("allowServicePlacement", True), + self.check("serviceLabelSelector", None), + self.check("serviceNamespaceSelector", None), + self.check("nodeSelector", None), + ], + ) + + # Update the secondary LoadBalance with selectors + self.cmd( + "aks loadbalancer update -g {resource_group} --cluster-name {name} " + "--name {secondary_lb} " + "--service-label-selector app=frontend,tier=web " + "--service-namespace-selector environment=production " + "--node-selector disk=ssd " + "--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/MultipleStandardLoadBalancersPreview", + checks=[ + self.check("name", "{secondary_lb}"), + self.check("primaryAgentPoolName", "{secondary_nodepool}"), + self.check("allowServicePlacement", True), + self.exists("serviceLabelSelector.matchLabels"), + self.check("contains(serviceLabelSelector.matchLabels, 'app=frontend')", True), + self.check("contains(serviceLabelSelector.matchLabels, 'tier=web')", True), + self.exists("serviceNamespaceSelector.matchLabels"), + self.check("contains(serviceNamespaceSelector.matchLabels, 'environment=production')", True), + self.exists("nodeSelector.matchLabels"), + self.check("contains(nodeSelector.matchLabels, 'disk=ssd')", True), + ], + ) + + # List all LoadBalancer configurations - should now have 2 + self.cmd( + "aks loadbalancer list -g {resource_group} --cluster-name {name}", + checks=[ + self.check("length(@)", 2), + self.exists("[?name=='kubernetes']"), + self.exists("[?name=='{secondary_lb}']"), + ], + ) + + # Delete a LoadBalancer configuration + self.cmd( + "aks loadbalancer delete -g {resource_group} --cluster-name {name} --name {secondary_lb}", + checks=[self.is_empty()], + ) + + # List LoadBalancer configurations - should now have 1 + self.cmd( + "aks loadbalancer list -g {resource_group} --cluster-name {name}", + checks=[ + self.check("length(@)", 1), + self.exists("[?name=='kubernetes']"), + self.not_exists("[?name=='{secondary_lb}']"), + ], + ) + + # Delete the cluster + self.cmd( + "aks delete -g {resource_group} -n {name} --yes --no-wait", + checks=[self.is_empty()], + ) \ No newline at end of file diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer_configuration.py b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer_configuration.py new file mode 100644 index 00000000000..cd9bfc091ec --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/test_loadbalancer_configuration.py @@ -0,0 +1,701 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import unittest +from unittest.mock import patch, MagicMock + +from azure.cli.core.azclierror import ( + RequiredArgumentMissingError, + ResourceNotFoundError, +) +from azure.cli.core.util import CLIError + +from azext_aks_preview import loadbalancerconfiguration +from azext_aks_preview.__init__ import register_aks_preview_resource_type +from azext_aks_preview._client_factory import CUSTOM_MGMT_AKS_PREVIEW +from azext_aks_preview.managed_cluster_decorator import AKSPreviewManagedClusterModels +from azext_aks_preview.tests.latest.mocks import MockCLI, MockCmd + + +class TestLoadBalancerConfiguration(unittest.TestCase): + def setUp(self): + # Manually register CUSTOM_MGMT_AKS_PREVIEW + register_aks_preview_resource_type() + self.cli_ctx = MockCLI() + self.cmd = MockCmd(self.cli_ctx) + # Store all the models used by load balancer + self.load_balancer_models = AKSPreviewManagedClusterModels( + self.cmd, CUSTOM_MGMT_AKS_PREVIEW + ).load_balancer_models + + def test_aks_loadbalancer_update_internal(self): + # Mock the client and cmd + mock_client = MagicMock() + + # Setup mock LoadBalancer list response with proper None values for selectors + mock_lb = MagicMock() + mock_lb.name = "test_lb" + mock_lb.primary_agent_pool_name = "nodepool1" + mock_lb.allow_service_placement = False # Setting different from test_params to trigger change + mock_lb.service_label_selector = None + mock_lb.service_namespace_selector = None + mock_lb.node_selector = None + + # Setup mock_client.list_by_managed_cluster to return our mock LoadBalancer + mock_client.list_by_managed_cluster.return_value = [mock_lb] + + # Test parameters + test_params = { + "resource_group_name": "test_rg", + "cluster_name": "test_cluster", + "name": "test_lb", + "primary_agent_pool_name": "nodepool1", + "allow_service_placement": True, # This is changed from the existing False value + } + + # Mock LB result + mock_lb_result = MagicMock() + mock_lb_result.name = "test_lb" + + # Create the mock LoadBalancer model class and instance + mock_loadbalancer_class = MagicMock() + mock_config = MagicMock() + mock_loadbalancer_class.return_value = mock_config + + # Mock wait_for_loadbalancer_provisioning_state and get_models + with patch( + "azext_aks_preview.loadbalancerconfiguration.wait_for_loadbalancer_provisioning_state" + ) as mock_wait, patch.object( + self.cmd, "get_models", return_value=mock_loadbalancer_class + ): + # Configure the wait function to return our mock result + mock_wait.return_value = mock_lb_result + + # Call the function + result = loadbalancerconfiguration.aks_loadbalancer_update_internal( + self.cmd, mock_client, test_params + ) + + # Assert the LoadBalancer model was loaded correctly + self.cmd.get_models.assert_called_with( + "LoadBalancer", + resource_type=CUSTOM_MGMT_AKS_PREVIEW, + operation_group="load_balancers", + ) + + # Assert the LoadBalancer was created with correct properties + mock_loadbalancer_class.assert_called_with( + primary_agent_pool_name="nodepool1", + allow_service_placement=True, + service_label_selector=None, + service_namespace_selector=None, + node_selector=None, + ) + + # Assert client.create_or_update was called with correct parameters + mock_client.create_or_update.assert_called_once_with( + resource_group_name="test_rg", + resource_name="test_cluster", + load_balancer_name="test_lb", + parameters=mock_config, + headers={}, + ) + + # Assert wait_for_loadbalancer_provisioning_state was called correctly + mock_wait.assert_called_once_with( + mock_client, "test_rg", "test_cluster", "test_lb" + ) + + # Assert returned result is from mock_wait + self.assertEqual(result, mock_lb_result) + + def test_aks_loadbalancer_update_internal_not_found(self): + # Mock the client and cmd + mock_client = MagicMock() + + # Setup empty LoadBalancer list response (no matching LB) + mock_client.list_by_managed_cluster.return_value = [] + + # Test parameters for a non-existent LoadBalancer + test_params = { + "resource_group_name": "test_rg", + "cluster_name": "test_cluster", + "name": "nonexistent_lb", + "primary_agent_pool_name": "nodepool1", + } + + # Call should raise ResourceNotFoundError + with self.assertRaises(ResourceNotFoundError): + loadbalancerconfiguration.aks_loadbalancer_update_internal( + self.cmd, mock_client, test_params + ) + + def test_aks_loadbalancer_add_internal(self): + # Mock the client and cmd + mock_client = MagicMock() + + # Setup empty LoadBalancer list response (no existing LB) + mock_client.list_by_managed_cluster.return_value = [] + + # Test parameters + test_params = { + "resource_group_name": "test_rg", + "cluster_name": "test_cluster", + "name": "new_lb", + "primary_agent_pool_name": "nodepool1", + "allow_service_placement": True, + } + + # Mock LB result + mock_lb_result = MagicMock() + mock_lb_result.name = "new_lb" + + # Mock constructLoadBalancerConfiguration and wait_for_loadbalancer_provisioning_state + with patch( + "azext_aks_preview.loadbalancerconfiguration.constructLoadBalancerConfiguration" + ) as mock_construct, patch( + "azext_aks_preview.loadbalancerconfiguration.wait_for_loadbalancer_provisioning_state" + ) as mock_wait: + + # Configure the mocks + mock_wait.return_value = mock_lb_result + + # Create the mock configuration with proper None values for selectors + mock_config = MagicMock() + # Note: We don't set mock_config.name because it's read-only in the model + mock_config.primary_agent_pool_name = "nodepool1" + mock_config.allow_service_placement = True + mock_config.service_label_selector = None + mock_config.service_namespace_selector = None + mock_config.node_selector = None + mock_construct.return_value = mock_config + + # Call the function + result = loadbalancerconfiguration.aks_loadbalancer_add_internal( + self.cmd, mock_client, test_params + ) + + # Assert constructLoadBalancerConfiguration was called with correct params + mock_construct.assert_called_once_with(self.cmd, test_params) + + # Assert client.create_or_update was called with correct parameters + mock_client.create_or_update.assert_called_once_with( + resource_group_name="test_rg", + resource_name="test_cluster", + load_balancer_name="new_lb", + parameters=mock_config, + headers={}, + ) + + # Assert wait_for_loadbalancer_provisioning_state was called correctly + mock_wait.assert_called_once_with( + mock_client, "test_rg", "test_cluster", "new_lb" + ) + + # Assert returned result is from mock_wait + self.assertEqual(result, mock_lb_result) + + def test_aks_loadbalancer_add_internal_already_exists(self): + # Mock the client and cmd + mock_client = MagicMock() + + # Setup LoadBalancer list response with an existing LB + mock_lb = MagicMock() + mock_lb.name = "existing_lb" + mock_client.list_by_managed_cluster.return_value = [mock_lb] + + # Test parameters for an already existing LoadBalancer + test_params = { + "resource_group_name": "test_rg", + "cluster_name": "test_cluster", + "name": "existing_lb", + "primary_agent_pool_name": "nodepool1", + } + + # Call should raise CLIError + with self.assertRaises(CLIError): + loadbalancerconfiguration.aks_loadbalancer_add_internal( + self.cmd, mock_client, test_params + ) + + def test_construct_loadbalancer_configuration(self): + # Mock the LoadBalancer model + mock_load_balancer = MagicMock() + self.cmd.get_models = MagicMock(return_value=mock_load_balancer) + + # Test with required parameters + params = { + "primary_agent_pool_name": "nodepool1", + "allow_service_placement": True, + } + + # Mock construct_label_selector to return None + with patch( + "azext_aks_preview.loadbalancerconfiguration.construct_label_selector", + return_value=None, + ): + loadbalancerconfiguration.constructLoadBalancerConfiguration( + self.cmd, params + ) + + # Assert LoadBalancer was created with correct params + mock_load_balancer.assert_called_once_with( + primary_agent_pool_name="nodepool1", + allow_service_placement=True, + service_label_selector=None, + service_namespace_selector=None, + node_selector=None, + ) + + def test_construct_loadbalancer_configuration_missing_required_params(self): + # Test missing primary_agent_pool_name + params = {} + with self.assertRaises(RequiredArgumentMissingError): + loadbalancerconfiguration.constructLoadBalancerConfiguration( + self.cmd, params + ) + + def test_construct_loadbalancer_configuration_with_selectors(self): + # Mock the LoadBalancer model + mock_load_balancer = MagicMock() + self.cmd.get_models = MagicMock(return_value=mock_load_balancer) + + # Test with all parameters including selectors + params = { + "primary_agent_pool_name": "nodepool1", + "allow_service_placement": True, + "service_label_selector": "app=frontend,tier=web", + "service_namespace_selector": "environment=production", + "node_selector": "disk=ssd,region=west", + } + + # Mock construct_label_selector to return mock selectors + mock_service_label_selector = MagicMock() + mock_service_namespace_selector = MagicMock() + mock_node_selector = MagicMock() + + with patch( + "azext_aks_preview.loadbalancerconfiguration.construct_label_selector" + ) as mock_construct: + mock_construct.side_effect = [ + mock_service_label_selector, + mock_service_namespace_selector, + mock_node_selector, + ] + + loadbalancerconfiguration.constructLoadBalancerConfiguration( + self.cmd, params + ) + + # Assert LoadBalancer was created with correct params including selectors + mock_load_balancer.assert_called_once_with( + primary_agent_pool_name="nodepool1", + allow_service_placement=True, + service_label_selector=mock_service_label_selector, + service_namespace_selector=mock_service_namespace_selector, + node_selector=mock_node_selector, + ) + + def test_construct_label_selector_none(self): + # Test with None input + result = loadbalancerconfiguration.construct_label_selector(self.cmd, None) + self.assertIsNone(result) + + # Test with empty string + result = loadbalancerconfiguration.construct_label_selector(self.cmd, "") + self.assertIsNone(result) + + def test_construct_label_selector_match_labels(self): + # Mock the LabelSelector and LabelSelectorRequirement models + mock_label_selector = MagicMock() + mock_label_selector_requirement = MagicMock() + + def mock_get_models(model_name, **kwargs): + if model_name == "LabelSelector": + return mock_label_selector + elif model_name == "LabelSelectorRequirement": + return mock_label_selector_requirement + + self.cmd.get_models = MagicMock(side_effect=mock_get_models) + + # Test with match labels only + selector_param = "app=frontend,environment=prod,tier=web" + loadbalancerconfiguration.construct_label_selector(self.cmd, selector_param) + + # Verify LabelSelector was created with correct match_labels as a list of strings + # Each string should be in the format "key=value" + mock_label_selector.assert_called_once_with( + match_labels=["app=frontend", "environment=prod", "tier=web"], + match_expressions=[], + ) + + def test_construct_label_selector_match_expressions(self): + # Mock the LabelSelector and LabelSelectorRequirement models + mock_label_selector = MagicMock() + mock_label_selector_requirement = MagicMock() + + def mock_get_models(model_name, **kwargs): + if model_name == "LabelSelector": + return mock_label_selector + elif model_name == "LabelSelectorRequirement": + return mock_label_selector_requirement + + self.cmd.get_models = MagicMock(side_effect=mock_get_models) + + # Test with match expressions only + selector_param = "tier In frontend backend,version NotIn v1.0 v1.1,canary Exists,legacy DoesNotExist" + loadbalancerconfiguration.construct_label_selector(self.cmd, selector_param) + + # Check that LabelSelectorRequirement was called 4 times for the 4 expressions + self.assertEqual(mock_label_selector_requirement.call_count, 4) + + # Verify the calls were made with correct parameters for each expression type + mock_label_selector_requirement.assert_any_call( + key="tier", operator="In", values=["frontend", "backend"] + ) + mock_label_selector_requirement.assert_any_call( + key="version", operator="NotIn", values=["v1.0", "v1.1"] + ) + mock_label_selector_requirement.assert_any_call( + key="canary", operator="Exists", values=None + ) + mock_label_selector_requirement.assert_any_call( + key="legacy", operator="DoesNotExist", values=None + ) + + def test_construct_label_selector_mixed(self): + # Mock the LabelSelector and LabelSelectorRequirement models + mock_label_selector = MagicMock() + mock_label_selector_requirement = MagicMock() + + def mock_get_models(model_name, **kwargs): + if model_name == "LabelSelector": + return mock_label_selector + elif model_name == "LabelSelectorRequirement": + return mock_label_selector_requirement + + self.cmd.get_models = MagicMock(side_effect=mock_get_models) + + # Test with both match labels and expressions + selector_param = "app=frontend,tier In frontend backend,version NotIn v1.0 v1.1" + loadbalancerconfiguration.construct_label_selector(self.cmd, selector_param) + + # Verify LabelSelector was created with correct match_labels + mock_label_selector.assert_called_once() + + # Check the match_labels argument + match_labels_arg = mock_label_selector.call_args[1]["match_labels"] + self.assertEqual(match_labels_arg, ["app=frontend"]) + + # Check that LabelSelectorRequirement was called twice for the 2 expressions + self.assertEqual(mock_label_selector_requirement.call_count, 2) + + # Verify the calls were made with correct parameters for each expression type + mock_label_selector_requirement.assert_any_call( + key="tier", operator="In", values=["frontend", "backend"] + ) + mock_label_selector_requirement.assert_any_call( + key="version", operator="NotIn", values=["v1.0", "v1.1"] + ) + + def test_construct_label_selector_whitespace_handling(self): + # Mock the LabelSelector and LabelSelectorRequirement models + mock_label_selector = MagicMock() + mock_label_selector_requirement = MagicMock() + + def mock_get_models(model_name, **kwargs): + if model_name == "LabelSelector": + return mock_label_selector + elif model_name == "LabelSelectorRequirement": + return mock_label_selector_requirement + + self.cmd.get_models = MagicMock(side_effect=mock_get_models) + + # Test with whitespace in the input + selector_param = " app = frontend , tier = web , version In v1.0 v1.1 " + loadbalancerconfiguration.construct_label_selector(self.cmd, selector_param) + + # Verify LabelSelector was created with correct match_labels (whitespace trimmed) + mock_label_selector.assert_called_once() + + # Check the match_labels argument + match_labels_arg = mock_label_selector.call_args[1]["match_labels"] + self.assertEqual(match_labels_arg, ["app = frontend", "tier = web"]) + + # Check that LabelSelectorRequirement was called once for the expression + self.assertEqual(mock_label_selector_requirement.call_count, 1) + + # Verify the call was made with correct parameters + mock_label_selector_requirement.assert_called_once_with( + key="version", operator="In", values=["v1.0", "v1.1"] + ) + + def test_construct_label_selector_special_characters(self): + # Mock the LabelSelector and LabelSelectorRequirement models + mock_label_selector = MagicMock() + mock_label_selector_requirement = MagicMock() + + def mock_get_models(model_name, **kwargs): + if model_name == "LabelSelector": + return mock_label_selector + elif model_name == "LabelSelectorRequirement": + return mock_label_selector_requirement + + self.cmd.get_models = MagicMock(side_effect=mock_get_models) + + # Test with special characters in values + selector_param = "app=front-end,tier=web/api,version=1.2.3" + loadbalancerconfiguration.construct_label_selector(self.cmd, selector_param) + + # Verify LabelSelector was created with correct match_labels containing special characters + mock_label_selector.assert_called_once_with( + match_labels=["app=front-end", "tier=web/api", "version=1.2.3"], + match_expressions=[], + ) + + def test_construct_label_selector_empty_selectors(self): + # Mock the LabelSelector and LabelSelectorRequirement models + mock_label_selector = MagicMock() + mock_label_selector_requirement = MagicMock() + + def mock_get_models(model_name, **kwargs): + if model_name == "LabelSelector": + return mock_label_selector + elif model_name == "LabelSelectorRequirement": + return mock_label_selector_requirement + + self.cmd.get_models = MagicMock(side_effect=mock_get_models) + + # Test with empty selectors + selector_param = ",,," + result = loadbalancerconfiguration.construct_label_selector( + self.cmd, selector_param + ) + + # Verify that it returns None for empty selectors + self.assertIsNone(result) + + def test_aks_loadbalancer_rebalance_internal(self): + # Import the functions to test and mock + from azext_aks_preview.loadbalancerconfiguration import ( + aks_loadbalancer_rebalance_internal, + ) + from unittest.mock import MagicMock + + # Mock the client + mock_client = MagicMock() + + # Set up test parameters + raw_parameters = { + "resource_group_name": "test-resource-group", + "cluster_name": "test-cluster", + "load_balancer_names": ["lb1,lb2"], # Format with comma-separated names + } + + # Create a mock poller + mock_poller = MagicMock() + mock_client.begin_rebalance_load_balancers.return_value = mock_poller + + # Call the function + result = aks_loadbalancer_rebalance_internal( + mock_client, raw_parameters + ) + + # Verify begin_rebalance_load_balancers was called with the right parameters + mock_client.begin_rebalance_load_balancers.assert_called_once() + call_args = mock_client.begin_rebalance_load_balancers.call_args[1] + self.assertEqual(call_args["resource_group_name"], "test-resource-group") + self.assertEqual(call_args["resource_name"], "test-cluster") + self.assertEqual(call_args["parameters"].load_balancer_names, ["lb1", "lb2"]) + + # Verify the result is the poller + self.assertEqual(result, mock_poller) + + def test_aks_loadbalancer_rebalance_internal_no_load_balancer_names(self): + # Import the functions to test and mock + from azext_aks_preview.loadbalancerconfiguration import ( + aks_loadbalancer_rebalance_internal, + ) + from unittest.mock import MagicMock + + # Mock the client + mock_client = MagicMock() + + # Set up test parameters without load_balancer_names + raw_parameters = { + "resource_group_name": "test-resource-group", + "cluster_name": "test-cluster", + "load_balancer_names": None, + } + + # Create a mock poller + mock_poller = MagicMock() + mock_client.begin_rebalance_load_balancers.return_value = mock_poller + + # Call the function + result = aks_loadbalancer_rebalance_internal( + mock_client, raw_parameters + ) + + # Verify begin_rebalance_load_balancers was called with the right parameters + mock_client.begin_rebalance_load_balancers.assert_called_once() + call_args = mock_client.begin_rebalance_load_balancers.call_args[1] + self.assertEqual(call_args["resource_group_name"], "test-resource-group") + self.assertEqual(call_args["resource_name"], "test-cluster") + self.assertEqual(call_args["parameters"].load_balancer_names, []) + + # Verify the result is the poller + self.assertEqual(result, mock_poller) + + def test_aks_loadbalancer_rebalance_internal_missing_params(self): + # Import the functions to test and mock + from azext_aks_preview.loadbalancerconfiguration import ( + aks_loadbalancer_rebalance_internal, + ) + from azure.cli.core.azclierror import RequiredArgumentMissingError + from unittest.mock import MagicMock + + # Mock the client + mock_client = MagicMock() + + # Test missing resource_group_name + raw_parameters = {"resource_group_name": None, "cluster_name": "test-cluster"} + + # Verify that RequiredArgumentMissingError is raised + with self.assertRaises(RequiredArgumentMissingError): + aks_loadbalancer_rebalance_internal(mock_client, raw_parameters) + + # Test missing cluster_name + raw_parameters = { + "resource_group_name": "test-resource-group", + "cluster_name": None, + } + + # Verify that RequiredArgumentMissingError is raised + with self.assertRaises(RequiredArgumentMissingError): + aks_loadbalancer_rebalance_internal(mock_client, raw_parameters) + + def test_check_loadbalancer_provisioning_states(self): + # Import the function to test + from azext_aks_preview.loadbalancerconfiguration import ( + _check_loadbalancer_provisioning_states, + ) + + # Create mock client and load balancer objects + mock_client = MagicMock() + + # Create mock load balancers with different states + lb1 = MagicMock() + lb1.name = "lb1" + lb1.provisioning_state = "Succeeded" + + lb2 = MagicMock() + lb2.name = "lb2" + lb2.provisioning_state = "Succeeded" + + lb3 = MagicMock() + lb3.name = "lb3" + lb3.provisioning_state = "Succeeded" + + # Setup client.list_by_managed_cluster to return our mock load balancers + mock_client.list_by_managed_cluster.return_value = [lb1, lb2, lb3] + + # Case 1: Test with specific load balancer names + result = _check_loadbalancer_provisioning_states( + mock_client, + "test-rg", + "test-cluster", + ["lb1", "lb2"], + timeout_seconds=1, + polling_interval_seconds=0, + ) + + # Verify client.list_by_managed_cluster was called exactly once + mock_client.list_by_managed_cluster.assert_called_once_with("test-rg", "test-cluster") + mock_client.list_by_managed_cluster.reset_mock() + + # Verify we got back only the load balancers we asked for + self.assertEqual(len(result), 2) + self.assertIn("lb1", result) + self.assertIn("lb2", result) + self.assertNotIn("lb3", result) + + # Case 2: Test with empty string (should check all load balancers) + result = _check_loadbalancer_provisioning_states( + mock_client, + "test-rg", + "test-cluster", + "", + timeout_seconds=1, + polling_interval_seconds=0, + ) + + # Verify client.list_by_managed_cluster was called exactly once + mock_client.list_by_managed_cluster.assert_called_once_with("test-rg", "test-cluster") + mock_client.list_by_managed_cluster.reset_mock() + + # Verify we got back all load balancers + self.assertEqual(len(result), 3) + self.assertIn("lb1", result) + self.assertIn("lb2", result) + self.assertIn("lb3", result) + + # Case 3: Test with None (should check all load balancers) + result = _check_loadbalancer_provisioning_states( + mock_client, + "test-rg", + "test-cluster", + None, + timeout_seconds=1, + polling_interval_seconds=0, + ) + + # Verify client.list_by_managed_cluster was called exactly once + mock_client.list_by_managed_cluster.assert_called_once_with("test-rg", "test-cluster") + + # Verify we got back all load balancers + self.assertEqual(len(result), 3) + self.assertIn("lb1", result) + self.assertIn("lb2", result) + self.assertIn("lb3", result) + + def test_check_loadbalancer_provisioning_states_with_failures(self): + # Import the function to test + from azext_aks_preview.loadbalancerconfiguration import ( + _check_loadbalancer_provisioning_states, + ) + + # Create mock client and load balancer objects + mock_client = MagicMock() + + # Create mock load balancers with different states + lb1 = MagicMock() + lb1.name = "lb1" + lb1.provisioning_state = "Succeeded" + + lb2 = MagicMock() + lb2.name = "lb2" + lb2.provisioning_state = "Failed" + + # Setup client.list_by_managed_cluster to return our mock load balancers + mock_client.list_by_managed_cluster.return_value = [lb1, lb2] + + # Test that we properly raise an error when a load balancer fails + with self.assertRaises(CLIError) as context: + _check_loadbalancer_provisioning_states( + mock_client, + "test-rg", + "test-cluster", + ["lb1", "lb2"], + timeout_seconds=1, + polling_interval_seconds=0, + ) + + # Verify the error message contains the failed load balancer name + self.assertIn("lb2", str(context.exception)) + self.assertIn("Failed", str(context.exception)) + + +if __name__ == "__main__": + unittest.main() diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 55ee207ed60..1729f500296 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -9,7 +9,7 @@ from setuptools import setup, find_packages -VERSION = "14.0.0b2" +VERSION = "14.0.0b3" CLASSIFIERS = [ "Development Status :: 4 - Beta",