diff --git a/linter_exclusions.yml b/linter_exclusions.yml index 37f3e08caa..ae74b3afa3 100644 --- a/linter_exclusions.yml +++ b/linter_exclusions.yml @@ -197,6 +197,21 @@ aks update: assign_kubelet_identity: rule_exclusions: - option_length_too_long + azure_monitor_workspace_resource_id: + rule_exclusions: + - option_length_too_long + disable_azuremonitormetrics: + rule_exclusions: + - option_length_too_long + enable_azuremonitormetrics: + rule_exclusions: + - option_length_too_long + ksm_metric_annotations_allow_list: + rule_exclusions: + - option_length_too_long + ksm_metric_labels_allow_list: + rule_exclusions: + - option_length_too_long arcdata dc create: parameters: logs_ui_private_key_file: diff --git a/src/aks-preview/HISTORY.rst b/src/aks-preview/HISTORY.rst index f27a0bea73..64dc25e5e9 100644 --- a/src/aks-preview/HISTORY.rst +++ b/src/aks-preview/HISTORY.rst @@ -12,6 +12,11 @@ To release a new version, please select a new version number (usually plus 1 to Pending +++++++ +0.5.106 ++++++++ + +* Add support for AzureMonitorMetrics Addon (managed prometheus metrics in public preview) for AKS + 0.5.105 +++++++ diff --git a/src/aks-preview/azext_aks_preview/_help.py b/src/aks-preview/azext_aks_preview/_help.py index fc9e9ed993..fcae4acf4c 100644 --- a/src/aks-preview/azext_aks_preview/_help.py +++ b/src/aks-preview/azext_aks_preview/_help.py @@ -840,6 +840,24 @@ - name: --defender-config type: string short-summary: Path to JSON file containing Microsoft Defender profile configurations. + - name: --enable-azuremonitormetrics + type: bool + short-summary: Enable Azure Monitor Metrics Profile + - name: --azure-monitor-workspace-resource-id + type: string + short-summary: Resource ID of the Azure Monitor Workspace + - name: --ksm-metric-labels-allow-list + type: string + short-summary: Comma-separated list of additional Kubernetes label keys that will be used in the resource' labels metric. By default the metric contains only name and namespace labels. To include additional labels provide a list of resource names in their plural form and Kubernetes label keys you would like to allow for them (e.g. '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'. A single '*' can be provided per resource instead to allow any labels, but that has severe performance implications (e.g. '=pods=[*]'). + - name: --ksm-metric-annotations-allow-list + type: string + short-summary: Comma-separated list of additional Kubernetes label keys that will be used in the resource' labels metric. By default the metric contains only name and namespace labels. To include additional labels provide a list of resource names in their plural form and Kubernetes label keys you would like to allow for them (e.g.'=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)'. A single '*' can be provided per resource instead to allow any labels, but that has severe performance implications (e.g. '=pods=[*]'). + - name: --grafana-resource-id + type: string + short-summary: Resource ID of the Azure Managed Grafana Workspace + - name: --disable-azuremonitormetrics + type: bool + short-summary: Disable Azure Monitor Metrics Profile - name: --enable-node-restriction type: bool short-summary: Enable node restriction option on cluster. diff --git a/src/aks-preview/azext_aks_preview/_params.py b/src/aks-preview/azext_aks_preview/_params.py index d6b35972c0..4902ab0d69 100644 --- a/src/aks-preview/azext_aks_preview/_params.py +++ b/src/aks-preview/azext_aks_preview/_params.py @@ -123,6 +123,10 @@ validate_enable_custom_ca_trust, validate_defender_config_parameter, validate_defender_disable_and_enable_parameters, + validate_azuremonitorworkspaceresourceid, + validate_grafanaresourceid, + validate_ksm_labels, + validate_ksm_annotations ) # candidates for enumeration @@ -432,6 +436,12 @@ def load_arguments(self, _): c.argument('enable_private_cluster', action='store_true', is_preview=True, help='enable private cluster for apiserver vnet integration') c.argument('disable_private_cluster', action='store_true', is_preview=True, help='disable private cluster for apiserver vnet integration') c.argument('private_dns_zone', is_preview=True) + c.argument('enable_azuremonitormetrics', action='store_true', is_preview=True) + c.argument('azure_monitor_workspace_resource_id', validator=validate_azuremonitorworkspaceresourceid, is_preview=True) + c.argument('ksm_metric_labels_allow_list', validator=validate_ksm_labels, is_preview=True) + c.argument('ksm_metric_annotations_allow_list', validator=validate_ksm_annotations, is_preview=True) + c.argument('grafana_resource_id', validator=validate_grafanaresourceid, is_preview=True) + c.argument('disable_azuremonitormetrics', action='store_true', is_preview=True) c.argument('enable_vpa', action='store_true', is_preview=True, help="enable vertical pod autoscaler for cluster") c.argument('disable_vpa', action='store_true', is_preview=True, help="disable vertical pod autoscaler for cluster") c.argument('cluster_snapshot_id', validator=validate_cluster_snapshot_id, is_preview=True) diff --git a/src/aks-preview/azext_aks_preview/_validators.py b/src/aks-preview/azext_aks_preview/_validators.py index ef0ce480e2..70162c9a76 100644 --- a/src/aks-preview/azext_aks_preview/_validators.py +++ b/src/aks-preview/azext_aks_preview/_validators.py @@ -647,3 +647,87 @@ def validate_defender_config_parameter(namespace): def validate_defender_disable_and_enable_parameters(namespace): if namespace.disable_defender and namespace.enable_defender: raise ArgumentUsageError('Providing both --disable-defender and --enable-defender flags is invalid') + + +def sanitize_resource_id(resource_id): + resource_id = resource_id.strip() + if not resource_id.startswith("/"): + resource_id = "/" + resource_id + if resource_id.endswith("/"): + resource_id = resource_id.rstrip("/") + return resource_id.lower() + + +def validate_azuremonitorworkspaceresourceid(namespace): + resource_id = namespace.azure_monitor_workspace_resource_id + if resource_id is None: + return + resource_id = sanitize_resource_id(resource_id) + if (bool(re.match(r'/subscriptions/.*/resourcegroups/.*/providers/microsoft.monitor/accounts/.*', resource_id))) is False: + raise ArgumentUsageError("--azure-monitor-workspace-resource-id not in the correct format. It should match `/subscriptions//resourceGroups//providers/microsoft.monitor/accounts/`") + + +def validate_grafanaresourceid(namespace): + resource_id = namespace.grafana_resource_id + if resource_id is None: + return + resource_id = sanitize_resource_id(resource_id) + if (bool(re.match(r'/subscriptions/.*/resourcegroups/.*/providers/microsoft.dashboard/grafana/.*', resource_id))) is False: + raise ArgumentUsageError("--grafana-resource-id not in the correct format. It should match `/subscriptions//resourceGroups//providers/microsoft.dashboard/grafana/`") + + +def validate_ksm_parameter(ksmparam): + labelValueMap = {} + ksmStrLength = len(ksmparam) + EOF = -1 + next = "" + name = "" + firstWordPos = 0 + for i, v in enumerate(ksmparam): + if i + 1 == ksmStrLength: + next = EOF + else: + next = ord(ksmparam[i + 1]) + if i - 1 >= 0: + previous = ord(ksmparam[i - 1]) + else: + previous = v + if v == "=": + if previous == ord(",") or next != ord("["): + raise InvalidArgumentValueError("Please format --metric properly. For eg. : --ksm-metric-labels-allow-list \"=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)\" and --ksm-metric-annotations-allow-list \"namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...\"") + name = ksmparam[firstWordPos:i] + labelValueMap[name] = [] + firstWordPos = i + 1 + elif v == "[": + if previous != ord("="): + raise InvalidArgumentValueError("Please format --metric properly. For eg. : --ksm-metric-labels-allow-list \"=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)\" and --ksm-metric-annotations-allow-list \"namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...\"") + firstWordPos = i + 1 + elif v == "]": + # if after metric group, has char not comma or end. + if next != EOF and next != ord(","): + raise InvalidArgumentValueError("Please format --metric properly. For eg. : --ksm-metric-labels-allow-list \"=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)\" and --ksm-metric-annotations-allow-list \"namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...\"") + if previous != ord("["): + labelValueMap[name].append(ksmparam[firstWordPos:i]) + firstWordPos = i + 1 + elif v == ",": + # if starts or ends with comma + if previous == v or next == EOF or next == ord("]"): + raise InvalidArgumentValueError("Please format --metric properly. For eg. : --ksm-metric-labels-allow-list \"=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)\" and --ksm-metric-annotations-allow-list \"namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...\"") + if previous != ord("]"): + labelValueMap[name].append(ksmparam[firstWordPos:i]) + firstWordPos = i + 1 + for label in labelValueMap: + if (bool(re.match(r'^[a-zA-Z_][A-Za-z0-9_]+$', label))) is False: + raise InvalidArgumentValueError("Please format --metric properly. For eg. : --ksm-metric-labels-allow-list \"=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)\" and --ksm-metric-annotations-allow-list \"namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...\"") + + +def validate_ksm_labels(namespace): + if namespace.ksm_metric_labels_allow_list is None: + return + validate_ksm_parameter(namespace.ksm_metric_labels_allow_list) + + +def validate_ksm_annotations(namespace): + if namespace.ksm_metric_annotations_allow_list is None: + return + validate_ksm_parameter(namespace.ksm_metric_annotations_allow_list) diff --git a/src/aks-preview/azext_aks_preview/addonconfiguration.py b/src/aks-preview/azext_aks_preview/addonconfiguration.py index 8d4e966d00..044bd3b18c 100644 --- a/src/aks-preview/azext_aks_preview/addonconfiguration.py +++ b/src/aks-preview/azext_aks_preview/addonconfiguration.py @@ -224,7 +224,7 @@ def update_addons(cmd, # pylint: disable=too-many-branches,too-many-statements if addon_profile.enabled and check_enabled: raise CLIError('The monitoring addon is already enabled for this managed cluster.\n' 'To change monitoring configuration, run "az aks disable-addons -a monitoring"' - 'before enabling it again.') + ' before enabling it again.') if not workspace_resource_id: workspace_resource_id = ensure_default_log_analytics_workspace_for_monitoring( cmd, diff --git a/src/aks-preview/azext_aks_preview/azuremonitorprofile.py b/src/aks-preview/azext_aks_preview/azuremonitorprofile.py new file mode 100644 index 0000000000..bde280bdd8 --- /dev/null +++ b/src/aks-preview/azext_aks_preview/azuremonitorprofile.py @@ -0,0 +1,768 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# -------------------------------------------------------------------------------------------- +import json +import urllib.request +import uuid +import re +from sre_constants import FAILURE, SUCCESS + +from knack.util import CLIError +from azure.cli.core.azclierror import ( + UnknownError, + ClientRequestError, + InvalidArgumentValueError +) +from ._client_factory import get_resources_client, get_resource_groups_client +from enum import Enum +from six import with_metaclass +from azure.core import CaseInsensitiveEnumMeta +from azure.core.exceptions import HttpResponseError +from azure.cli.core.util import get_az_user_agent + +AKS_CLUSTER_API = "2022-07-02-preview" +MAC_API = "2021-06-03-preview" +DC_API = "2021-09-01-preview" +GRAFANA_API = "2022-08-01" +GRAFANA_ROLE_ASSIGNMENT_API = "2018-01-01-preview" +RULES_API = "2021-07-22-preview" +FEATURE_API = "2020-09-01" +RP_API = "2019-08-01" + + +class GrafanaLink(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """ + Status of Grafana link to the Prometheus Addon + """ + SUCCESS = "SUCCESS" + FAILURE = "FAILURE" + ALREADYPRESENT = "ALREADYPRESENT" + NOPARAMPROVIDED = "NOPARAMPROVIDED" + + +class DC_TYPE(with_metaclass(CaseInsensitiveEnumMeta, str, Enum)): + """ + Types of DC* objects + """ + DCE = "DCE" + DCR = "DCR" + DCRA = "DCRA" + + +MapToClosestMACRegion = { + "australiacentral": "eastus", + "australiacentral2": "eastus", + "australiaeast": "eastus", + "australiasoutheast": "eastus", + "brazilsouth": "eastus", + "canadacentral": "eastus", + "canadaeast": "eastus", + "centralus": "centralus", + "centralindia": "centralindia", + "eastasia": "westeurope", + "eastus": "eastus", + "eastus2": "eastus2", + "francecentral": "westeurope", + "francesouth": "westeurope", + "japaneast": "eastus", + "japanwest": "eastus", + "koreacentral": "westeurope", + "koreasouth": "westeurope", + "northcentralus": "eastus", + "northeurope": "westeurope", + "southafricanorth": "westeurope", + "southafricawest": "westeurope", + "southcentralus": "eastus", + "southeastasia": "westeurope", + "southindia": "centralindia", + "uksouth": "westeurope", + "ukwest": "westeurope", + "westcentralus": "eastus", + "westeurope": "westeurope", + "westindia": "centralindia", + "westus": "westus", + "westus2": "westus2", + "westus3": "westus", + "norwayeast": "westeurope", + "norwaywest": "westeurope", + "switzerlandnorth": "westeurope", + "switzerlandwest": "westeurope", + "uaenorth": "westeurope", + "germanywestcentral": "westeurope", + "germanynorth": "westeurope", + "uaecentral": "westeurope", + "eastus2euap": "eastus2euap", + "centraluseuap": "westeurope", + "brazilsoutheast": "eastus", + "jioindiacentral": "centralindia", + "swedencentral": "westeurope", + "swedensouth": "westeurope", + "qatarcentral": "westeurope" +} + + +AzureCloudLocationToOmsRegionCodeMap = { + "australiasoutheast": "SEAU", + "australiaeast": "EAU", + "australiacentral": "CAU", + "australiacentral2": "CBR2", + "canadacentral": "CCA", + "centralindia": "CID", + "southindia": "MA", + "centralus": "CUS", + "eastasia": "EA", + "eastus": "EUS", + "eastus2": "EUS2", + "eastus2euap": "EUS2P", + "francecentral": "PAR", + "francesouth": "MRS", + "japaneast": "EJP", + "koreacentral": "SE", + "northeurope": "NEU", + "southcentralus": "SCUS", + "southeastasia": "SEA", + "uksouth": "SUK", + "usgovvirginia": "USGV", + "westcentralus": "WCUS", + "westeurope": "WEU", + "westus": "WUS", + "westus2": "WUS2", + "westus3": "WUS3", + "brazilsouth": "CQ", + "brazilsoutheast": "BRSE", + "norwayeast": "NOE", + "southafricanorth": "JNB", + "northcentralus": "NCUS", + "uaenorth": "DXB", + "germanywestcentral": "DEWC", + "ukwest": "WUK", + "swedencentral": "SEC", + "switzerlandnorth": "CHN", + "switzerlandwest": "CHW", + "uaecentral": "AUH", + "norwaywest": "NOW", + "japanwest": "OS", + "centraluseuap": "CDM", + "canadaeast": "YQ", + "koreasouth": "PS", + "jioindiacentral": "JINC", + "swedensouth": "SES", + "qatarcentral": "QAC", + "southafricawest": "CPT" +} + + +def check_azuremonitormetrics_profile(cmd, cluster_subscription, cluster_resource_group_name, cluster_name): + from azure.cli.core.util import send_raw_request + feature_check_url = f"https://management.azure.com/subscriptions/{cluster_subscription}/resourceGroups/{cluster_resource_group_name}/providers/Microsoft.ContainerService/managedClusters/{cluster_name}?api-version={AKS_CLUSTER_API}" + try: + headers = ['User-Agent=azuremonitormetrics.check_azuremonitormetrics_profile'] + r = send_raw_request(cmd.cli_ctx, "GET", feature_check_url, + body={}, headers=headers) + except CLIError as e: + raise UnknownError(e) + json_response = json.loads(r.text) + values_array = json_response["properties"] + if "azureMonitorProfile" in values_array: + if "metrics" in values_array["azureMonitorProfile"]: + if values_array["azureMonitorProfile"]["metrics"]["enabled"] is True: + raise CLIError(f"Azure Monitor Metrics is already enabled for this cluster. Please use `az aks update --disable-azuremonitormetrics -g {cluster_resource_group_name} -n {cluster_name}` and then try enabling.") + + +# check if `az feature register --namespace Microsoft.ContainerService --name AKS-PrometheusAddonPreview` is Registered +def check_azuremonitoraddon_feature(cmd, cluster_subscription, raw_parameters): + aks_custom_headers = raw_parameters.get("aks_custom_headers") + if (aks_custom_headers is not None) and ("aks-prometheusaddonpreview" in aks_custom_headers.lower()): + return + from azure.cli.core.util import send_raw_request + feature_check_url = f"https://management.azure.com/subscriptions/{cluster_subscription}/providers/Microsoft.Features/subscriptionFeatureRegistrations?api-version={FEATURE_API}&featurename=AKS-PrometheusAddonPreview" + try: + headers = ['User-Agent=azuremonitormetrics.check_azuremonitoraddon_feature'] + r = send_raw_request(cmd.cli_ctx, "GET", feature_check_url, + body={}, headers=headers) + except CLIError as e: + raise UnknownError(e) + json_response = json.loads(r.text) + values_array = json_response["value"] + for value in values_array: + if value["properties"]["providerNamespace"].lower() == "microsoft.containerservice" and value["properties"]["state"].lower() == "registered": + return + raise CLIError("Please enable the feature AKS-PrometheusAddonPreview on your subscription using `az feature register --namespace Microsoft.ContainerService --name AKS-PrometheusAddonPreview` to use this feature.\ + If this feature was recently registered then please wait upto 5 mins for the feature registration to finish") + + +# All DC* objects are 44 length +# All DC* object names should end only in alpha numeric (after 44 char trim) +# DCE remove underscore from cluster name +def sanitize_name(name, type): + if type == DC_TYPE.DCE: + name = name.replace("_", "") + name = name[0:43] + lastIndexAlphaNumeric = len(name) - 1 + while ((name[lastIndexAlphaNumeric].isalnum() is False) and lastIndexAlphaNumeric > -1): + lastIndexAlphaNumeric = lastIndexAlphaNumeric - 1 + if (lastIndexAlphaNumeric < 0): + return "" + + return name[0:lastIndexAlphaNumeric + 1] + + +def sanitize_resource_id(resource_id): + resource_id = resource_id.strip() + if not resource_id.startswith("/"): + resource_id = "/" + resource_id + if resource_id.endswith("/"): + resource_id = resource_id.rstrip("/") + return resource_id.lower() + + +def get_default_mac_region(cluster_region): + if cluster_region in MapToClosestMACRegion: + return MapToClosestMACRegion[cluster_region] + return "eastus" + + +def get_default_mac_region_code(cluster_region): + return AzureCloudLocationToOmsRegionCodeMap[get_default_mac_region(cluster_region)] + + +def get_default_mac_name(cluster_region): + default_mac_name = "DefaultAzureMonitorWorkspace-" + get_default_mac_region_code(cluster_region) + default_mac_name = default_mac_name[0:43] + return default_mac_name + + +def create_default_mac(cmd, cluster_subscription, cluster_region): + from azure.cli.core.util import send_raw_request + default_mac_name = get_default_mac_name(cluster_region) + default_resource_group_name = "DefaultResourceGroup-{0}".format(get_default_mac_region_code(cluster_region)) + azure_monitor_workspace_resource_id = "/subscriptions/{0}/resourceGroups/{1}/providers/microsoft.monitor/accounts/{2}".format(cluster_subscription, default_resource_group_name, default_mac_name) + # Check if default resource group exists or not, if it does not then create it + resource_groups = get_resource_groups_client(cmd.cli_ctx, cluster_subscription) + resources = get_resources_client(cmd.cli_ctx, cluster_subscription) + + if resource_groups.check_existence(default_resource_group_name): + try: + resources.get_by_id(azure_monitor_workspace_resource_id, MAC_API) + # If MAC already exists then return from here + return azure_monitor_workspace_resource_id + except HttpResponseError as ex: + if ex.status_code != 404: + raise ex + else: + resource_groups.create_or_update(default_resource_group_name, {"location": get_default_mac_region(cluster_region)}) + association_body = json.dumps({"location": get_default_mac_region(cluster_region), "properties": {}}) + association_url = f"https://management.azure.com{azure_monitor_workspace_resource_id}?api-version={MAC_API}" + try: + headers = ['User-Agent=azuremonitormetrics.create_default_mac'] + send_raw_request(cmd.cli_ctx, "PUT", association_url, + body=association_body, headers=headers) + return azure_monitor_workspace_resource_id + except CLIError as e: + raise e + + +def get_azure_monitor_workspace_resource_id(cmd, cluster_subscription, cluster_region, raw_parameters): + azure_monitor_workspace_resource_id = raw_parameters.get("azure_monitor_workspace_resource_id") + if azure_monitor_workspace_resource_id is None or azure_monitor_workspace_resource_id == "": + azure_monitor_workspace_resource_id = create_default_mac(cmd, cluster_subscription, cluster_region) + else: + azure_monitor_workspace_resource_id = sanitize_resource_id(azure_monitor_workspace_resource_id) + return azure_monitor_workspace_resource_id.lower() + + +def get_default_dce_name(mac_region, cluster_name): + region_code = "EUS" + if mac_region in AzureCloudLocationToOmsRegionCodeMap: + region_code = AzureCloudLocationToOmsRegionCodeMap[mac_region] + default_dce_name = "MSProm-" + region_code + "-" + cluster_name + return sanitize_name(default_dce_name, DC_TYPE.DCE) + + +def get_default_dcr_name(mac_region, cluster_name): + region_code = "EUS" + if mac_region in AzureCloudLocationToOmsRegionCodeMap: + region_code = AzureCloudLocationToOmsRegionCodeMap[mac_region] + default_dcr_name = "MSProm-" + region_code + "-" + cluster_name + return sanitize_name(default_dcr_name, DC_TYPE.DCR) + + +def get_default_dcra_name(cluster_region, cluster_name): + region_code = "EUS" + if cluster_region in AzureCloudLocationToOmsRegionCodeMap: + region_code = AzureCloudLocationToOmsRegionCodeMap[cluster_region] + default_dcra_name = "MSProm-" + region_code + "-" + cluster_name + return sanitize_name(default_dcra_name, DC_TYPE.DCRA) + + +def get_mac_region_and_check_support(cmd, azure_monitor_workspace_resource_id, cluster_region): + from azure.cli.core.util import send_raw_request + from azure.core.exceptions import HttpResponseError + # region of MAC can be different from region of RG so find the location of the azure_monitor_workspace_resource_id + mac_subscription_id = azure_monitor_workspace_resource_id.split("/")[2] + resources = get_resources_client(cmd.cli_ctx, mac_subscription_id) + try: + resource = resources.get_by_id( + azure_monitor_workspace_resource_id, MAC_API) + mac_location = resource.location + except HttpResponseError as ex: + raise ex + # first get the association between region display names and region IDs (because for some reason + # the "which RPs are available in which regions" check returns region display names) + region_names_to_id = {} + # retry the request up to two times + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.get_mac_region_and_check_support.mac_subscription_location_support_check'] + location_list_url = f"https://management.azure.com/subscriptions/{mac_subscription_id}/locations?api-version=2019-11-01" + r = send_raw_request(cmd.cli_ctx, "GET", location_list_url, headers=headers) + + # this is required to fool the static analyzer. The else statement will only run if an exception + # is thrown, but flake8 will complain that e is undefined if we don"t also define it here. + error = None + break + except CLIError as e: + error = e + else: + # This will run if the above for loop was not broken out of. This means all three requests failed + raise error + json_response = json.loads(r.text) + for region_data in json_response["value"]: + region_names_to_id[region_data["displayName"] + ] = region_data["name"] + # check if region supports DCR and DCRA + for _ in range(3): + try: + feature_check_url = f"https://management.azure.com/subscriptions/{mac_subscription_id}/providers/Microsoft.Insights?api-version=2020-10-01" + headers = ['User-Agent=azuremonitormetrics.get_mac_region_and_check_support.mac_subscription_dcr_dcra_regions_support_check'] + r = send_raw_request(cmd.cli_ctx, "GET", feature_check_url, headers=headers) + error = None + break + except CLIError as e: + error = e + else: + raise error + json_response = json.loads(r.text) + for resource in json_response["resourceTypes"]: + region_ids = map(lambda x: region_names_to_id[x], + resource["locations"]) # map is lazy, so doing this for every region isn"t slow + if resource["resourceType"].lower() == "datacollectionrules" and mac_location not in region_ids: + raise ClientRequestError( + f"Data Collection Rules are not supported for MAC region {mac_location}") + elif resource[ + "resourceType"].lower() == "datacollectionruleassociations" and cluster_region not in region_ids: + raise ClientRequestError( + f"Data Collection Rule Associations are not supported for cluster region {cluster_region}") + return mac_location + + +def create_dce(cmd, cluster_subscription, cluster_resource_group_name, cluster_name, mac_region): + from azure.cli.core.util import send_raw_request + dce_name = get_default_dce_name(mac_region, cluster_name) + dce_resource_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Insights/dataCollectionEndpoints/{2}".format(cluster_subscription, cluster_resource_group_name, dce_name) + for _ in range(3): + try: + dce_url = f"https://management.azure.com{dce_resource_id}?api-version={DC_API}" + dce_creation_body = json.dumps({"name": dce_name, + "location": mac_region, + "kind": "Linux", + "properties": {}}) + headers = ['User-Agent=azuremonitormetrics.create_dce'] + send_raw_request(cmd.cli_ctx, "PUT", + dce_url, body=dce_creation_body, headers=headers) + error = None + return dce_resource_id + except CLIError as e: + error = e + else: + raise error + + +# pylint: disable=too-many-locals,too-many-branches,too-many-statements,line-too-long +def create_dcr(cmd, mac_region, azure_monitor_workspace_resource_id, cluster_subscription, cluster_resource_group_name, cluster_name, dce_resource_id): + from azure.cli.core.util import send_raw_request + dcr_name = get_default_dcr_name(mac_region, cluster_name) + dcr_resource_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Insights/dataCollectionRules/{2}".format( + cluster_subscription, + cluster_resource_group_name, + dcr_name + ) + dcr_creation_body = json.dumps({"location": mac_region, + "kind": "Linux", + "properties": { + "dataCollectionEndpointId": dce_resource_id, + "dataSources": {"prometheusForwarder": [{"name": "PrometheusDataSource", "streams": ["Microsoft-PrometheusMetrics"], "labelIncludeFilter": {}}]}, + "dataFlows": [{"destinations": ["MonitoringAccount1"], "streams": ["Microsoft-PrometheusMetrics"]}], + "description": "DCR description", + "destinations": { + "monitoringAccounts": [{"accountResourceId": azure_monitor_workspace_resource_id, "name": "MonitoringAccount1"}]}}}) + dcr_url = f"https://management.azure.com{dcr_resource_id}?api-version={DC_API}" + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.create_dcr'] + send_raw_request(cmd.cli_ctx, "PUT", + dcr_url, body=dcr_creation_body, headers=headers) + error = None + return dcr_resource_id + except CLIError as e: + error = e + else: + raise error + + +def create_dcra(cmd, cluster_region, cluster_subscription, cluster_resource_group_name, cluster_name, dcr_resource_id): + from azure.cli.core.util import send_raw_request + cluster_resource_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.ContainerService/managedClusters/{2}".format( + cluster_subscription, + cluster_resource_group_name, + cluster_name + ) + dcra_name = get_default_dcra_name(cluster_region, cluster_name) + dcra_resource_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{2}".format( + cluster_subscription, + cluster_resource_group_name, + dcra_name + ) + # only create or delete the association between the DCR and cluster + association_body = json.dumps({"location": cluster_region, + "properties": { + "dataCollectionRuleId": dcr_resource_id, + "description": "Promtheus data collection association between DCR, DCE and target AKS resource" + }}) + association_url = f"https://management.azure.com{cluster_resource_id}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{dcra_name}?api-version={DC_API}" + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.create_dcra'] + send_raw_request(cmd.cli_ctx, "PUT", association_url, + body=association_body, headers=headers) + error = None + return dcra_resource_id + except CLIError as e: + error = e + else: + raise error + + +def link_grafana_instance(cmd, raw_parameters, azure_monitor_workspace_resource_id): + from azure.cli.core.util import send_raw_request + # GET grafana principal ID + try: + grafana_resource_id = raw_parameters.get("grafana_resource_id") + if grafana_resource_id is None or grafana_resource_id == "": + return GrafanaLink.NOPARAMPROVIDED + grafana_resource_id = sanitize_resource_id(grafana_resource_id) + grafanaURI = "https://management.azure.com{0}?api-version={1}".format( + grafana_resource_id, + GRAFANA_API + ) + headers = ['User-Agent=azuremonitormetrics.link_grafana_instance'] + grafanaArmResponse = send_raw_request(cmd.cli_ctx, "GET", grafanaURI, body={}, headers=headers) + servicePrincipalId = grafanaArmResponse.json()["identity"]["principalId"] + except CLIError as e: + raise CLIError(e) + # Add Role Assignment + try: + MonitoringDataReader = "b0d8363b-8ddd-447d-831f-62ca05bff136" + roleDefinitionURI = "https://management.azure.com{0}/providers/Microsoft.Authorization/roleAssignments/{1}?api-version={2}".format( + azure_monitor_workspace_resource_id, + uuid.uuid4(), + GRAFANA_ROLE_ASSIGNMENT_API + ) + roleDefinitionId = "{0}/providers/Microsoft.Authorization/roleDefinitions/{1}".format( + azure_monitor_workspace_resource_id, + MonitoringDataReader + ) + association_body = json.dumps({"properties": {"roleDefinitionId": roleDefinitionId, "principalId": servicePrincipalId}}) + headers = ['User-Agent=azuremonitormetrics.add_role_assignment'] + send_raw_request(cmd.cli_ctx, "PUT", roleDefinitionURI, body=association_body, headers=headers) + except CLIError as e: + if e.response.status_code != 409: + erroString = "Role Assingment failed. Please manually assign the `Monitoring Data Reader` role to the Azure Monitor Workspace ({0}) for the Azure Managed Grafana System Assigned Managed Identity ({1})".format( + azure_monitor_workspace_resource_id, + servicePrincipalId + ) + print(erroString) + # Setting up AMW Integration + targetGrafanaArmPayload = grafanaArmResponse.json() + if targetGrafanaArmPayload["properties"] is None: + raise CLIError("Invalid grafana payload to add AMW integration") + if "grafanaIntegrations" not in json.dumps(targetGrafanaArmPayload): + targetGrafanaArmPayload["properties"]["grafanaIntegrations"] = {} + if "azureMonitorWorkspaceIntegrations" not in json.dumps(targetGrafanaArmPayload): + targetGrafanaArmPayload["properties"]["grafanaIntegrations"]["azureMonitorWorkspaceIntegrations"] = [] + amwIntegrations = targetGrafanaArmPayload["properties"]["grafanaIntegrations"]["azureMonitorWorkspaceIntegrations"] + if amwIntegrations != [] and azure_monitor_workspace_resource_id in json.dumps(amwIntegrations).lower(): + return GrafanaLink.ALREADYPRESENT + try: + grafanaURI = "https://management.azure.com{0}?api-version={1}".format( + grafana_resource_id, + GRAFANA_API + ) + targetGrafanaArmPayload["properties"]["grafanaIntegrations"]["azureMonitorWorkspaceIntegrations"].append({"azureMonitorWorkspaceResourceId": azure_monitor_workspace_resource_id}) + targetGrafanaArmPayload = json.dumps(targetGrafanaArmPayload) + headers = ['User-Agent=azuremonitormetrics.setup_amw_grafana_integration', 'Content-Type=application/json'] + send_raw_request(cmd.cli_ctx, "PUT", grafanaURI, body=targetGrafanaArmPayload, headers=headers) + except CLIError as e: + raise CLIError(e) + return GrafanaLink.SUCCESS + + +def create_rules(cmd, cluster_subscription, cluster_resource_group_name, cluster_name, azure_monitor_workspace_resource_id, mac_region): + from azure.cli.core.util import send_raw_request + with urllib.request.urlopen("https://defaultrulessc.blob.core.windows.net/defaultrules/ManagedPrometheusDefaultRecordingRules.json") as url: + default_rules_template = json.loads(url.read().decode()) + default_rule_group_name = "NodeRecordingRulesRuleGroup-{0}".format(cluster_name) + default_rule_group_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{2}".format( + cluster_subscription, + cluster_resource_group_name, + default_rule_group_name + ) + url = "https://management.azure.com{0}?api-version={1}".format( + default_rule_group_id, + RULES_API + ) + body = json.dumps({ + "id": default_rule_group_id, + "name": default_rule_group_name, + "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": mac_region, + "properties": { + "scopes": [ + azure_monitor_workspace_resource_id + ], + "clusterName": cluster_name, + "interval": "PT1M", + "rules": default_rules_template["resources"][0]["properties"]["rules"] + } + }) + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.create_rules_node'] + send_raw_request(cmd.cli_ctx, "PUT", url, + body=body, headers=headers) + error = None + break + except CLIError as e: + error = e + else: + raise error + default_rule_group_name = "KubernetesRecordingRulesRuleGroup-{0}".format(cluster_name) + default_rule_group_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{2}".format( + cluster_subscription, + cluster_resource_group_name, + default_rule_group_name + ) + url = "https://management.azure.com{0}?api-version={1}".format( + default_rule_group_id, + RULES_API + ) + body = json.dumps({ + "id": default_rule_group_id, + "name": default_rule_group_name, + "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": mac_region, + "properties": { + "scopes": [ + azure_monitor_workspace_resource_id + ], + "clusterName": cluster_name, + "rules": default_rules_template["resources"][1]["properties"]["rules"] + } + }) + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.create_rules_kubernetes'] + send_raw_request(cmd.cli_ctx, "PUT", url, + body=body, headers=headers) + error = None + break + except CLIError as e: + print(e) + error = e + else: + raise error + + +def delete_dcra(cmd, cluster_region, cluster_subscription, cluster_resource_group_name, cluster_name): + from azure.cli.core.util import send_raw_request + cluster_resource_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.ContainerService/managedClusters/{2}".format( + cluster_subscription, + cluster_resource_group_name, + cluster_name + ) + dcra_name = get_default_dcra_name(cluster_region, cluster_name) + # only create or delete the association between the DCR and cluster + association_body = json.dumps({"location": cluster_region, "properties": {}}) + association_url = f"https://management.azure.com{cluster_resource_id}/providers/Microsoft.Insights/dataCollectionRuleAssociations/{dcra_name}?api-version={DC_API}" + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.delete_dcra'] + send_raw_request(cmd.cli_ctx, "DELETE", association_url, + body=association_body, headers=headers) + error = None + return True + except CLIError as e: + error = e + return False + else: + raise error + + +def delete_rules(cmd, cluster_region, cluster_subscription, cluster_resource_group_name, cluster_name): + from azure.cli.core.util import send_raw_request + default_rule_group_name = "NodeRecordingRulesRuleGroup-{0}".format(cluster_name) + default_rule_group_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{2}".format( + cluster_subscription, + cluster_resource_group_name, + default_rule_group_name + ) + url = "https://management.azure.com{0}?api-version={1}".format( + default_rule_group_id, + RULES_API + ) + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.delete_rules_node'] + send_raw_request(cmd.cli_ctx, "DELETE", url, headers=headers) + error = None + break + except CLIError as e: + error = e + else: + raise error + default_rule_group_name = "KubernetesRecordingRulesRuleGroup-{0}".format(cluster_name) + default_rule_group_id = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.AlertsManagement/prometheusRuleGroups/{2}".format( + cluster_subscription, + cluster_resource_group_name, + default_rule_group_name + ) + url = "https://management.azure.com{0}?api-version={1}".format( + default_rule_group_id, + RULES_API + ) + for _ in range(3): + try: + headers = ['User-Agent=azuremonitormetrics.delete_rules_kubernetes'] + send_raw_request(cmd.cli_ctx, "DELETE", url, headers=headers) + error = None + break + except CLIError as e: + error = e + else: + raise error + + +def link_azure_monitor_profile_artifacts(cmd, cluster_subscription, cluster_resource_group_name, cluster_name, cluster_region, raw_parameters): + # MAC creation if required + azure_monitor_workspace_resource_id = get_azure_monitor_workspace_resource_id(cmd, cluster_subscription, cluster_region, raw_parameters) + # Get MAC region (required for DCE, DCR creation) and check support for DCE,DCR creation + mac_region = get_mac_region_and_check_support(cmd, azure_monitor_workspace_resource_id, cluster_region) + # DCE creation + dce_resource_id = create_dce(cmd, cluster_subscription, cluster_resource_group_name, cluster_name, mac_region) + # DCR creation + dcr_resource_id = create_dcr(cmd, mac_region, azure_monitor_workspace_resource_id, cluster_subscription, cluster_resource_group_name, cluster_name, dce_resource_id) + # DCRA creation + create_dcra(cmd, cluster_region, cluster_subscription, cluster_resource_group_name, cluster_name, dcr_resource_id) + # Link grafana + link_grafana_instance(cmd, raw_parameters, azure_monitor_workspace_resource_id) + # create recording rules and alerts + create_rules(cmd, cluster_subscription, cluster_resource_group_name, cluster_name, azure_monitor_workspace_resource_id, mac_region) + + +def unlink_azure_monitor_profile_artifacts(cmd, cluster_subscription, cluster_resource_group_name, cluster_name, cluster_region): + # Remove DCRA link + delete_dcra(cmd, cluster_region, cluster_subscription, cluster_resource_group_name, cluster_name) + # Delete rules (Conflict({"error":{"code":"InvalidResourceLocation","message":"The resource 'NodeRecordingRulesRuleGroup-' already exists in location 'eastus2' in resource group ''. A resource with the same name cannot be created in location 'eastus'. Please select a new resource name."}}) + delete_rules(cmd, cluster_region, cluster_subscription, cluster_resource_group_name, cluster_name) + + +def post_request(cmd, subscription_id, rp_name, headers): + from azure.cli.core.util import send_raw_request + customUrl = "https://management.azure.com/subscriptions/{0}/providers/{1}/register?api-version={2}".format( + subscription_id, + rp_name, + RP_API + ) + try: + send_raw_request(cmd.cli_ctx, "POST", customUrl, headers=headers) + except CLIError as e: + raise CLIError(e) + + +def rp_registrations(cmd, subscription_id): + from azure.cli.core.util import send_raw_request + # Get list of RP's for RP's subscription + try: + headers = ['User-Agent=azuremonitormetrics.get_mac_sub_list'] + customUrl = "https://management.azure.com/subscriptions/{0}/providers?api-version={1}&$select=namespace,registrationstate".format( + subscription_id, + RP_API + ) + r = send_raw_request(cmd.cli_ctx, "GET", customUrl, headers=headers) + except CLIError as e: + raise CLIError(e) + isInsightsRpRegistered = False + isAlertsManagementRpRegistered = False + isMoniotrRpRegistered = False + isDashboardRpRegistered = False + json_response = json.loads(r.text) + values_array = json_response["value"] + for value in values_array: + if value["namespace"].lower() == "microsoft.insights" and value["registrationState"].lower() == "registered": + isInsightsRpRegistered = True + if value["namespace"].lower() == "microsoft.alertsmanagement" and value["registrationState"].lower() == "registered": + isAlertsManagementRpRegistered = True + if value["namespace"].lower() == "microsoft.monitor" and value["registrationState"].lower() == "registered": + isAlertsManagementRpRegistered = True + if value["namespace"].lower() == "microsoft.dashboard" and value["registrationState"].lower() == "registered": + isAlertsManagementRpRegistered = True + if isInsightsRpRegistered is False: + headers = ['User-Agent=azuremonitormetrics.register_insights_rp'] + post_request(cmd, subscription_id, "microsoft.insights", headers) + if isAlertsManagementRpRegistered is False: + headers = ['User-Agent=azuremonitormetrics.register_alertsmanagement_rp'] + post_request(cmd, subscription_id, "microsoft.alertsmanagement", headers) + if isMoniotrRpRegistered is False: + headers = ['User-Agent=azuremonitormetrics.register_monitor_rp'] + post_request(cmd, subscription_id, "microsoft.monitor", headers) + if isDashboardRpRegistered is False: + headers = ['User-Agent=azuremonitormetrics.register_dashboard_rp'] + post_request(cmd, subscription_id, "microsoft.dashboard", headers) + + +# pylint: disable=too-many-locals,too-many-branches,too-many-statements,line-too-long +def ensure_azure_monitor_profile_prerequisites( + cmd, + client, + cluster_subscription, + cluster_resource_group_name, + cluster_name, + cluster_region, + raw_parameters, + remove_azuremonitormetrics +): + if (remove_azuremonitormetrics): + unlink_azure_monitor_profile_artifacts( + cmd, + cluster_subscription, + cluster_resource_group_name, + cluster_name, + cluster_region + ) + else: + # Check if already onboarded + check_azuremonitormetrics_profile(cmd, cluster_subscription, cluster_resource_group_name, cluster_name) + # If the feature is not registered then STOP onboarding and request to register the feature + check_azuremonitoraddon_feature(cmd, cluster_subscription, raw_parameters) + # Do RP registrations if required + rp_registrations(cmd, cluster_subscription) + link_azure_monitor_profile_artifacts( + cmd, + cluster_subscription, + cluster_resource_group_name, + cluster_name, + cluster_region, + raw_parameters + ) + return diff --git a/src/aks-preview/azext_aks_preview/custom.py b/src/aks-preview/azext_aks_preview/custom.py index 1e74cbd2ef..c5b3bb8005 100644 --- a/src/aks-preview/azext_aks_preview/custom.py +++ b/src/aks-preview/azext_aks_preview/custom.py @@ -798,6 +798,12 @@ def aks_update( enable_private_cluster=False, disable_private_cluster=False, private_dns_zone=None, + enable_azuremonitormetrics=False, + azure_monitor_workspace_resource_id=None, + ksm_metric_labels_allow_list=None, + ksm_metric_annotations_allow_list=None, + grafana_resource_id=None, + disable_azuremonitormetrics=False, enable_vpa=False, disable_vpa=False, cluster_snapshot_id=None, diff --git a/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py b/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py index b5dc3be5f3..6d21467320 100644 --- a/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py +++ b/src/aks-preview/azext_aks_preview/managed_cluster_decorator.py @@ -19,6 +19,9 @@ from azure.cli.command_modules.acs._validators import ( extract_comma_separated_string, ) +from azext_aks_preview.azuremonitorprofile import ( + ensure_azure_monitor_profile_prerequisites +) from azure.cli.command_modules.acs.managed_cluster_decorator import ( AKSManagedClusterContext, AKSManagedClusterCreateDecorator, @@ -1895,7 +1898,6 @@ def get_defender_config(self) -> Union[ManagedClusterSecurityProfileDefender, No def _get_enable_node_restriction(self, enable_validation: bool = False) -> bool: """Internal function to obtain the value of enable_node_restriction. - This function supports the option of enable_node_restriction. When enabled, if both enable_node_restriction and disable_node_restriction are specified, raise a MutuallyExclusiveArgumentError. @@ -1913,6 +1915,64 @@ def _get_enable_node_restriction(self, enable_validation: bool = False) -> bool: return enable_node_restriction + def _get_enable_azure_monitor_metrics(self, enable_validation: bool = False) -> bool: + """Internal function to obtain the value of enable_azure_monitor_metrics. + This function supports the option of enable_validation. When enabled, if both enable_azure_monitor_metrics and disable_azure_monitor_metrics are + specified, raise a MutuallyExclusiveArgumentError. + + :return: bool + """ + # print("_get_enable_azure_monitor_metrics being called...") + # Read the original value passed by the command. + enable_azure_monitor_metrics = self.raw_param.get("enable_azuremonitormetrics") + # In create mode, try to read the property value corresponding to the parameter from the `mc` object. + if self.decorator_mode == DecoratorMode.CREATE: + if ( + self.mc and + self.mc.azure_monitor_profile and + self.mc.azure_monitor_profile.metrics + ): + enable_azure_monitor_metrics = self.mc.azure_monitor_profile.metrics.enabled + # This parameter does not need dynamic completion. + if enable_validation: + if enable_azure_monitor_metrics and self._get_disable_azure_monitor_metrics(False): + raise MutuallyExclusiveArgumentError( + "Cannot specify --enable-azuremonitormetrics and --enable-azuremonitormetrics at the same time." + ) + if not check_is_msi_cluster(self.mc): + raise RequiredArgumentMissingError( + "--enable-azuremonitormetrics can only be specified for clusters with managed identity enabled" + ) + return enable_azure_monitor_metrics + + def get_enable_azure_monitor_metrics(self) -> bool: + """Obtain the value of enable_azure_monitor_metrics. + This function will verify the parameter by default. If both enable_azure_monitor_metrics and disable_azure_monitor_metrics are specified, raise a + MutuallyExclusiveArgumentError. + :return: bool + """ + return self._get_enable_azure_monitor_metrics(enable_validation=True) + + def _get_disable_azure_monitor_metrics(self, enable_validation: bool = False) -> bool: + """Internal function to obtain the value of disable_azure_monitor_metrics. + This function supports the option of enable_validation. When enabled, if both enable_azure_monitor_metrics and disable_azure_monitor_metrics are + specified, raise a MutuallyExclusiveArgumentError. + :return: bool + """ + # Read the original value passed by the command. + disable_azure_monitor_metrics = self.raw_param.get("disable_azuremonitormetrics") + if disable_azure_monitor_metrics and self._get_enable_azure_monitor_metrics(False): + raise MutuallyExclusiveArgumentError("Cannot specify --enable-azuremonitormetrics and --disable-azuremonitormetrics at the same time.") + return disable_azure_monitor_metrics + + def get_disable_azure_monitor_metrics(self) -> bool: + """Obtain the value of disable_azure_monitor_metrics. + This function will verify the parameter by default. If both enable_azure_monitor_metrics and disable_azure_monitor_metrics are specified, raise a + MutuallyExclusiveArgumentError. + :return: bool + """ + return self._get_disable_azure_monitor_metrics(enable_validation=True) + def get_enable_node_restriction(self) -> bool: """Obtain the value of enable_node_restriction. @@ -2807,6 +2867,47 @@ def update_defender(self, mc: ManagedCluster) -> ManagedCluster: return mc + def update_azure_monitor_profile(self, mc: ManagedCluster) -> ManagedCluster: + """Update azure monitor profile for the ManagedCluster object. + :return: the ManagedCluster object + """ + self._ensure_mc(mc) + + # read the original value passed by the command + ksm_metric_labels_allow_list = self.context.raw_param.get("ksm_metric_labels_allow_list") + ksm_metric_annotations_allow_list = self.context.raw_param.get("ksm_metric_annotations_allow_list") + + if ksm_metric_labels_allow_list is None: + ksm_metric_labels_allow_list = "" + if ksm_metric_annotations_allow_list is None: + ksm_metric_annotations_allow_list = "" + + if self.context.get_enable_azure_monitor_metrics(): + if mc.azure_monitor_profile is None: + mc.azure_monitor_profile = self.models.ManagedClusterAzureMonitorProfile() + mc.azure_monitor_profile.metrics = self.models.ManagedClusterAzureMonitorProfileMetrics(enabled=True) + mc.azure_monitor_profile.metrics.kube_state_metrics = self.models.ManagedClusterAzureMonitorProfileKubeStateMetrics( + metric_labels_allowlist=str(ksm_metric_labels_allow_list), + metric_annotations_allow_list=str(ksm_metric_annotations_allow_list)) + + if self.context.get_disable_azure_monitor_metrics(): + if mc.azure_monitor_profile is None: + mc.azure_monitor_profile = self.models.ManagedClusterAzureMonitorProfile() + mc.azure_monitor_profile.metrics = self.models.ManagedClusterAzureMonitorProfileMetrics(enabled=False) + + if (self.context.raw_param.get("enable_azuremonitormetrics") or self.context.raw_param.get("disable_azuremonitormetrics")): + ensure_azure_monitor_profile_prerequisites( + self.cmd, + self.client, + self.context.get_subscription_id(), + self.context.get_resource_group_name(), + self.context.get_name(), + self.context.get_location(), + self.__raw_parameters, + self.context.get_disable_azure_monitor_metrics()) + + return mc + def update_node_restriction(self, mc: ManagedCluster) -> ManagedCluster: """Update security profile nodeRestriction for the ManagedCluster object. @@ -2914,8 +3015,11 @@ def update_mc_profile_preview(self) -> ManagedCluster: mc = self.update_storage_profile(mc) # update workload auto scaler profile mc = self.update_workload_auto_scaler_profile(mc) + # update azure monitor metrics profile + mc = self.update_azure_monitor_profile(mc) # update vpa mc = self.update_vpa(mc) # update creation data mc = self.update_creation_data(mc) + return mc diff --git a/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_azuremonitormetrics.yaml b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_azuremonitormetrics.yaml new file mode 100644 index 0000000000..1b0ea452bc --- /dev/null +++ b/src/aks-preview/azext_aks_preview/tests/latest/recordings/test_aks_update_with_azuremonitormetrics.yaml @@ -0,0 +1,3822 @@ +interactions: +- request: + body: '{"location": "eastus2", "identity": {"type": "SystemAssigned"}, "properties": + {"kubernetesVersion": "", "dnsPrefix": "cliakstest-clitest000001-8ecadf", "agentPoolProfiles": + [{"count": 3, "vmSize": "standard_dc2s_v3", "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": [], "enableEncryptionAtHost": + false, "enableUltraSSD": false, "enableFIPS": false, "name": "nodepool1"}], + "linuxProfile": {"adminUsername": "azureuser", "ssh": {"publicKeys": [{"keyData": + "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\n"}]}}, "addonProfiles": {}, "enableRBAC": true, + "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": "kubenet", + "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": "10.0.0.10", + "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", "loadBalancerSku": + "standard"}, "disableLocalAccounts": false, "storageProfile": {}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + Content-Length: + - '1556' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Creating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Creating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"backendPoolType\": + \"nodeIPConfiguration\"\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"disableLocalAccounts\": false,\n \"securityProfile\": {},\n \"storageProfile\": + {\n \"diskCSIDriver\": {\n \"enabled\": true,\n \"version\": \"v1\"\n + \ },\n \"fileCSIDriver\": {\n \"enabled\": true\n },\n \"snapshotController\": + {\n \"enabled\": true\n }\n },\n \"oidcIssuerProfile\": {\n \"enabled\": + false\n },\n \"workloadAutoScalerProfile\": {}\n },\n \"identity\": + {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '3445' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:21:03 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 201 + message: Created +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:21:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:22:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:22:33 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:23:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:23:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:24:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:24:34 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/750bec09-2dd7-41f2-bc72-ddc5d85ced73?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"09ec0b75-d72d-f241-bc72-ddc5d85ced73\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-10-11T21:21:03.5039931Z\",\n \"endTime\": + \"2022-10-11T21:24:54.9787092Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:25:04 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks create + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --location --ssh-key-value --node-vm-size --enable-managed-identity + --output + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ],\n \"backendPoolType\": \"nodeIPConfiguration\"\n },\n + \ \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {}\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4098' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:25:05 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ],\n \"backendPoolType\": \"nodeIPConfiguration\"\n },\n + \ \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {}\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4098' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:25:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.check_azuremonitormetrics_profile + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-07-02-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ]\n },\n \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": + \"10.0.0.0/16\",\n \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": + \"172.17.0.1/16\",\n \"outboundType\": \"loadBalancer\",\n \"podCidrs\": + [\n \"10.244.0.0/16\"\n ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n + \ ],\n \"ipFamilies\": [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": + 100,\n \"identityProfile\": {\n \"kubeletidentity\": {\n \"resourceId\": + \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {}\n },\n \"identity\": {\n \"type\": \"SystemAssigned\",\n \"principalId\":\"00000000-0000-0000-0000-000000000001\",\n + \ \"tenantId\": \"72f988bf-86f1-41af-91ab-2d7cd011db47\"\n },\n \"sku\": + {\n \"name\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4051' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:25:07 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.get_mac_sub_list + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers?api-version=2019-08-01&$select=namespace,registrationstate + response: + body: + string: '{"value":[{"namespace":"Microsoft.ContainerService","registrationState":"Registered"},{"namespace":"Microsoft.OperationalInsights","registrationState":"Registered"},{"namespace":"Microsoft.OperationsManagement","registrationState":"Registered"},{"namespace":"Microsoft.ContainerRegistry","registrationState":"Registered"},{"namespace":"Microsoft.ClassicStorage","registrationState":"Registered"},{"namespace":"Microsoft.Advisor","registrationState":"Registered"},{"namespace":"Microsoft.NotificationHubs","registrationState":"Registered"},{"namespace":"Microsoft.Management","registrationState":"Registered"},{"namespace":"microsoft.visualstudio","registrationState":"Registered"},{"namespace":"Microsoft.ResourceHealth","registrationState":"Registered"},{"namespace":"Microsoft.Capacity","registrationState":"Registered"},{"namespace":"Microsoft.PolicyInsights","registrationState":"Registered"},{"namespace":"Microsoft.ApiManagement","registrationState":"Registered"},{"namespace":"Microsoft.EventHub","registrationState":"Registered"},{"namespace":"Microsoft.DocumentDB","registrationState":"Registered"},{"namespace":"Microsoft.Compute","registrationState":"Registered"},{"namespace":"Microsoft.ServiceBus","registrationState":"Registered"},{"namespace":"Microsoft.Authorization","registrationState":"Registered"},{"namespace":"Microsoft.Cache","registrationState":"Registered"},{"namespace":"Microsoft.DataLakeStore","registrationState":"Registered"},{"namespace":"Microsoft.Devices","registrationState":"Registered"},{"namespace":"Microsoft.Cdn","registrationState":"Registered"},{"namespace":"Microsoft.DataLakeAnalytics","registrationState":"Registered"},{"namespace":"Microsoft.AlertsManagement","registrationState":"Registered"},{"namespace":"Microsoft.Commerce","registrationState":"Registered"},{"namespace":"Microsoft.Relay","registrationState":"Registered"},{"namespace":"Microsoft.CognitiveServices","registrationState":"Registered"},{"namespace":"Microsoft.Databricks","registrationState":"Registered"},{"namespace":"Microsoft.Storage","registrationState":"Registered"},{"namespace":"Microsoft.Security","registrationState":"Registered"},{"namespace":"Microsoft.ContainerInstance","registrationState":"Registered"},{"namespace":"Microsoft.Network","registrationState":"Registered"},{"namespace":"Microsoft.DevTestLab","registrationState":"Registered"},{"namespace":"Microsoft.ManagedIdentity","registrationState":"Registered"},{"namespace":"Microsoft.MachineLearning","registrationState":"Registered"},{"namespace":"Microsoft.KeyVault","registrationState":"Registered"},{"namespace":"Microsoft.Search","registrationState":"Registered"},{"namespace":"Microsoft.DataMigration","registrationState":"Registered"},{"namespace":"microsoft.insights","registrationState":"Registered"},{"namespace":"Microsoft.ServiceFabric","registrationState":"Registered"},{"namespace":"Microsoft.Solutions","registrationState":"Registered"},{"namespace":"Microsoft.EventGrid","registrationState":"Registered"},{"namespace":"Microsoft.Logic","registrationState":"Registered"},{"namespace":"Microsoft.Web","registrationState":"Registered"},{"namespace":"Microsoft.ClassicNetwork","registrationState":"Registered"},{"namespace":"Microsoft.RecoveryServices","registrationState":"Registered"},{"namespace":"Microsoft.DBforPostgreSQL","registrationState":"Registered"},{"namespace":"Microsoft.Sql","registrationState":"Registered"},{"namespace":"Microsoft.DBforMySQL","registrationState":"Registered"},{"namespace":"Microsoft.Automation","registrationState":"Registered"},{"namespace":"Microsoft.StreamAnalytics","registrationState":"Registered"},{"namespace":"Microsoft.HDInsight","registrationState":"Registered"},{"namespace":"Microsoft.Maps","registrationState":"Registered"},{"namespace":"Microsoft.BotService","registrationState":"Registered"},{"namespace":"Microsoft.Kusto","registrationState":"Registered"},{"namespace":"Microsoft.MachineLearningServices","registrationState":"Registered"},{"namespace":"Microsoft.Media","registrationState":"Registered"},{"namespace":"Microsoft.Blueprint","registrationState":"Registered"},{"namespace":"Microsoft.HealthcareApis","registrationState":"Registered"},{"namespace":"Microsoft.Communication","registrationState":"Registered"},{"namespace":"Microsoft.Diagnostics","registrationState":"Registered"},{"namespace":"Microsoft.CloudTest","registrationState":"Registered"},{"namespace":"Microsoft.KubernetesConfiguration","registrationState":"Registered"},{"namespace":"Microsoft.AVS","registrationState":"Registered"},{"namespace":"Microsoft.DataProtection","registrationState":"Registered"},{"namespace":"Microsoft.StoragePool","registrationState":"Registered"},{"namespace":"Microsoft.LoadTestService","registrationState":"Registered"},{"namespace":"Microsoft.Monitor","registrationState":"Registered"},{"namespace":"Microsoft.RedHatOpenShift","registrationState":"Registered"},{"namespace":"Microsoft.MixedReality","registrationState":"Registered"},{"namespace":"Microsoft.StorageCache","registrationState":"Registered"},{"namespace":"Microsoft.AppPlatform","registrationState":"Registered"},{"namespace":"Microsoft.PowerBIDedicated","registrationState":"Registered"},{"namespace":"Microsoft.CustomProviders","registrationState":"Registered"},{"namespace":"Microsoft.DBforMariaDB","registrationState":"Registered"},{"namespace":"Microsoft.Maintenance","registrationState":"Registered"},{"namespace":"Microsoft.SecurityInsights","registrationState":"Registered"},{"namespace":"Microsoft.TimeSeriesInsights","registrationState":"Registered"},{"namespace":"Microsoft.DesktopVirtualization","registrationState":"Registered"},{"namespace":"Microsoft.ChangeAnalysis","registrationState":"Registered"},{"namespace":"Microsoft.ExtendedLocation","registrationState":"Registered"},{"namespace":"Microsoft.Notebooks","registrationState":"Registered"},{"namespace":"Microsoft.ServiceFabricMesh","registrationState":"Registered"},{"namespace":"Microsoft.ManagedServices","registrationState":"Registered"},{"namespace":"Microsoft.GuestConfiguration","registrationState":"Registered"},{"namespace":"Microsoft.AAD","registrationState":"Registered"},{"namespace":"Microsoft.ServiceLinker","registrationState":"Registered"},{"namespace":"Microsoft.Kubernetes","registrationState":"Registered"},{"namespace":"Microsoft.DevHub","registrationState":"Registered"},{"namespace":"Microsoft.Migrate","registrationState":"Registered"},{"namespace":"Microsoft.SqlVirtualMachine","registrationState":"Registered"},{"namespace":"Microsoft.App","registrationState":"Registered"},{"namespace":"Microsoft.WorkloadMonitor","registrationState":"Registered"},{"namespace":"Microsoft.Codespaces","registrationState":"Registered"},{"namespace":"Microsoft.CostManagementExports","registrationState":"Registered"},{"namespace":"Microsoft.Dashboard","registrationState":"Registered"},{"namespace":"Microsoft.SaaS","registrationState":"Registered"},{"namespace":"Microsoft.IoTSecurity","registrationState":"Registered"},{"namespace":"Microsoft.MarketplaceNotifications","registrationState":"Registered"},{"namespace":"Microsoft.DomainRegistration","registrationState":"Registered"},{"namespace":"Microsoft.VirtualMachineImages","registrationState":"Registered"},{"namespace":"Dell.Storage","registrationState":"NotRegistered"},{"namespace":"Dynatrace.Observability","registrationState":"NotRegistered"},{"namespace":"microsoft.aadiam","registrationState":"NotRegistered"},{"namespace":"Microsoft.Addons","registrationState":"NotRegistered"},{"namespace":"Microsoft.ADHybridHealthService","registrationState":"Registered"},{"namespace":"Microsoft.AgFoodPlatform","registrationState":"NotRegistered"},{"namespace":"Microsoft.AnalysisServices","registrationState":"NotRegistered"},{"namespace":"Microsoft.AnyBuild","registrationState":"NotRegistered"},{"namespace":"Microsoft.ApiSecurity","registrationState":"NotRegistered"},{"namespace":"Microsoft.AppAssessment","registrationState":"NotRegistered"},{"namespace":"Microsoft.AppComplianceAutomation","registrationState":"NotRegistered"},{"namespace":"Microsoft.AppConfiguration","registrationState":"NotRegistered"},{"namespace":"Microsoft.Attestation","registrationState":"NotRegistered"},{"namespace":"Microsoft.Automanage","registrationState":"NotRegistered"},{"namespace":"Microsoft.AutonomousDevelopmentPlatform","registrationState":"NotRegistered"},{"namespace":"Microsoft.AutonomousSystems","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureActiveDirectory","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureArcData","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureCIS","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureData","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzurePercept","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureScan","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureSphere","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureSphereGen2","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureSphereV2","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureStack","registrationState":"NotRegistered"},{"namespace":"Microsoft.AzureStackHCI","registrationState":"NotRegistered"},{"namespace":"Microsoft.BackupSolutions","registrationState":"NotRegistered"},{"namespace":"Microsoft.BareMetalInfrastructure","registrationState":"NotRegistered"},{"namespace":"Microsoft.Batch","registrationState":"NotRegistered"},{"namespace":"Microsoft.Billing","registrationState":"Registered"},{"namespace":"Microsoft.BillingBenefits","registrationState":"NotRegistered"},{"namespace":"Microsoft.Bing","registrationState":"NotRegistered"},{"namespace":"Microsoft.BlockchainTokens","registrationState":"NotRegistered"},{"namespace":"Microsoft.Cascade","registrationState":"NotRegistered"},{"namespace":"Microsoft.CertificateRegistration","registrationState":"NotRegistered"},{"namespace":"Microsoft.Chaos","registrationState":"NotRegistered"},{"namespace":"Microsoft.ClassicCompute","registrationState":"NotRegistered"},{"namespace":"Microsoft.ClassicInfrastructureMigrate","registrationState":"NotRegistered"},{"namespace":"Microsoft.ClassicSubscription","registrationState":"Registered"},{"namespace":"Microsoft.CodeSigning","registrationState":"NotRegistered"},{"namespace":"Microsoft.ConfidentialLedger","registrationState":"NotRegistered"},{"namespace":"Microsoft.Confluent","registrationState":"NotRegistered"},{"namespace":"Microsoft.ConnectedCache","registrationState":"NotRegistered"},{"namespace":"microsoft.connectedopenstack","registrationState":"NotRegistered"},{"namespace":"Microsoft.ConnectedVehicle","registrationState":"NotRegistered"},{"namespace":"Microsoft.ConnectedVMwarevSphere","registrationState":"NotRegistered"},{"namespace":"Microsoft.Consumption","registrationState":"Registered"},{"namespace":"Microsoft.CostManagement","registrationState":"Registered"},{"namespace":"Microsoft.CustomerLockbox","registrationState":"NotRegistered"},{"namespace":"Microsoft.D365CustomerInsights","registrationState":"NotRegistered"},{"namespace":"Microsoft.DataBox","registrationState":"NotRegistered"},{"namespace":"Microsoft.DataBoxEdge","registrationState":"NotRegistered"},{"namespace":"Microsoft.DataCatalog","registrationState":"NotRegistered"},{"namespace":"Microsoft.DataCollaboration","registrationState":"NotRegistered"},{"namespace":"Microsoft.Datadog","registrationState":"NotRegistered"},{"namespace":"Microsoft.DataFactory","registrationState":"NotRegistered"},{"namespace":"Microsoft.DataReplication","registrationState":"NotRegistered"},{"namespace":"Microsoft.DataShare","registrationState":"NotRegistered"},{"namespace":"Microsoft.DelegatedNetwork","registrationState":"NotRegistered"},{"namespace":"Microsoft.DeploymentManager","registrationState":"NotRegistered"},{"namespace":"Microsoft.DevAI","registrationState":"NotRegistered"},{"namespace":"Microsoft.DevCenter","registrationState":"NotRegistered"},{"namespace":"Microsoft.DeviceUpdate","registrationState":"NotRegistered"},{"namespace":"Microsoft.DevOps","registrationState":"NotRegistered"},{"namespace":"Microsoft.DigitalTwins","registrationState":"NotRegistered"},{"namespace":"Microsoft.Easm","registrationState":"NotRegistered"},{"namespace":"Microsoft.EdgeOrder","registrationState":"NotRegistered"},{"namespace":"Microsoft.EdgeZones","registrationState":"NotRegistered"},{"namespace":"Microsoft.Elastic","registrationState":"NotRegistered"},{"namespace":"Microsoft.ElasticSan","registrationState":"NotRegistered"},{"namespace":"Microsoft.Falcon","registrationState":"NotRegistered"},{"namespace":"Microsoft.Features","registrationState":"Registered"},{"namespace":"Microsoft.Fidalgo","registrationState":"NotRegistered"},{"namespace":"Microsoft.FluidRelay","registrationState":"NotRegistered"},{"namespace":"Microsoft.HanaOnAzure","registrationState":"NotRegistered"},{"namespace":"Microsoft.HardwareSecurityModules","registrationState":"NotRegistered"},{"namespace":"Microsoft.HealthBot","registrationState":"NotRegistered"},{"namespace":"Microsoft.HpcWorkbench","registrationState":"NotRegistered"},{"namespace":"Microsoft.HybridCompute","registrationState":"NotRegistered"},{"namespace":"Microsoft.HybridConnectivity","registrationState":"NotRegistered"},{"namespace":"Microsoft.HybridContainerService","registrationState":"NotRegistered"},{"namespace":"Microsoft.HybridData","registrationState":"NotRegistered"},{"namespace":"Microsoft.HybridNetwork","registrationState":"NotRegistered"},{"namespace":"Microsoft.ImportExport","registrationState":"NotRegistered"},{"namespace":"Microsoft.IntelligentITDigitalTwin","registrationState":"NotRegistered"},{"namespace":"Microsoft.IoTCentral","registrationState":"NotRegistered"},{"namespace":"Microsoft.IoTFirmwareDefense","registrationState":"NotRegistered"},{"namespace":"Microsoft.LabServices","registrationState":"NotRegistered"},{"namespace":"Microsoft.Logz","registrationState":"NotRegistered"},{"namespace":"Microsoft.ManagedNetworkFabric","registrationState":"NotRegistered"},{"namespace":"Microsoft.Marketplace","registrationState":"NotRegistered"},{"namespace":"Microsoft.MarketplaceOrdering","registrationState":"Registered"},{"namespace":"Microsoft.Metaverse","registrationState":"NotRegistered"},{"namespace":"Microsoft.Mission","registrationState":"NotRegistered"},{"namespace":"Microsoft.MobileNetwork","registrationState":"NotRegistered"},{"namespace":"Microsoft.NetApp","registrationState":"NotRegistered"},{"namespace":"Microsoft.NetworkAnalytics","registrationState":"NotRegistered"},{"namespace":"Microsoft.NetworkCloud","registrationState":"NotRegistered"},{"namespace":"Microsoft.NetworkFunction","registrationState":"NotRegistered"},{"namespace":"Microsoft.ObjectStore","registrationState":"NotRegistered"},{"namespace":"Microsoft.OffAzure","registrationState":"NotRegistered"},{"namespace":"Microsoft.OpenEnergyPlatform","registrationState":"NotRegistered"},{"namespace":"Microsoft.OpenLogisticsPlatform","registrationState":"NotRegistered"},{"namespace":"Microsoft.Orbital","registrationState":"NotRegistered"},{"namespace":"Microsoft.Peering","registrationState":"NotRegistered"},{"namespace":"Microsoft.Pki","registrationState":"NotRegistered"},{"namespace":"Microsoft.PlayFab","registrationState":"NotRegistered"},{"namespace":"Microsoft.Portal","registrationState":"Registered"},{"namespace":"Microsoft.PowerBI","registrationState":"NotRegistered"},{"namespace":"Microsoft.PowerPlatform","registrationState":"NotRegistered"},{"namespace":"Microsoft.ProviderHub","registrationState":"NotRegistered"},{"namespace":"Microsoft.Purview","registrationState":"NotRegistered"},{"namespace":"Microsoft.Quantum","registrationState":"NotRegistered"},{"namespace":"Microsoft.Quota","registrationState":"NotRegistered"},{"namespace":"Microsoft.RecommendationsService","registrationState":"NotRegistered"},{"namespace":"Microsoft.ResourceConnector","registrationState":"NotRegistered"},{"namespace":"Microsoft.ResourceGraph","registrationState":"Registered"},{"namespace":"Microsoft.Resources","registrationState":"Registered"},{"namespace":"Microsoft.Scom","registrationState":"NotRegistered"},{"namespace":"Microsoft.ScVmm","registrationState":"NotRegistered"},{"namespace":"Microsoft.SecurityDetonation","registrationState":"NotRegistered"},{"namespace":"Microsoft.SecurityDevOps","registrationState":"NotRegistered"},{"namespace":"Microsoft.SerialConsole","registrationState":"Registered"},{"namespace":"Microsoft.ServiceNetworking","registrationState":"NotRegistered"},{"namespace":"Microsoft.ServicesHub","registrationState":"NotRegistered"},{"namespace":"Microsoft.SignalRService","registrationState":"NotRegistered"},{"namespace":"Microsoft.Singularity","registrationState":"NotRegistered"},{"namespace":"Microsoft.SoftwarePlan","registrationState":"NotRegistered"},{"namespace":"Microsoft.StorageMover","registrationState":"NotRegistered"},{"namespace":"Microsoft.StorageSync","registrationState":"NotRegistered"},{"namespace":"Microsoft.StorSimple","registrationState":"NotRegistered"},{"namespace":"Microsoft.Subscription","registrationState":"NotRegistered"},{"namespace":"microsoft.support","registrationState":"Registered"},{"namespace":"Microsoft.Synapse","registrationState":"NotRegistered"},{"namespace":"microsoft.syntex","registrationState":"NotRegistered"},{"namespace":"Microsoft.TestBase","registrationState":"NotRegistered"},{"namespace":"Microsoft.UsageBilling","registrationState":"NotRegistered"},{"namespace":"Microsoft.VideoIndexer","registrationState":"NotRegistered"},{"namespace":"Microsoft.VMware","registrationState":"NotRegistered"},{"namespace":"Microsoft.VMwareCloudSimple","registrationState":"NotRegistered"},{"namespace":"Microsoft.VSOnline","registrationState":"NotRegistered"},{"namespace":"Microsoft.WindowsESU","registrationState":"NotRegistered"},{"namespace":"Microsoft.WindowsIoT","registrationState":"NotRegistered"},{"namespace":"Microsoft.WorkloadBuilder","registrationState":"NotRegistered"},{"namespace":"Microsoft.Workloads","registrationState":"NotRegistered"},{"namespace":"NewRelic.Observability","registrationState":"NotRegistered"},{"namespace":"NGINX.NGINXPLUS","registrationState":"NotRegistered"},{"namespace":"PaloAltoNetworks.Cloudngfw","registrationState":"NotRegistered"},{"namespace":"Qumulo.QaaS","registrationState":"NotRegistered"},{"namespace":"Qumulo.Storage","registrationState":"NotRegistered"},{"namespace":"Wandisco.Fusion","registrationState":"NotRegistered"},{"namespace":"Microsoft.ProjectArcadia","registrationState":"NotRegistered"}]}' + headers: + cache-control: + - no-cache + content-length: + - '18680' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:16 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.register_monitor_rp + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.monitor/register?api-version=2019-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Monitor","namespace":"Microsoft.Monitor","authorizations":[{"applicationId":"be14bf7e-8ab4-49b0-9dc6-a0eddd6fa73e","roleDefinitionId":"803a038d-eff1-4489-a0c2-dbc204ebac3c"},{"applicationId":"e158b4a5-21ab-442e-ae73-2e19f4e7d763","roleDefinitionId":"e46476d4-e741-4936-a72b-b768349eed70","managedByRoleDefinitionId":"50cd84fb-5e4c-4801-a8d2-4089ab77e6cd"}],"resourceTypes":[{"resourceType":"accounts","locations":["East + US","Central India","Central US","East US 2","North Europe","South Central + US","Southeast Asia","UK South","West Europe","West US","West US 2","East + US 2 EUAP","Central US EUAP"],"apiVersions":["2021-06-03-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"operations","locations":["North + Central US","East US","Australia Central","Brazil South","Central India","Central + US","East US 2","North Europe","South Central US","Southeast Asia","UK South","West + Europe","West US","West US 2","East US 2 EUAP","Central US EUAP"],"apiVersions":["2021-06-03-preview","2021-06-01-preview"],"defaultApiVersion":"2021-06-01-preview","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '1308' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:19 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.register_dashboard_rp + method: POST + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.dashboard/register?api-version=2019-08-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Dashboard","namespace":"Microsoft.Dashboard","authorizations":[{"applicationId":"ce34e7e5-485f-4d76-964f-b3d2b16d1e4f","roleDefinitionId":"996b8381-eac0-46be-8daf-9619bafd1073"},{"applicationId":"6f2d169c-08f3-4a4c-a982-bcaf2d038c45"}],"resourceTypes":[{"resourceType":"locations","locations":[],"apiVersions":["2022-10-01-preview","2022-08-01","2022-05-01-preview","2021-09-01-preview"],"capabilities":"None"},{"resourceType":"checkNameAvailability","locations":[],"apiVersions":["2022-10-01-preview","2022-08-01","2022-05-01-preview","2021-09-01-preview"],"capabilities":"None"},{"resourceType":"locations/operationStatuses","locations":["East + US 2 EUAP","Central US EUAP","South Central US","West Europe","East US","East + US 2","West Central US","Australia East","Sweden Central","West US 3","East + Asia"],"apiVersions":["2022-10-01-preview","2022-08-01","2022-05-01-preview","2021-09-01-preview"],"capabilities":"None"},{"resourceType":"grafana","locations":["South + Central US","West Central US","West Europe","East US","Australia East","Sweden + Central","West US 3","East US 2 EUAP","Central US EUAP"],"apiVersions":["2022-10-01-preview","2022-08-01","2022-05-01-preview","2021-09-01-preview"],"capabilities":"SystemAssignedResourceIdentity, + SupportsTags, SupportsLocation"},{"resourceType":"operations","locations":[],"apiVersions":["2022-10-01-preview","2022-08-01","2022-05-01-preview","2021-09-01-preview"],"capabilities":"None"},{"resourceType":"locations/checkNameAvailability","locations":[],"apiVersions":["2022-10-01-preview","2022-08-01","2022-05-01-preview","2021-09-01-preview"],"capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '1773' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1199' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: HEAD + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/DefaultResourceGroup-EUS2?api-version=2021-04-01 + response: + body: + string: '' + headers: + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 11 Oct 2022 21:25:21 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + status: + code: 204 + message: No Content +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/DefaultResourceGroup-EUS2/providers/microsoft.monitor/accounts/DefaultAzureMonitorWorkspace-EUS2?api-version=2021-06-03-preview + response: + body: + string: '{"properties":{"accountId":"3b52afe5-bc6d-4b52-95aa-1d44c01ce7e8","metrics":{"prometheusQueryEndpoint":"https://defaultazuremonitorworkspace-eus2-kkkc.eastus2.prometheus.monitor.azure.com","internalId":"mac_3b52afe5-bc6d-4b52-95aa-1d44c01ce7e8"},"provisioningState":"Succeeded","defaultIngestionSettings":{"dataCollectionRuleResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MA_defaultazuremonitorworkspace-eus2_eastus2_managed/providers/Microsoft.Insights/dataCollectionRules/defaultazuremonitorworkspace-eus2","dataCollectionEndpointResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MA_defaultazuremonitorworkspace-eus2_eastus2_managed/providers/Microsoft.Insights/dataCollectionEndpoints/defaultazuremonitorworkspace-eus2"}},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2","name":"DefaultAzureMonitorWorkspace-EUS2","type":"Microsoft.Monitor/accounts","etag":"\"3d00a9b6-0000-0200-0000-63450eef0000\"","systemData":{"createdBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","createdByType":"Application","createdAt":"2022-10-11T06:36:08.6915913Z","lastModifiedBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","lastModifiedByType":"Application","lastModifiedAt":"2022-10-11T06:36:08.6915913Z"}}' + headers: + api-supported-versions: + - 2021-06-01-preview, 2021-06-03-preview + cache-control: + - no-cache + content-length: + - '1387' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:74683e7d-3ee8-4856-bfe7-e63c83b6737e + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-resource/21.1.0b1 Python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2?api-version=2021-06-03-preview + response: + body: + string: '{"properties":{"accountId":"3b52afe5-bc6d-4b52-95aa-1d44c01ce7e8","metrics":{"prometheusQueryEndpoint":"https://defaultazuremonitorworkspace-eus2-kkkc.eastus2.prometheus.monitor.azure.com","internalId":"mac_3b52afe5-bc6d-4b52-95aa-1d44c01ce7e8"},"provisioningState":"Succeeded","defaultIngestionSettings":{"dataCollectionRuleResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MA_defaultazuremonitorworkspace-eus2_eastus2_managed/providers/Microsoft.Insights/dataCollectionRules/defaultazuremonitorworkspace-eus2","dataCollectionEndpointResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MA_defaultazuremonitorworkspace-eus2_eastus2_managed/providers/Microsoft.Insights/dataCollectionEndpoints/defaultazuremonitorworkspace-eus2"}},"location":"eastus2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2","name":"DefaultAzureMonitorWorkspace-EUS2","type":"Microsoft.Monitor/accounts","etag":"\"3d00a9b6-0000-0200-0000-63450eef0000\"","systemData":{"createdBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","createdByType":"Application","createdAt":"2022-10-11T06:36:08.6915913Z","lastModifiedBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","lastModifiedByType":"Application","lastModifiedAt":"2022-10-11T06:36:08.6915913Z"}}' + headers: + api-supported-versions: + - 2021-06-01-preview, 2021-06-03-preview + cache-control: + - no-cache + content-length: + - '1387' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:22 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:74683e7d-3ee8-4856-bfe7-e63c83b6737e + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.get_mac_region_and_check_support.mac_subscription_location_support_check + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/locations?api-version=2019-11-01 + response: + body: + string: "{\"value\":[{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\",\"name\":\"eastus\",\"displayName\":\"East + US\",\"regionalDisplayName\":\"(US) East US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"westus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\",\"name\":\"eastus2\",\"displayName\":\"East + US 2\",\"regionalDisplayName\":\"(US) East US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"centralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\",\"name\":\"southcentralus\",\"displayName\":\"South + Central US\",\"regionalDisplayName\":\"(US) South Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"northcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\",\"name\":\"westus2\",\"displayName\":\"West + US 2\",\"regionalDisplayName\":\"(US) West US 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-119.852\",\"latitude\":\"47.233\",\"physicalLocation\":\"Washington\",\"pairedRegion\":[{\"name\":\"westcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus3\",\"name\":\"westus3\",\"displayName\":\"West + US 3\",\"regionalDisplayName\":\"(US) West US 3\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-112.074036\",\"latitude\":\"33.448376\",\"physicalLocation\":\"Phoenix\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\",\"name\":\"australiaeast\",\"displayName\":\"Australia + East\",\"regionalDisplayName\":\"(Asia Pacific) Australia East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"151.2094\",\"latitude\":\"-33.86\",\"physicalLocation\":\"New + South Wales\",\"pairedRegion\":[{\"name\":\"australiasoutheast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\",\"name\":\"southeastasia\",\"displayName\":\"Southeast + Asia\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"103.833\",\"latitude\":\"1.283\",\"physicalLocation\":\"Singapore\",\"pairedRegion\":[{\"name\":\"eastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\",\"name\":\"northeurope\",\"displayName\":\"North + Europe\",\"regionalDisplayName\":\"(Europe) North Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-6.2597\",\"latitude\":\"53.3478\",\"physicalLocation\":\"Ireland\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\",\"name\":\"swedencentral\",\"displayName\":\"Sweden + Central\",\"regionalDisplayName\":\"(Europe) Sweden Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"17.14127\",\"latitude\":\"60.67488\",\"physicalLocation\":\"G\xE4vle\",\"pairedRegion\":[{\"name\":\"swedensouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\",\"name\":\"uksouth\",\"displayName\":\"UK + South\",\"regionalDisplayName\":\"(Europe) UK South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"-0.799\",\"latitude\":\"50.941\",\"physicalLocation\":\"London\",\"pairedRegion\":[{\"name\":\"ukwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\",\"name\":\"westeurope\",\"displayName\":\"West + Europe\",\"regionalDisplayName\":\"(Europe) West Europe\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"4.9\",\"latitude\":\"52.3667\",\"physicalLocation\":\"Netherlands\",\"pairedRegion\":[{\"name\":\"northeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralus\",\"name\":\"centralus\",\"displayName\":\"Central + US\",\"regionalDisplayName\":\"(US) Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"physicalLocation\":\"Iowa\",\"pairedRegion\":[{\"name\":\"eastus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\",\"name\":\"southafricanorth\",\"displayName\":\"South + Africa North\",\"regionalDisplayName\":\"(Africa) South Africa North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Africa\",\"longitude\":\"28.218370\",\"latitude\":\"-25.731340\",\"physicalLocation\":\"Johannesburg\",\"pairedRegion\":[{\"name\":\"southafricawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\",\"name\":\"centralindia\",\"displayName\":\"Central + India\",\"regionalDisplayName\":\"(Asia Pacific) Central India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"73.9197\",\"latitude\":\"18.5822\",\"physicalLocation\":\"Pune\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasia\",\"name\":\"eastasia\",\"displayName\":\"East + Asia\",\"regionalDisplayName\":\"(Asia Pacific) East Asia\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"114.188\",\"latitude\":\"22.267\",\"physicalLocation\":\"Hong + Kong\",\"pairedRegion\":[{\"name\":\"southeastasia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\",\"name\":\"japaneast\",\"displayName\":\"Japan + East\",\"regionalDisplayName\":\"(Asia Pacific) Japan East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"139.77\",\"latitude\":\"35.68\",\"physicalLocation\":\"Tokyo, + Saitama\",\"pairedRegion\":[{\"name\":\"japanwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\",\"name\":\"koreacentral\",\"displayName\":\"Korea + Central\",\"regionalDisplayName\":\"(Asia Pacific) Korea Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"126.9780\",\"latitude\":\"37.5665\",\"physicalLocation\":\"Seoul\",\"pairedRegion\":[{\"name\":\"koreasouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\",\"name\":\"canadacentral\",\"displayName\":\"Canada + Central\",\"regionalDisplayName\":\"(Canada) Canada Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Canada\",\"longitude\":\"-79.383\",\"latitude\":\"43.653\",\"physicalLocation\":\"Toronto\",\"pairedRegion\":[{\"name\":\"canadaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\",\"name\":\"francecentral\",\"displayName\":\"France + Central\",\"regionalDisplayName\":\"(Europe) France Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.3730\",\"latitude\":\"46.3772\",\"physicalLocation\":\"Paris\",\"pairedRegion\":[{\"name\":\"francesouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\",\"name\":\"germanywestcentral\",\"displayName\":\"Germany + West Central\",\"regionalDisplayName\":\"(Europe) Germany West Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.682127\",\"latitude\":\"50.110924\",\"physicalLocation\":\"Frankfurt\",\"pairedRegion\":[{\"name\":\"germanynorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\",\"name\":\"norwayeast\",\"displayName\":\"Norway + East\",\"regionalDisplayName\":\"(Europe) Norway East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"10.752245\",\"latitude\":\"59.913868\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwaywest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\",\"name\":\"switzerlandnorth\",\"displayName\":\"Switzerland + North\",\"regionalDisplayName\":\"(Europe) Switzerland North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.564572\",\"latitude\":\"47.451542\",\"physicalLocation\":\"Zurich\",\"pairedRegion\":[{\"name\":\"switzerlandwest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\",\"name\":\"uaenorth\",\"displayName\":\"UAE + North\",\"regionalDisplayName\":\"(Middle East) UAE North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"55.316666\",\"latitude\":\"25.266666\",\"physicalLocation\":\"Dubai\",\"pairedRegion\":[{\"name\":\"uaecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\",\"name\":\"brazilsouth\",\"displayName\":\"Brazil + South\",\"regionalDisplayName\":\"(South America) Brazil South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"South + America\",\"longitude\":\"-46.633\",\"latitude\":\"-23.55\",\"physicalLocation\":\"Sao + Paulo State\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\",\"name\":\"eastus2euap\",\"displayName\":\"East + US 2 EUAP\",\"regionalDisplayName\":\"(US) East US 2 EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"US\",\"longitude\":\"-78.3889\",\"latitude\":\"36.6681\",\"pairedRegion\":[{\"name\":\"centraluseuap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/qatarcentral\",\"name\":\"qatarcentral\",\"displayName\":\"Qatar + Central\",\"regionalDisplayName\":\"(Middle East) Qatar Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Recommended\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"51.439327\",\"latitude\":\"25.551462\",\"physicalLocation\":\"Doha\",\"pairedRegion\":[{\"name\":\"westeurope\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westeurope\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralusstage\",\"name\":\"centralusstage\",\"displayName\":\"Central + US (Stage)\",\"regionalDisplayName\":\"(US) Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstage\",\"name\":\"eastusstage\",\"displayName\":\"East + US (Stage)\",\"regionalDisplayName\":\"(US) East US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2stage\",\"name\":\"eastus2stage\",\"displayName\":\"East + US 2 (Stage)\",\"regionalDisplayName\":\"(US) East US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralusstage\",\"name\":\"northcentralusstage\",\"displayName\":\"North + Central US (Stage)\",\"regionalDisplayName\":\"(US) North Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstage\",\"name\":\"southcentralusstage\",\"displayName\":\"South + Central US (Stage)\",\"regionalDisplayName\":\"(US) South Central US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westusstage\",\"name\":\"westusstage\",\"displayName\":\"West + US (Stage)\",\"regionalDisplayName\":\"(US) West US (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2stage\",\"name\":\"westus2stage\",\"displayName\":\"West + US 2 (Stage)\",\"regionalDisplayName\":\"(US) West US 2 (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asia\",\"name\":\"asia\",\"displayName\":\"Asia\",\"regionalDisplayName\":\"Asia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/asiapacific\",\"name\":\"asiapacific\",\"displayName\":\"Asia + Pacific\",\"regionalDisplayName\":\"Asia Pacific\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australia\",\"name\":\"australia\",\"displayName\":\"Australia\",\"regionalDisplayName\":\"Australia\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazil\",\"name\":\"brazil\",\"displayName\":\"Brazil\",\"regionalDisplayName\":\"Brazil\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canada\",\"name\":\"canada\",\"displayName\":\"Canada\",\"regionalDisplayName\":\"Canada\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/europe\",\"name\":\"europe\",\"displayName\":\"Europe\",\"regionalDisplayName\":\"Europe\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/france\",\"name\":\"france\",\"displayName\":\"France\",\"regionalDisplayName\":\"France\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germany\",\"name\":\"germany\",\"displayName\":\"Germany\",\"regionalDisplayName\":\"Germany\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/global\",\"name\":\"global\",\"displayName\":\"Global\",\"regionalDisplayName\":\"Global\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/india\",\"name\":\"india\",\"displayName\":\"India\",\"regionalDisplayName\":\"India\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japan\",\"name\":\"japan\",\"displayName\":\"Japan\",\"regionalDisplayName\":\"Japan\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/korea\",\"name\":\"korea\",\"displayName\":\"Korea\",\"regionalDisplayName\":\"Korea\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norway\",\"name\":\"norway\",\"displayName\":\"Norway\",\"regionalDisplayName\":\"Norway\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/singapore\",\"name\":\"singapore\",\"displayName\":\"Singapore\",\"regionalDisplayName\":\"Singapore\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafrica\",\"name\":\"southafrica\",\"displayName\":\"South + Africa\",\"regionalDisplayName\":\"South Africa\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerland\",\"name\":\"switzerland\",\"displayName\":\"Switzerland\",\"regionalDisplayName\":\"Switzerland\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uae\",\"name\":\"uae\",\"displayName\":\"United + Arab Emirates\",\"regionalDisplayName\":\"United Arab Emirates\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uk\",\"name\":\"uk\",\"displayName\":\"United + Kingdom\",\"regionalDisplayName\":\"United Kingdom\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstates\",\"name\":\"unitedstates\",\"displayName\":\"United + States\",\"regionalDisplayName\":\"United States\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/unitedstateseuap\",\"name\":\"unitedstateseuap\",\"displayName\":\"United + States EUAP\",\"regionalDisplayName\":\"United States EUAP\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastasiastage\",\"name\":\"eastasiastage\",\"displayName\":\"East + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) East Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southeastasiastage\",\"name\":\"southeastasiastage\",\"displayName\":\"Southeast + Asia (Stage)\",\"regionalDisplayName\":\"(Asia Pacific) Southeast Asia (Stage)\",\"metadata\":{\"regionType\":\"Logical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\"}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\",\"name\":\"eastusstg\",\"displayName\":\"East + US STG\",\"regionalDisplayName\":\"(US) East US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-79.8164\",\"latitude\":\"37.3719\",\"physicalLocation\":\"Virginia\",\"pairedRegion\":[{\"name\":\"southcentralusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralusstg\",\"name\":\"southcentralusstg\",\"displayName\":\"South + Central US STG\",\"regionalDisplayName\":\"(US) South Central US STG\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-98.5\",\"latitude\":\"29.4167\",\"physicalLocation\":\"Texas\",\"pairedRegion\":[{\"name\":\"eastusstg\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusstg\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/northcentralus\",\"name\":\"northcentralus\",\"displayName\":\"North + Central US\",\"regionalDisplayName\":\"(US) North Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-87.6278\",\"latitude\":\"41.8819\",\"physicalLocation\":\"Illinois\",\"pairedRegion\":[{\"name\":\"southcentralus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southcentralus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus\",\"name\":\"westus\",\"displayName\":\"West + US\",\"regionalDisplayName\":\"(US) West US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-122.417\",\"latitude\":\"37.783\",\"physicalLocation\":\"California\",\"pairedRegion\":[{\"name\":\"eastus\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\",\"name\":\"jioindiawest\",\"displayName\":\"Jio + India West\",\"regionalDisplayName\":\"(Asia Pacific) Jio India West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"70.05773\",\"latitude\":\"22.470701\",\"physicalLocation\":\"Jamnagar\",\"pairedRegion\":[{\"name\":\"jioindiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centraluseuap\",\"name\":\"centraluseuap\",\"displayName\":\"Central + US EUAP\",\"regionalDisplayName\":\"(US) Central US EUAP\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-93.6208\",\"latitude\":\"41.5908\",\"pairedRegion\":[{\"name\":\"eastus2euap\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastus2euap\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westcentralus\",\"name\":\"westcentralus\",\"displayName\":\"West + Central US\",\"regionalDisplayName\":\"(US) West Central US\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"US\",\"longitude\":\"-110.234\",\"latitude\":\"40.890\",\"physicalLocation\":\"Wyoming\",\"pairedRegion\":[{\"name\":\"westus2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westus2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricawest\",\"name\":\"southafricawest\",\"displayName\":\"South + Africa West\",\"regionalDisplayName\":\"(Africa) South Africa West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Africa\",\"longitude\":\"18.843266\",\"latitude\":\"-34.075691\",\"physicalLocation\":\"Cape + Town\",\"pairedRegion\":[{\"name\":\"southafricanorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southafricanorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\",\"name\":\"australiacentral\",\"displayName\":\"Australia + Central\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\",\"name\":\"australiacentral2\",\"displayName\":\"Australia + Central 2\",\"regionalDisplayName\":\"(Asia Pacific) Australia Central 2\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"149.1244\",\"latitude\":\"-35.3075\",\"physicalLocation\":\"Canberra\",\"pairedRegion\":[{\"name\":\"australiacentral2\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiacentral2\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiasoutheast\",\"name\":\"australiasoutheast\",\"displayName\":\"Australia + Southeast\",\"regionalDisplayName\":\"(Asia Pacific) Australia Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"144.9631\",\"latitude\":\"-37.8136\",\"physicalLocation\":\"Victoria\",\"pairedRegion\":[{\"name\":\"australiaeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/australiaeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japanwest\",\"name\":\"japanwest\",\"displayName\":\"Japan + West\",\"regionalDisplayName\":\"(Asia Pacific) Japan West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"135.5022\",\"latitude\":\"34.6939\",\"physicalLocation\":\"Osaka\",\"pairedRegion\":[{\"name\":\"japaneast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/japaneast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiacentral\",\"name\":\"jioindiacentral\",\"displayName\":\"Jio + India Central\",\"regionalDisplayName\":\"(Asia Pacific) Jio India Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"79.08886\",\"latitude\":\"21.146633\",\"physicalLocation\":\"Nagpur\",\"pairedRegion\":[{\"name\":\"jioindiawest\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/jioindiawest\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreasouth\",\"name\":\"koreasouth\",\"displayName\":\"Korea + South\",\"regionalDisplayName\":\"(Asia Pacific) Korea South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"129.0756\",\"latitude\":\"35.1796\",\"physicalLocation\":\"Busan\",\"pairedRegion\":[{\"name\":\"koreacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/koreacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\",\"name\":\"southindia\",\"displayName\":\"South + India\",\"regionalDisplayName\":\"(Asia Pacific) South India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"80.1636\",\"latitude\":\"12.9822\",\"physicalLocation\":\"Chennai\",\"pairedRegion\":[{\"name\":\"centralindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/centralindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/westindia\",\"name\":\"westindia\",\"displayName\":\"West + India\",\"regionalDisplayName\":\"(Asia Pacific) West India\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Asia + Pacific\",\"longitude\":\"72.868\",\"latitude\":\"19.088\",\"physicalLocation\":\"Mumbai\",\"pairedRegion\":[{\"name\":\"southindia\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/southindia\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadaeast\",\"name\":\"canadaeast\",\"displayName\":\"Canada + East\",\"regionalDisplayName\":\"(Canada) Canada East\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Canada\",\"longitude\":\"-71.217\",\"latitude\":\"46.817\",\"physicalLocation\":\"Quebec\",\"pairedRegion\":[{\"name\":\"canadacentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/canadacentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francesouth\",\"name\":\"francesouth\",\"displayName\":\"France + South\",\"regionalDisplayName\":\"(Europe) France South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"2.1972\",\"latitude\":\"43.8345\",\"physicalLocation\":\"Marseille\",\"pairedRegion\":[{\"name\":\"francecentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/francecentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanynorth\",\"name\":\"germanynorth\",\"displayName\":\"Germany + North\",\"regionalDisplayName\":\"(Europe) Germany North\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"8.806422\",\"latitude\":\"53.073635\",\"physicalLocation\":\"Berlin\",\"pairedRegion\":[{\"name\":\"germanywestcentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/germanywestcentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwaywest\",\"name\":\"norwaywest\",\"displayName\":\"Norway + West\",\"regionalDisplayName\":\"(Europe) Norway West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"5.733107\",\"latitude\":\"58.969975\",\"physicalLocation\":\"Norway\",\"pairedRegion\":[{\"name\":\"norwayeast\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/norwayeast\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedensouth\",\"name\":\"swedensouth\",\"displayName\":\"Sweden + South\",\"regionalDisplayName\":\"(Europe) Sweden South\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"13.0007\",\"latitude\":\"55.6059\",\"physicalLocation\":\"Malmo\",\"pairedRegion\":[{\"name\":\"swedencentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandwest\",\"name\":\"switzerlandwest\",\"displayName\":\"Switzerland + West\",\"regionalDisplayName\":\"(Europe) Switzerland West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"6.143158\",\"latitude\":\"46.204391\",\"physicalLocation\":\"Geneva\",\"pairedRegion\":[{\"name\":\"switzerlandnorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/switzerlandnorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/ukwest\",\"name\":\"ukwest\",\"displayName\":\"UK + West\",\"regionalDisplayName\":\"(Europe) UK West\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"-3.084\",\"latitude\":\"53.427\",\"physicalLocation\":\"Cardiff\",\"pairedRegion\":[{\"name\":\"uksouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uksouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaecentral\",\"name\":\"uaecentral\",\"displayName\":\"UAE + Central\",\"regionalDisplayName\":\"(Middle East) UAE Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"54.366669\",\"latitude\":\"24.466667\",\"physicalLocation\":\"Abu + Dhabi\",\"pairedRegion\":[{\"name\":\"uaenorth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/uaenorth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsoutheast\",\"name\":\"brazilsoutheast\",\"displayName\":\"Brazil + Southeast\",\"regionalDisplayName\":\"(South America) Brazil Southeast\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Rio\",\"pairedRegion\":[{\"name\":\"brazilsouth\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/brazilsouth\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv\",\"name\":\"eastusslv\",\"displayName\":\"East + US SLV\",\"regionalDisplayName\":\"(South America) East US SLV\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"South + America\",\"longitude\":\"-43.2075\",\"latitude\":\"-22.90278\",\"physicalLocation\":\"Silverstone\",\"pairedRegion\":[{\"name\":\"eastusslv\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/eastusslv\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/polandcentral\",\"name\":\"polandcentral\",\"displayName\":\"Poland + Central\",\"regionalDisplayName\":\"(Europe) Poland Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Europe\",\"longitude\":\"14.6512702\",\"latitude\":\"51.8685079\",\"physicalLocation\":\"Warsaw\",\"pairedRegion\":[{\"name\":\"swedencentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\"}]}},{\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/israelcentral\",\"name\":\"israelcentral\",\"displayName\":\"Israel + Central\",\"regionalDisplayName\":\"(Middle East) Israel Central\",\"metadata\":{\"regionType\":\"Physical\",\"regionCategory\":\"Other\",\"geographyGroup\":\"Middle + East\",\"longitude\":\"33.4506633\",\"latitude\":\"31.2655698\",\"physicalLocation\":\"Israel\",\"pairedRegion\":[{\"name\":\"swedencentral\",\"id\":\"/subscriptions/00000000-0000-0000-0000-000000000000/locations/swedencentral\"}]}}]}" + headers: + cache-control: + - no-cache + content-length: + - '32299' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:25 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.get_mac_region_and_check_support.mac_subscription_dcr_dcra_regions_support_check + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights?api-version=2020-10-01 + response: + body: + string: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights","namespace":"microsoft.insights","authorizations":[{"applicationId":"6bccf540-eb86-4037-af03-7fa058c2db75","roleDefinitionId":"89dcede2-9219-403a-9723-d3c6473f9472"},{"applicationId":"11c174dc-1945-4a9a-a36b-c79a0f246b9b","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"},{"applicationId":"035f9e1d-4f00-4419-bf50-bf2d87eb4878","roleDefinitionId":"323795fe-ba3d-4f5a-ad42-afb4e1ea9485"},{"applicationId":"f5c26e74-f226-4ae8-85f0-b4af0080ac9e","roleDefinitionId":"529d7ae6-e892-4d43-809d-8547aeb90643"},{"applicationId":"b503eb83-1222-4dcc-b116-b98ed5216e05","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"ca7f3f0b-7d91-482c-8e09-c5d840d0eac5","roleDefinitionId":"5d5a2e56-9835-44aa-93db-d2f19e155438"},{"applicationId":"3af5a1e8-2459-45cb-8683-bcd6cccbcc13","roleDefinitionId":"b1309299-720d-4159-9897-6158a61aee41"},{"applicationId":"6a0a243c-0886-468a-a4c2-eff52c7445da","roleDefinitionId":"d2eda64b-c5e6-4930-8642-2d80ecd7c2e2"},{"applicationId":"707be275-6b9d-4ee7-88f9-c0c2bd646e0f","roleDefinitionId":"fa027d90-6ba0-4c33-9a54-59edaf2327e7"},{"applicationId":"461e8683-5575-4561-ac7f-899cc907d62a","roleDefinitionId":"68699c37-c689-44d4-9248-494b782d46ae"},{"applicationId":"562db366-1b96-45d2-aa4a-f2148cef2240","roleDefinitionId":"4109c8be-c1c8-4be0-af52-9d3c76c140ab"},{"applicationId":"e933bd07-d2ee-4f1d-933c-3752b819567b","roleDefinitionId":"abbcfd44-e662-419a-9b5a-478f8e2f57c9"},{"applicationId":"f6b60513-f290-450e-a2f3-9930de61c5e7","roleDefinitionId":"4ef11659-08ac-48af-98a7-25fb6b1e1bc4"},{"applicationId":"12743ff8-d3de-49d0-a4ce-6c91a4245ea0","roleDefinitionId":"207b20a7-6802-4ae4-aaa2-1a36dd45bba0"},{"applicationId":"58ef1dbd-684c-47d6-8ffc-61ea7a197b95","roleDefinitionId":"dd9d4347-f397-45f2-b538-85f21c90037b"}],"resourceTypes":[{"resourceType":"components","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"components/query","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metadata","locations":[],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/metrics","locations":["Australia + Central 2","Australia Central","Australia East","Australia Southeast","Brazil + South","Brazil Southeast","Canada Central","Canada East","Central India","Central + US","East Asia","East US 2","East US","France Central","France South","Germany + West Central","Japan East","Japan West","Jio India Central","Jio India West","Korea + Central","Korea South","North Central US","North Europe","Norway East","Norway + West","South Africa North","South Central US","South India","Southeast Asia","Sweden + Central","Switzerland North","Switzerland West","UAE Central","UAE North","UK + South","UK West","West Europe","West US 2","West US 3","West US","Sweden South"],"apiVersions":["2018-04-20","2014-04-01"],"capabilities":"None"},{"resourceType":"components/events","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2018-04-20"],"capabilities":"None"},{"resourceType":"components/syntheticmonitorlocations","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/analyticsItems","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/webtests","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2022-06-15","2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/workItemConfigs","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/myFavorites","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/operations","locations":["Australia + Central 2","Australia Central","Australia East","Australia Southeast","Brazil + South","Brazil Southeast","Canada Central","Canada East","Central India","Central + US","East Asia","East US 2","East US","France Central","France South","Germany + West Central","Japan East","Japan West","Jio India Central","Jio India West","Korea + Central","Korea South","North Central US","North Europe","Norway East","Norway + West","South Africa North","South Central US","South India","Southeast Asia","Sweden + Central","Switzerland North","Switzerland West","UAE Central","UAE North","UK + South","UK West","West Europe","West US 2","West US 3","West US","Qatar Central","Sweden + South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/exportConfiguration","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/purge","locations":["Australia + Central 2","Australia Central","Australia East","Australia Southeast","Brazil + South","Brazil Southeast","Canada Central","Canada East","Central India","Central + US","East Asia","East US 2","East US","France Central","France South","Germany + West Central","Japan East","Japan West","Jio India Central","Jio India West","Korea + Central","Korea South","North Central US","North Europe","Norway East","Norway + West","South Africa North","South Central US","South India","Southeast Asia","Sweden + Central","Switzerland North","Switzerland West","UAE Central","UAE North","UK + South","UK West","West Europe","West US 2","West US 3","West US","Qatar Central","Sweden + South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/api","locations":["Australia + Central 2","Australia Central","Australia East","Australia Southeast","Brazil + South","Brazil Southeast","Canada Central","Canada East","Central India","Central + US","East Asia","East US 2","East US","France Central","France South","Germany + West Central","Japan East","Japan West","Jio India Central","Jio India West","Korea + Central","Korea South","North Central US","North Europe","Norway East","Norway + West","South Africa North","South Central US","South India","Southeast Asia","Sweden + Central","Switzerland North","Switzerland West","UAE Central","UAE North","UK + South","UK West","West Europe","West US 2","West US 3","West US","Qatar Central","Sweden + South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/aggregate","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/metricDefinitions","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/extendQueries","locations":["Australia + Central 2","Australia Central","Australia East","Australia Southeast","Brazil + South","Brazil Southeast","Canada Central","Canada East","Central India","Central + US","East Asia","East US 2","East US","France Central","France South","Germany + West Central","Japan East","Japan West","Jio India Central","Jio India West","Korea + Central","Korea South","North Central US","North Europe","Norway East","Norway + West","South Africa North","South Central US","South India","Southeast Asia","Sweden + Central","Switzerland North","Switzerland West","UAE Central","UAE North","UK + South","UK West","West Europe","West US 2","West US 3","West US","Qatar Central","Sweden + South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/apiKeys","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/myAnalyticsItems","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/favorites","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/defaultWorkItemConfig","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/annotations","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/proactiveDetectionConfigs","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/move","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/currentBillingFeatures","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/quotaStatus","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/featureCapabilities","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"components/getAvailableBillingFeatures","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2020-02-02-preview","2020-02-02","2018-05-01-preview","2015-05-01","2014-12-01-preview","2014-08-01","2014-04-01"],"capabilities":"None"},{"resourceType":"webtests","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Brazil Southeast","Japan + West","UAE North","Australia Central","France South","South India","West US + 3","Korea South","Sweden Central","Canada East","Jio India Central","Jio India + West","Qatar Central","Sweden South"],"apiVersions":["2022-06-15","2018-05-01-preview","2015-05-01","2014-08-01","2014-04-01"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"webtests/getTestResultFile","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US"],"apiVersions":["2020-02-10-preview"],"capabilities":"None"},{"resourceType":"scheduledqueryrules","locations":["West + Central US","Australia East","Central US","East US","East US 2","France Central","Japan + East","North Europe","South Africa North","Southeast Asia","UK South","West + Europe","West US 2","Central India","Canada Central","Australia Southeast","South + Central US","Australia Central","Korea Central","East Asia","West US","North + Central US","Brazil South","UK West","Switzerland North","Switzerland West","UAE + Central","Germany West Central","Australia Central 2","Brazil SouthEast","Norway + East","UAE North","Japan West","South India","France South","Norway West","West + US 3","Sweden Central","Korea South","Jio India West","Canada East","Jio India + Central","Qatar Central","East US 2 EUAP","Sweden South"],"apiVersions":["2022-08-01-preview","2022-06-15","2021-08-01","2021-02-01-preview","2020-05-01-preview","2018-04-16","2017-09-01-preview"],"defaultApiVersion":"2022-08-01-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, + SupportsLocation"},{"resourceType":"components/pricingPlans","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Australia Central 2","Germany West + Central","Switzerland West","UAE Central","UK West","Japan West","Brazil Southeast","UAE + North","Australia Central","France South","South India","West US 3","Korea + South","Sweden Central","Canada East","Jio India Central","Jio India West","Qatar + Central","Sweden South"],"apiVersions":["2017-10-01"],"capabilities":"None"},{"resourceType":"migrateToNewPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"rollbackToLegacyPricingModel","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"listMigrationdate","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2"],"apiVersions":["2017-10-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-10-01"}],"capabilities":"None"},{"resourceType":"logprofiles","locations":[],"apiVersions":["2016-03-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"None"},{"resourceType":"migratealertrules","locations":[],"apiVersions":["2018-03-01"],"capabilities":"None"},{"resourceType":"metricalerts","locations":["Global","West + Europe","North Europe","Sweden Central","Germany West Central","East US 2 + EUAP"],"apiVersions":["2018-03-01","2017-09-01-preview"],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"alertrules","locations":["West US","East + US","North Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Central US","Australia + East","Australia Southeast","Brazil South","UK South","UK West","South India","Central + India","West India","Canada East","Canada Central","West Central US","West + US 2","Korea South","Korea Central","Australia Central","Australia Central + 2","France Central","France South","South Africa North","UAE Central","UAE + North","East US 2 EUAP","Central US EUAP","South Africa West"],"apiVersions":["2016-03-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-03-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"autoscalesettings","locations":["West + US","East US","North Europe","South Central US","East US 2","Central US","Australia + Southeast","Brazil South","UK South","UK West","South India","Central India","West + India","Canada East","Canada Central","West Central US","West US 2","Korea + South","Korea Central","Australia Central","Australia Central 2","France Central","France + South","West Europe","East Asia","Southeast Asia","Japan East","Japan West","North + Central US","Australia East","South Africa North","UAE Central","UAE North","Switzerland + North","Switzerland West","Germany North","Germany West Central","Norway East","Norway + West","West US 3","Jio India West","Sweden Central","Qatar Central","East + US 2 EUAP","Central US EUAP","South Africa West","Brazil Southeast","Jio India + Central","Sweden South"],"apiVersions":["2022-10-01","2021-05-01-preview","2015-04-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"eventtypes","locations":[],"apiVersions":["2017-03-01-preview","2016-09-01-preview","2015-04-01","2014-11-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"SupportsExtension"},{"resourceType":"locations","locations":["East + US"],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"locations/operationResults","locations":[],"apiVersions":["2015-04-01","2014-04-01"],"capabilities":"None"},{"resourceType":"vmInsightsOnboardingStatuses","locations":[],"apiVersions":["2018-11-27-preview"],"capabilities":"SupportsExtension"},{"resourceType":"operations","locations":[],"apiVersions":["2015-04-01","2014-06-01","2014-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"diagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea South","Korea Central","Australia Central","Australia + Central 2","France Central","France South","South Africa North","UAE Central","UAE + North","Switzerland North","Switzerland West","Germany North","Germany West + Central","Norway East","Norway West","West US 3","Jio India West","Sweden + Central","Qatar Central","East US 2 EUAP","Central US EUAP","South Africa + West","Brazil Southeast","Jio India Central","Sweden South"],"apiVersions":["2021-05-01-preview","2017-05-01-preview","2016-09-01","2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2016-09-01"}],"capabilities":"SupportsExtension"},{"resourceType":"diagnosticSettingsCategories","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea South","Korea Central","Australia Central","Australia + Central 2","France Central","France South","South Africa North","UAE Central","UAE + North","Switzerland North","Switzerland West","Germany North","Germany West + Central","Norway East","Norway West","West US 3","Jio India West","Sweden + Central","Qatar Central","East US 2 EUAP","Central US EUAP","South Africa + West","Brazil Southeast","Jio India Central","Sweden South"],"apiVersions":["2021-05-01-preview","2017-05-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"extendedDiagnosticSettings","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea South","Korea Central","Australia Central","Australia + Central 2","France Central","France South","South Africa North","UAE Central","UAE + North","Switzerland North","Switzerland West","Germany North","Germany West + Central","Norway East","Norway West","West US 3","Jio India West","Sweden + Central","Qatar Central","East US 2 EUAP","Central US EUAP","South Africa + West","Brazil Southeast","Jio India Central","Sweden South"],"apiVersions":["2017-02-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-02-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricDefinitions","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","Sweden Central","West + US 3","West Central US","Korea South","Korea Central","UK South","UK West","France + Central","France South","South Africa North","South Africa West","UAE Central","UAE + North","Qatar Central","Switzerland North","Switzerland West","Germany North","Germany + West Central","Norway East","Norway West","Jio India Central","Sweden South","East + US 2 EUAP","Central US EUAP"],"apiVersions":["2022-04-01-preview","2021-05-01","2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"logDefinitions","locations":["West + US","East US","North Europe","West Europe","East Asia","Southeast Asia","Japan + East","Japan West","North Central US","South Central US","East US 2","Central + US","Australia East","Australia Southeast","Brazil South","UK South","UK West","South + India","Central India","West India","Canada East","Canada Central","West Central + US","West US 2","Korea South","Korea Central","Australia Central","Australia + Central 2","France Central","France South","East US 2 EUAP","Central US EUAP"],"apiVersions":["2015-07-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-07-01"}],"capabilities":"SupportsExtension"},{"resourceType":"eventCategories","locations":[],"apiVersions":["2015-04-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2015-04-01"}],"capabilities":"None"},{"resourceType":"metrics","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","Sweden Central","West + US 3","West Central US","Korea South","Korea Central","UK South","UK West","France + Central","France South","South Africa North","South Africa West","UAE Central","UAE + North","Qatar Central","Switzerland North","Switzerland West","Germany North","Germany + West Central","Norway East","Norway West","Jio India Central","Sweden South","East + US 2 EUAP","Central US EUAP"],"apiVersions":["2021-05-01","2019-07-01","2018-01-01","2017-12-01-preview","2017-09-01-preview","2017-05-01-preview","2016-09-01","2016-06-01"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2018-01-01"}],"capabilities":"SupportsExtension"},{"resourceType":"metricbatch","locations":["East + US 2 EUAP","Central US EUAP"],"apiVersions":["2019-01-01-preview"],"capabilities":"None"},{"resourceType":"metricNamespaces","locations":["East + US","West US","West Europe","East Asia","Southeast Asia","Japan East","Japan + West","North Central US","South Central US","East US 2","Canada East","Canada + Central","Central US","Australia East","Australia Southeast","Australia Central","Australia + Central 2","Brazil South","Brazil Southeast","South India","Central India","West + India","North Europe","West US 2","Jio India West","Sweden Central","West + US 3","West Central US","Korea South","Korea Central","UK South","UK West","France + Central","France South","South Africa North","South Africa West","UAE Central","UAE + North","Qatar Central","Switzerland North","Switzerland West","Germany North","Germany + West Central","Norway East","Norway West","Jio India Central","Sweden South","East + US 2 EUAP","Central US EUAP"],"apiVersions":["2017-12-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"notificationstatus","locations":[],"apiVersions":["2022-06-01","2022-04-01","2021-09-01"],"capabilities":"None"},{"resourceType":"createnotifications","locations":[],"apiVersions":["2022-06-01","2022-04-01","2021-09-01"],"capabilities":"None"},{"resourceType":"actiongroups","locations":["Global","Sweden + Central","Germany West Central"],"apiVersions":["2022-06-01","2022-04-01","2021-09-01","2019-06-01","2019-03-01","2018-09-01","2018-03-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"activityLogAlerts","locations":["Global"],"apiVersions":["2020-10-01","2017-04-01","2017-03-01-preview"],"apiProfiles":[{"profileVersion":"2018-06-01-profile","apiVersion":"2017-04-01"}],"capabilities":"SupportsTags, + SupportsLocation"},{"resourceType":"metricbaselines","locations":["West Europe","North + Europe"],"apiVersions":["2019-03-01","2018-09-01"],"capabilities":"SupportsExtension"},{"resourceType":"workbooks","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Korea South","Canada East","Sweden Central","Jio + India Central","Jio India West","Qatar Central","Central US EUAP","East US + 2 EUAP","Sweden South"],"apiVersions":["2022-04-01","2021-08-01","2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-01-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"workbooktemplates","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","Japan East","Australia East","Korea Central","France Central","Central + US","East US 2","East Asia","West US","Canada Central","Central India","UK + South","UK West","South Africa North","North Central US","Brazil South","Switzerland + North","Norway East","Norway West","Australia Southeast","Australia Central + 2","Germany West Central","Switzerland West","UAE Central","Japan West","Brazil + Southeast","UAE North","Australia Central","France South","South India","West + Central US","West US 3","Korea South","Canada East","Sweden Central","Jio + India Central","Jio India West","Qatar Central","Sweden South"],"apiVersions":["2020-11-20","2019-10-17-preview"],"capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"myWorkbooks","locations":["West + Europe","South Central US","East US","North Europe","Southeast Asia","West + US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast","Central US EUAP","East US 2 EUAP"],"apiVersions":["2021-03-08","2020-10-20","2020-02-12","2018-06-17-preview","2018-06-15-preview","2018-06-01-preview","2016-06-15-preview"],"capabilities":"SupportsExtension"},{"resourceType":"logs","locations":["East + US","East US 2","West US","Central US","North Central US","South Central US","North + Europe","West Europe","East Asia","Southeast Asia","Japan East","Japan West","Australia + East","Australia Southeast","Brazil South","South India","Central India","West + India","Canada Central","Canada East","West US 2","West Central US","UK South","UK + West","Korea Central","Korea South","France Central","France South","Australia + Central","South Africa North","Central US EUAP","East US 2 EUAP","Australia + Central 2","South Africa West","UAE Central","UAE North"],"apiVersions":["2018-03-01-preview"],"capabilities":"SupportsExtension"},{"resourceType":"transactions","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"topology","locations":["East + US","South Central US","North Europe","West Europe","Southeast Asia","West + US 2","UK South","Central India","Canada Central","Japan East","Australia + East","Korea Central","France Central","East US 2","East Asia","West US","Central + US","South Africa North","North Central US","East US 2 EUAP","Central US EUAP"],"apiVersions":["2019-10-17-preview"],"capabilities":"SupportsExtension"},{"resourceType":"generateLiveToken","locations":[],"apiVersions":["2021-10-14","2020-06-02-preview"],"capabilities":"SupportsExtension"},{"resourceType":"monitoredObjects","locations":[],"apiVersions":["2021-09-01-preview"],"defaultApiVersion":"2021-09-01-preview","capabilities":"None"},{"resourceType":"dataCollectionRules","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Australia Central 2","Brazil + Southeast","Canada East","France South","Korea South","Norway West","UAE North","Japan + West","Norway East","Switzerland West","Brazil South","Jio India Central","Jio + India West","Sweden Central","South India","UAE Central","West US 3","West + India","Qatar Central","Sweden South","East US 2 EUAP"],"apiVersions":["2021-09-01-preview","2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SystemAssignedResourceIdentity, SupportsTags, + SupportsLocation"},{"resourceType":"dataCollectionRuleAssociations","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Korea South","Norway + West","UAE North","Japan West","Norway East","Switzerland West","Jio India + Central","Jio India West","Sweden Central","Germany North","South India","UAE + Central","West US 3","West India","Qatar Central","Sweden South","East US + 2 EUAP","Central US EUAP"],"apiVersions":["2021-09-01-preview","2021-04-01","2019-11-01-preview"],"defaultApiVersion":"2021-04-01","capabilities":"SupportsExtension"},{"resourceType":"dataCollectionEndpoints","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Korea South","Norway + West","UAE North","Japan West","Norway East","Switzerland West","Jio India + Central","Jio India West","Sweden Central","Germany North","South India","UAE + Central","West US 3","West India","Qatar Central","Sweden South","East US + 2 EUAP","Central US EUAP"],"apiVersions":["2021-09-01-preview","2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"dataCollectionEndpoints/scopedPrivateLinkProxies","locations":["Australia + Southeast","Canada Central","Japan East","Australia East","Central India","Germany + West Central","North Central US","South Central US","East US","Central US","West + Europe","West US 2","Southeast Asia","East US 2","UK South","North Europe","West + US","Australia Central","West Central US","East Asia","UK West","Korea Central","France + Central","South Africa North","Switzerland North","Brazil South","Australia + Central 2","Brazil Southeast","Canada East","France South","Korea South","Norway + West","UAE North","Japan West","Norway East","Switzerland West","Jio India + Central","Jio India West","Sweden Central","Germany North","South India","West + India","UAE Central","West US 3","Qatar Central","Sweden South","East US 2 + EUAP","Central US EUAP"],"apiVersions":["2021-09-01-preview","2021-04-01"],"defaultApiVersion":"2021-04-01","capabilities":"None"},{"resourceType":"privateLinkScopes","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"CrossResourceGroupResourceMove, + CrossSubscriptionResourceMove, SupportsTags, SupportsLocation"},{"resourceType":"privateLinkScopes/privateEndpointConnections","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/privateEndpointConnectionProxies","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"privateLinkScopes/scopedResources","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"components/linkedstorageaccounts","locations":["East + US","West Central US","South Central US","North Europe","West Europe","Southeast + Asia","West US 2","UK South","Canada Central","Central India","Japan East","Australia + East","Korea Central","France Central","Central US","East US 2","East Asia","West + US","South Africa North","North Central US","Brazil South","Switzerland North","Norway + East","Norway West","Australia Southeast"],"apiVersions":["2020-03-01-preview"],"capabilities":"None"},{"resourceType":"privateLinkScopeOperationStatuses","locations":["Global"],"apiVersions":["2021-09-01","2021-07-01-preview","2019-10-17-preview"],"defaultApiVersion":"2019-10-17-preview","capabilities":"None"},{"resourceType":"locations/notifyNetworkSecurityPerimeterUpdatesAvailable","locations":["East + US 2 EUAP"],"apiVersions":["2021-10-01"],"defaultApiVersion":"2021-10-01","capabilities":"None"}],"registrationState":"Registered","registrationPolicy":"RegistrationRequired"}' + headers: + cache-control: + - no-cache + content-length: + - '50106' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:25 GMT + expires: + - '-1' + pragma: + - no-cache + strict-transport-security: + - max-age=31536000; includeSubDomains + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"name": "MSProm-EUS2-cliakstest000002", "location": "eastus2", "kind": + "Linux", "properties": {}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '98' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.create_dce + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionEndpoints/MSProm-EUS2-cliakstest000002?api-version=2021-09-01-preview + response: + body: + string: '{"properties":{"immutableId":"dce-c4083cadc55e4e0b9ae11ccc51ed6b0d","configurationAccess":{"endpoint":"https://msprom-eus2-cliakstest000002-ehm9.eastus2-1.handler.control.monitor.azure.com"},"logsIngestion":{"endpoint":"https://msprom-eus2-cliakstest000002-ehm9.eastus2-1.ingest.monitor.azure.com"},"metricsIngestion":{"endpoint":"https://msprom-eus2-cliakstest000002-ehm9.eastus2-1.metrics.ingest.monitor.azure.com"},"networkAcls":{"publicNetworkAccess":"Enabled"},"provisioningState":"Succeeded"},"location":"eastus2","kind":"Linux","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionEndpoints/MSProm-EUS2-cliakstest000002","name":"MSProm-EUS2-cliakstest000002","type":"Microsoft.Insights/dataCollectionEndpoints","etag":"\"660097a6-0000-0200-0000-6345df480000\"","systemData":{"createdBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","createdByType":"Application","createdAt":"2022-10-11T21:25:27.1790848Z","lastModifiedBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","lastModifiedByType":"Application","lastModifiedAt":"2022-10-11T21:25:27.1790848Z"}}' + headers: + api-supported-versions: + - 2021-04-01, 2021-09-01-preview, 2022-06-01 + cache-control: + - no-cache + content-length: + - '1123' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:28 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '59' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "kind": "Linux", "properties": {"dataCollectionEndpointId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionEndpoints/MSProm-EUS2-cliakstest000002", + "dataSources": {"prometheusForwarder": [{"name": "PrometheusDataSource", "streams": + ["Microsoft-PrometheusMetrics"], "labelIncludeFilter": {}}]}, "dataFlows": [{"destinations": + ["MonitoringAccount1"], "streams": ["Microsoft-PrometheusMetrics"]}], "description": + "DCR description", "destinations": {"monitoringAccounts": [{"accountResourceId": + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2", + "name": "MonitoringAccount1"}]}}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '793' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.create_dcr + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionRules/MSProm-EUS2-cliakstest000002?api-version=2021-09-01-preview + response: + body: + string: '{"properties":{"description":"DCR description","immutableId":"dcr-4ac68bf35555461c88808673716f37f4","dataCollectionEndpointId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionEndpoints/MSProm-EUS2-cliakstest000002","dataSources":{"prometheusForwarder":[{"streams":["Microsoft-PrometheusMetrics"],"labelIncludeFilter":{},"name":"PrometheusDataSource"}]},"destinations":{"monitoringAccounts":[{"accountResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2","accountId":"3b52afe5-bc6d-4b52-95aa-1d44c01ce7e8","name":"MonitoringAccount1"}]},"dataFlows":[{"streams":["Microsoft-PrometheusMetrics"],"destinations":["MonitoringAccount1"]}],"provisioningState":"Succeeded"},"location":"eastus2","kind":"Linux","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionRules/MSProm-EUS2-cliakstest000002","name":"MSProm-EUS2-cliakstest000002","type":"Microsoft.Insights/dataCollectionRules","etag":"\"660047a8-0000-0200-0000-6345df4c0000\"","systemData":{"createdBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","createdByType":"Application","createdAt":"2022-10-11T21:25:31.0642115Z","lastModifiedBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","lastModifiedByType":"Application","lastModifiedAt":"2022-10-11T21:25:31.0642115Z"}}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview, 2022-06-01 + cache-control: + - no-cache + content-length: + - '1482' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:32 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '149' + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "properties": {"dataCollectionRuleId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionRules/MSProm-EUS2-cliakstest000002", + "description": "Promtheus data collection association between DCR, DCE and target + AKS resource"}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '322' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.create_dcra + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/MSProm-EUS2-cliakstest000002?api-version=2021-09-01-preview + response: + body: + string: '{"properties":{"description":"Promtheus data collection association + between DCR, DCE and target AKS resource","dataCollectionRuleId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.Insights/dataCollectionRules/MSProm-EUS2-cliakstest000002"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/MSProm-EUS2-cliakstest000002","name":"MSProm-EUS2-cliakstest000002","type":"Microsoft.Insights/dataCollectionRuleAssociations","etag":"\"660013a9-0000-0200-0000-6345df4d0000\"","systemData":{"createdBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","createdByType":"Application","createdAt":"2022-10-11T21:25:33.2479007Z","lastModifiedBy":"3fac8b4e-cd90-4baa-a5d2-66d52bc8349d","lastModifiedByType":"Application","lastModifiedAt":"2022-10-11T21:25:33.2479007Z"}}' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview, 2022-06-01 + cache-control: + - no-cache + content-length: + - '967' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:33 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + status: + code: 200 + message: OK +- request: + body: null + headers: + Connection: + - close + Host: + - defaultrulessc.blob.core.windows.net + User-Agent: + - Python-urllib/3.8 + method: GET + uri: https://defaultrulessc.blob.core.windows.net/defaultrules/ManagedPrometheusDefaultRecordingRules.json + response: + body: + string: "{\r\n \"$schema\": \"https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#\",\r\n + \ \"contentVersion\": \"1.0.0.0\",\r\n \"parameters\": {\r\n \"clusterName\": + {\r\n \"type\": \"string\",\r\n \"metadata\": {\r\n + \ \"description\": \"Cluster name\"\r\n }\r\n },\r\n + \ \"macResourceId\": {\r\n \"type\": \"string\",\r\n \"metadata\": + {\r\n \"description\": \"ResourceId of Monitoring Account (MAC) + to associate to\"\r\n }\r\n },\r\n \"location\": + {\r\n \"type\": \"string\",\r\n \"defaultValue\": \"[resourceGroup().location]\"\r\n + \ }\r\n },\r\n \"variables\": {\r\n \"nodeRecordingRuleGroup\": + \"NodeRecordingRulesRuleGroup-\",\r\n \"nodeRecordingRuleGroupName\": + \"[concat(variables('nodeRecordingRuleGroup'), parameters('clusterName'))]\",\r\n + \ \"nodeRecordingRuleGroupDescription\": \"Node Recording Rules RuleGroup\",\r\n + \ \"kubernetesRecordingRuleGroup\": \"KubernetesReccordingRulesRuleGroup-\",\r\n + \ \"kubernetesRecordingRuleGroupName\": \"[concat(variables('kubernetesRecordingRuleGroup'), + parameters('clusterName'))]\",\r\n \"kubernetesRecordingRuleGroupDescription\": + \"Kubernetes Recording Rules RuleGroup\",\r\n \"version\": \" - 0.1\"\r\n + \ },\r\n \"resources\": [\r\n {\r\n \"name\": \"[variables('nodeRecordingRuleGroupName')]\",\r\n + \ \"type\": \"Microsoft.AlertsManagement/prometheusRuleGroups\",\r\n + \ \"apiVersion\": \"2021-07-22-preview\",\r\n \"location\": + \"[parameters('location')]\",\r\n \"properties\": {\r\n \"description\": + \"[concat(variables('nodeRecordingRuleGroupDescription'), variables('version'))]\",\r\n + \ \"scopes\": [\r\n \"[parameters('macResourceId')]\"\r\n + \ ],\r\n \"clusterName\": \"[parameters('clusterName')]\",\r\n + \ \"interval\": \"PT1M\",\r\n \"rules\": [\r\n + \ {\r\n \"record\": \"instance:node_num_cpu:sum\",\r\n + \ \"expression\": \"count without (cpu, mode) ( node_cpu_seconds_total{job=\\\"node\\\",mode=\\\"idle\\\"})\"\r\n + \ },\r\n {\r\n \"record\": + \"instance:node_cpu_utilisation:rate5m\",\r\n \"expression\": + \"1 - avg without (cpu) ( sum without (mode) (rate(node_cpu_seconds_total{job=\\\"node\\\", + mode=~\\\"idle|iowait|steal\\\"}[5m])))\"\r\n },\r\n {\r\n + \ \"record\": \"instance:node_load1_per_cpu:ratio\",\r\n + \ \"expression\": \"( node_load1{job=\\\"node\\\"}/ + \ instance:node_num_cpu:sum{job=\\\"node\\\"})\"\r\n },\r\n + \ {\r\n \"record\": \"instance:node_memory_utilisation:ratio\",\r\n + \ \"expression\": \"1 - ( ( node_memory_MemAvailable_bytes{job=\\\"node\\\"} + \ or ( node_memory_Buffers_bytes{job=\\\"node\\\"} + node_memory_Cached_bytes{job=\\\"node\\\"} + \ + node_memory_MemFree_bytes{job=\\\"node\\\"} + node_memory_Slab_bytes{job=\\\"node\\\"} + \ ) )/ node_memory_MemTotal_bytes{job=\\\"node\\\"})\"\r\n },\r\n + \ {\r\n \"record\": \"instance:node_vmstat_pgmajfault:rate5m\",\r\n + \ \"expression\": \"rate(node_vmstat_pgmajfault{job=\\\"node\\\"}[5m])\"\r\n + \ },\r\n {\r\n \"record\": + \"instance_device:node_disk_io_time_seconds:rate5m\",\r\n \"expression\": + \"rate(node_disk_io_time_seconds_total{job=\\\"node\\\", device!=\\\"\\\"}[5m])\"\r\n + \ },\r\n {\r\n \"record\": + \"instance_device:node_disk_io_time_weighted_seconds:rate5m\",\r\n \"expression\": + \"rate(node_disk_io_time_weighted_seconds_total{job=\\\"node\\\", device!=\\\"\\\"}[5m])\"\r\n + \ },\r\n {\r\n \"record\": + \"instance:node_network_receive_bytes_excluding_lo:rate5m\",\r\n \"expression\": + \"sum without (device) ( rate(node_network_receive_bytes_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n },\r\n {\r\n + \ \"record\": \"instance:node_network_transmit_bytes_excluding_lo:rate5m\",\r\n + \ \"expression\": \"sum without (device) ( rate(node_network_transmit_bytes_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n },\r\n {\r\n + \ \"record\": \"instance:node_network_receive_drop_excluding_lo:rate5m\",\r\n + \ \"expression\": \"sum without (device) ( rate(node_network_receive_drop_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n },\r\n {\r\n + \ \"record\": \"instance:node_network_transmit_drop_excluding_lo:rate5m\",\r\n + \ \"expression\": \"sum without (device) ( rate(node_network_transmit_drop_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n }\r\n ]\r\n + \ }\r\n },\r\n {\r\n \"name\": \"[variables('kubernetesRecordingRuleGroupName')]\",\r\n + \ \"type\": \"Microsoft.AlertsManagement/prometheusRuleGroups\",\r\n + \ \"apiVersion\": \"2021-07-22-preview\",\r\n \"location\": + \"[parameters('location')]\",\r\n \"properties\": {\r\n \"description\": + \"[concat(variables('kubernetesRecordingRuleGroupDescription'), variables('version'))]\",\r\n + \ \"scopes\": [\r\n \"[parameters('macResourceId')]\"\r\n + \ ],\r\n \"clusterName\": \"[parameters('clusterName')]\",\r\n + \ \"interval\": \"PT1M\",\r\n \"rules\": [\r\n + \ {\r\n \"record\": \"node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate\",\r\n + \ \"expression\": \"sum by (cluster, namespace, pod, + container) ( irate(container_cpu_usage_seconds_total{job=\\\"cadvisor\\\", + image!=\\\"\\\"}[5m])) * on (cluster, namespace, pod) group_left(node) topk + by (cluster, namespace, pod) ( 1, max by(cluster, namespace, pod, node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n + \ },\r\n {\r\n \"record\": + \"node_namespace_pod_container:container_memory_working_set_bytes\",\r\n \"expression\": + \"container_memory_working_set_bytes{job=\\\"cadvisor\\\", image!=\\\"\\\"}* + on (namespace, pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, + pod, node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n },\r\n + \ {\r\n \"record\": \"node_namespace_pod_container:container_memory_rss\",\r\n + \ \"expression\": \"container_memory_rss{job=\\\"cadvisor\\\", + image!=\\\"\\\"}* on (namespace, pod) group_left(node) topk by(namespace, + pod) (1, max by(namespace, pod, node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n + \ },\r\n {\r\n \"record\": + \"node_namespace_pod_container:container_memory_cache\",\r\n \"expression\": + \"container_memory_cache{job=\\\"cadvisor\\\", image!=\\\"\\\"}* on (namespace, + pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, pod, + node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n },\r\n {\r\n + \ \"record\": \"node_namespace_pod_container:container_memory_swap\",\r\n + \ \"expression\": \"container_memory_swap{job=\\\"cadvisor\\\", + image!=\\\"\\\"}* on (namespace, pod) group_left(node) topk by(namespace, + pod) (1, max by(namespace, pod, node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n + \ },\r\n {\r\n \"record\": + \"cluster:namespace:pod_memory:active:kube_pod_container_resource_requests\",\r\n + \ \"expression\": \"kube_pod_container_resource_requests{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1))\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_memory:kube_pod_container_resource_requests:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum + by (namespace, pod, cluster) ( max by (namespace, pod, container, cluster) + ( kube_pod_container_resource_requests{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n + \ \"record\": \"cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests\",\r\n + \ \"expression\": \"kube_pod_container_resource_requests{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1))\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_cpu:kube_pod_container_resource_requests:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum + by (namespace, pod, cluster) ( max by (namespace, pod, container, cluster) + ( kube_pod_container_resource_requests{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n + \ \"record\": \"cluster:namespace:pod_memory:active:kube_pod_container_resource_limits\",\r\n + \ \"expression\": \"kube_pod_container_resource_limits{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1))\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_memory:kube_pod_container_resource_limits:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum + by (namespace, pod, cluster) ( max by (namespace, pod, container, cluster) + ( kube_pod_container_resource_limits{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n + \ \"record\": \"cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits\",\r\n + \ \"expression\": \"kube_pod_container_resource_limits{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1) )\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_cpu:kube_pod_container_resource_limits:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum + by (namespace, pod, cluster) ( max by (namespace, pod, container, cluster) + ( kube_pod_container_resource_limits{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n + \ \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, + pod) ( label_replace( label_replace( kube_pod_owner{job=\\\"kube-state-metrics\\\", + owner_kind=\\\"ReplicaSet\\\"}, \\\"replicaset\\\", \\\"$1\\\", \\\"owner_name\\\", + \\\"(.*)\\\" ) * on(replicaset, namespace) group_left(owner_name) topk + by(replicaset, namespace) ( 1, max by (replicaset, namespace, owner_name) + ( kube_replicaset_owner{job=\\\"kube-state-metrics\\\"} ) ), + \ \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ))\",\r\n + \ \"labels\": {\r\n \"workload_type\": + \"deployment\"\r\n }\r\n },\r\n + \ {\r\n \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, + pod) ( label_replace( kube_pod_owner{job=\\\"kube-state-metrics\\\", owner_kind=\\\"DaemonSet\\\"}, + \ \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ))\",\r\n + \ \"labels\": {\r\n \"workload_type\": + \"daemonset\"\r\n }\r\n },\r\n {\r\n + \ \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, + pod) ( label_replace( kube_pod_owner{job=\\\"kube-state-metrics\\\", owner_kind=\\\"StatefulSet\\\"}, + \ \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ))\",\r\n + \ \"labels\": {\r\n \"workload_type\": + \"statefulset\"\r\n }\r\n },\r\n + \ {\r\n \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, + pod) ( label_replace( kube_pod_owner{job=\\\"kube-state-metrics\\\", owner_kind=\\\"Job\\\"}, + \ \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ))\",\r\n + \ \"labels\": {\r\n \"workload_type\": + \"job\"\r\n }\r\n },\r\n {\r\n + \ \"record\": \":node_memory_MemAvailable_bytes:sum\",\r\n + \ \"expression\": \"sum( node_memory_MemAvailable_bytes{job=\\\"node\\\"} + or ( node_memory_Buffers_bytes{job=\\\"node\\\"} + node_memory_Cached_bytes{job=\\\"node\\\"} + + node_memory_MemFree_bytes{job=\\\"node\\\"} + node_memory_Slab_bytes{job=\\\"node\\\"} + \ )) by (cluster)\"\r\n },\r\n {\r\n + \ \"record\": \"cluster:node_cpu:ratio_rate5m\",\r\n + \ \"expression\": \"sum(rate(node_cpu_seconds_total{job=\\\"node\\\",mode!=\\\"idle\\\",mode!=\\\"iowait\\\",mode!=\\\"steal\\\"}[5m])) + by (cluster) /count(sum(node_cpu_seconds_total{job=\\\"node\\\"}) by (cluster, + instance, cpu)) by (cluster)\"\r\n }\r\n ]\r\n\r\n + \ }\r\n }\r\n ]\r\n}" + headers: + connection: + - close + content-length: + - '14531' + content-md5: + - PNznAJWCQ+YFyQucziGkTg== + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:25:33 GMT + etag: + - '0x8DA7FC1A0E4FF70' + last-modified: + - Tue, 16 Aug 2022 19:58:03 GMT + server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + x-ms-blob-type: + - BlockBlob + x-ms-lease-status: + - unlocked + x-ms-version: + - '2009-09-19' + status: + code: 200 + message: OK +- request: + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/NodeRecordingRulesRuleGroup-cliakstest000002", + "name": "NodeRecordingRulesRuleGroup-cliakstest000002", "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": "eastus2", "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2"], + "clusterName": "cliakstest000002", "interval": "PT1M", "rules": [{"record": + "instance:node_num_cpu:sum", "expression": "count without (cpu, mode) ( node_cpu_seconds_total{job=\"node\",mode=\"idle\"})"}, + {"record": "instance:node_cpu_utilisation:rate5m", "expression": "1 - avg without + (cpu) ( sum without (mode) (rate(node_cpu_seconds_total{job=\"node\", mode=~\"idle|iowait|steal\"}[5m])))"}, + {"record": "instance:node_load1_per_cpu:ratio", "expression": "( node_load1{job=\"node\"}/ instance:node_num_cpu:sum{job=\"node\"})"}, + {"record": "instance:node_memory_utilisation:ratio", "expression": "1 - ( ( node_memory_MemAvailable_bytes{job=\"node\"} or ( node_memory_Buffers_bytes{job=\"node\"} + node_memory_Cached_bytes{job=\"node\"} + node_memory_MemFree_bytes{job=\"node\"} + node_memory_Slab_bytes{job=\"node\"} ) )/ node_memory_MemTotal_bytes{job=\"node\"})"}, + {"record": "instance:node_vmstat_pgmajfault:rate5m", "expression": "rate(node_vmstat_pgmajfault{job=\"node\"}[5m])"}, + {"record": "instance_device:node_disk_io_time_seconds:rate5m", "expression": + "rate(node_disk_io_time_seconds_total{job=\"node\", device!=\"\"}[5m])"}, {"record": + "instance_device:node_disk_io_time_weighted_seconds:rate5m", "expression": "rate(node_disk_io_time_weighted_seconds_total{job=\"node\", + device!=\"\"}[5m])"}, {"record": "instance:node_network_receive_bytes_excluding_lo:rate5m", + "expression": "sum without (device) ( rate(node_network_receive_bytes_total{job=\"node\", + device!=\"lo\"}[5m]))"}, {"record": "instance:node_network_transmit_bytes_excluding_lo:rate5m", + "expression": "sum without (device) ( rate(node_network_transmit_bytes_total{job=\"node\", + device!=\"lo\"}[5m]))"}, {"record": "instance:node_network_receive_drop_excluding_lo:rate5m", + "expression": "sum without (device) ( rate(node_network_receive_drop_total{job=\"node\", + device!=\"lo\"}[5m]))"}, {"record": "instance:node_network_transmit_drop_excluding_lo:rate5m", + "expression": "sum without (device) ( rate(node_network_transmit_drop_total{job=\"node\", + device!=\"lo\"}[5m]))"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2630' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.create_rules_node + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/NodeRecordingRulesRuleGroup-cliakstest000002?api-version=2021-07-22-preview + response: + body: + string: "{\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/NodeRecordingRulesRuleGroup-cliakstest000002\",\r\n + \ \"name\": \"NodeRecordingRulesRuleGroup-cliakstest000002\",\r\n \"type\": + \"Microsoft.AlertsManagement/prometheusRuleGroups\",\r\n \"location\": \"eastus2\",\r\n + \ \"properties\": {\r\n \"clusterName\": \"cliakstest000002\",\r\n \"scopes\": + [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2\"\r\n + \ ],\r\n \"rules\": [\r\n {\r\n \"record\": \"instance:node_num_cpu:sum\",\r\n + \ \"expression\": \"count without (cpu, mode) ( node_cpu_seconds_total{job=\\\"node\\\",mode=\\\"idle\\\"})\"\r\n + \ },\r\n {\r\n \"record\": \"instance:node_cpu_utilisation:rate5m\",\r\n + \ \"expression\": \"1 - avg without (cpu) ( sum without (mode) (rate(node_cpu_seconds_total{job=\\\"node\\\", + mode=~\\\"idle|iowait|steal\\\"}[5m])))\"\r\n },\r\n {\r\n \"record\": + \"instance:node_load1_per_cpu:ratio\",\r\n \"expression\": \"( node_load1{job=\\\"node\\\"}/ + \ instance:node_num_cpu:sum{job=\\\"node\\\"})\"\r\n },\r\n {\r\n + \ \"record\": \"instance:node_memory_utilisation:ratio\",\r\n \"expression\": + \"1 - ( ( node_memory_MemAvailable_bytes{job=\\\"node\\\"} or ( + \ node_memory_Buffers_bytes{job=\\\"node\\\"} + node_memory_Cached_bytes{job=\\\"node\\\"} + \ + node_memory_MemFree_bytes{job=\\\"node\\\"} + node_memory_Slab_bytes{job=\\\"node\\\"} + \ ) )/ node_memory_MemTotal_bytes{job=\\\"node\\\"})\"\r\n },\r\n + \ {\r\n \"record\": \"instance:node_vmstat_pgmajfault:rate5m\",\r\n + \ \"expression\": \"rate(node_vmstat_pgmajfault{job=\\\"node\\\"}[5m])\"\r\n + \ },\r\n {\r\n \"record\": \"instance_device:node_disk_io_time_seconds:rate5m\",\r\n + \ \"expression\": \"rate(node_disk_io_time_seconds_total{job=\\\"node\\\", + device!=\\\"\\\"}[5m])\"\r\n },\r\n {\r\n \"record\": \"instance_device:node_disk_io_time_weighted_seconds:rate5m\",\r\n + \ \"expression\": \"rate(node_disk_io_time_weighted_seconds_total{job=\\\"node\\\", + device!=\\\"\\\"}[5m])\"\r\n },\r\n {\r\n \"record\": \"instance:node_network_receive_bytes_excluding_lo:rate5m\",\r\n + \ \"expression\": \"sum without (device) ( rate(node_network_receive_bytes_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n },\r\n {\r\n \"record\": + \"instance:node_network_transmit_bytes_excluding_lo:rate5m\",\r\n \"expression\": + \"sum without (device) ( rate(node_network_transmit_bytes_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n },\r\n {\r\n \"record\": + \"instance:node_network_receive_drop_excluding_lo:rate5m\",\r\n \"expression\": + \"sum without (device) ( rate(node_network_receive_drop_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n },\r\n {\r\n \"record\": + \"instance:node_network_transmit_drop_excluding_lo:rate5m\",\r\n \"expression\": + \"sum without (device) ( rate(node_network_transmit_drop_total{job=\\\"node\\\", + device!=\\\"lo\\\"}[5m]))\"\r\n }\r\n ],\r\n \"interval\": \"PT1M\"\r\n + \ }\r\n}" + headers: + api-supported-versions: + - 2021-07-22-preview + arr-disable-session-affinity: + - 'true' + cache-control: + - no-cache + content-length: + - '3068' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:36 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/KubernetesRecordingRulesRuleGroup-cliakstest000002", + "name": "KubernetesRecordingRulesRuleGroup-cliakstest000002", "type": "Microsoft.AlertsManagement/prometheusRuleGroups", + "location": "eastus2", "properties": {"scopes": ["/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2"], + "clusterName": "cliakstest000002", "rules": [{"record": "node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate", + "expression": "sum by (cluster, namespace, pod, container) ( irate(container_cpu_usage_seconds_total{job=\"cadvisor\", + image!=\"\"}[5m])) * on (cluster, namespace, pod) group_left(node) topk by (cluster, + namespace, pod) ( 1, max by(cluster, namespace, pod, node) (kube_pod_info{node!=\"\"}))"}, + {"record": "node_namespace_pod_container:container_memory_working_set_bytes", + "expression": "container_memory_working_set_bytes{job=\"cadvisor\", image!=\"\"}* + on (namespace, pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, + pod, node) (kube_pod_info{node!=\"\"}))"}, {"record": "node_namespace_pod_container:container_memory_rss", + "expression": "container_memory_rss{job=\"cadvisor\", image!=\"\"}* on (namespace, + pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, pod, node) + (kube_pod_info{node!=\"\"}))"}, {"record": "node_namespace_pod_container:container_memory_cache", + "expression": "container_memory_cache{job=\"cadvisor\", image!=\"\"}* on (namespace, + pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, pod, node) + (kube_pod_info{node!=\"\"}))"}, {"record": "node_namespace_pod_container:container_memory_swap", + "expression": "container_memory_swap{job=\"cadvisor\", image!=\"\"}* on (namespace, + pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, pod, node) + (kube_pod_info{node!=\"\"}))"}, {"record": "cluster:namespace:pod_memory:active:kube_pod_container_resource_requests", + "expression": "kube_pod_container_resource_requests{resource=\"memory\",job=\"kube-state-metrics\"} * + on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) ( (kube_pod_status_phase{phase=~\"Pending|Running\"} + == 1))"}, {"record": "namespace_memory:kube_pod_container_resource_requests:sum", + "expression": "sum by (namespace, cluster) ( sum by (namespace, pod, cluster) + ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_requests{resource=\"memory\",job=\"kube-state-metrics\"} ) + * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) + ( kube_pod_status_phase{phase=~\"Pending|Running\"} == 1 ) ))"}, + {"record": "cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests", + "expression": "kube_pod_container_resource_requests{resource=\"cpu\",job=\"kube-state-metrics\"} * + on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) ( (kube_pod_status_phase{phase=~\"Pending|Running\"} + == 1))"}, {"record": "namespace_cpu:kube_pod_container_resource_requests:sum", + "expression": "sum by (namespace, cluster) ( sum by (namespace, pod, cluster) + ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_requests{resource=\"cpu\",job=\"kube-state-metrics\"} ) + * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) + ( kube_pod_status_phase{phase=~\"Pending|Running\"} == 1 ) ))"}, + {"record": "cluster:namespace:pod_memory:active:kube_pod_container_resource_limits", + "expression": "kube_pod_container_resource_limits{resource=\"memory\",job=\"kube-state-metrics\"} * + on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) ( (kube_pod_status_phase{phase=~\"Pending|Running\"} + == 1))"}, {"record": "namespace_memory:kube_pod_container_resource_limits:sum", + "expression": "sum by (namespace, cluster) ( sum by (namespace, pod, cluster) + ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_limits{resource=\"memory\",job=\"kube-state-metrics\"} ) + * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) + ( kube_pod_status_phase{phase=~\"Pending|Running\"} == 1 ) ))"}, + {"record": "cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits", + "expression": "kube_pod_container_resource_limits{resource=\"cpu\",job=\"kube-state-metrics\"} * + on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) ( + (kube_pod_status_phase{phase=~\"Pending|Running\"} == 1) )"}, {"record": "namespace_cpu:kube_pod_container_resource_limits:sum", + "expression": "sum by (namespace, cluster) ( sum by (namespace, pod, cluster) + ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_limits{resource=\"cpu\",job=\"kube-state-metrics\"} ) + * on(namespace, pod, cluster) group_left() max by (namespace, pod, cluster) + ( kube_pod_status_phase{phase=~\"Pending|Running\"} == 1 ) ))"}, + {"record": "namespace_workload_pod:kube_pod_owner:relabel", "expression": "max + by (cluster, namespace, workload, pod) ( label_replace( label_replace( kube_pod_owner{job=\"kube-state-metrics\", + owner_kind=\"ReplicaSet\"}, \"replicaset\", \"$1\", \"owner_name\", \"(.*)\" ) + * on(replicaset, namespace) group_left(owner_name) topk by(replicaset, namespace) + ( 1, max by (replicaset, namespace, owner_name) ( kube_replicaset_owner{job=\"kube-state-metrics\"} ) ), \"workload\", + \"$1\", \"owner_name\", \"(.*)\" ))", "labels": {"workload_type": "deployment"}}, + {"record": "namespace_workload_pod:kube_pod_owner:relabel", "expression": "max + by (cluster, namespace, workload, pod) ( label_replace( kube_pod_owner{job=\"kube-state-metrics\", + owner_kind=\"DaemonSet\"}, \"workload\", \"$1\", \"owner_name\", \"(.*)\" ))", + "labels": {"workload_type": "daemonset"}}, {"record": "namespace_workload_pod:kube_pod_owner:relabel", + "expression": "max by (cluster, namespace, workload, pod) ( label_replace( kube_pod_owner{job=\"kube-state-metrics\", + owner_kind=\"StatefulSet\"}, \"workload\", \"$1\", \"owner_name\", \"(.*)\" ))", + "labels": {"workload_type": "statefulset"}}, {"record": "namespace_workload_pod:kube_pod_owner:relabel", + "expression": "max by (cluster, namespace, workload, pod) ( label_replace( kube_pod_owner{job=\"kube-state-metrics\", + owner_kind=\"Job\"}, \"workload\", \"$1\", \"owner_name\", \"(.*)\" ))", + "labels": {"workload_type": "job"}}, {"record": ":node_memory_MemAvailable_bytes:sum", + "expression": "sum( node_memory_MemAvailable_bytes{job=\"node\"} or ( node_memory_Buffers_bytes{job=\"node\"} + + node_memory_Cached_bytes{job=\"node\"} + node_memory_MemFree_bytes{job=\"node\"} + + node_memory_Slab_bytes{job=\"node\"} )) by (cluster)"}, {"record": "cluster:node_cpu:ratio_rate5m", + "expression": "sum(rate(node_cpu_seconds_total{job=\"node\",mode!=\"idle\",mode!=\"iowait\",mode!=\"steal\"}[5m])) + by (cluster) /count(sum(node_cpu_seconds_total{job=\"node\"}) by (cluster, instance, + cpu)) by (cluster)"}]}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '7288' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.create_rules_kubernetes + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/KubernetesRecordingRulesRuleGroup-cliakstest000002?api-version=2021-07-22-preview + response: + body: + string: "{\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/KubernetesRecordingRulesRuleGroup-cliakstest000002\",\r\n + \ \"name\": \"KubernetesRecordingRulesRuleGroup-cliakstest000002\",\r\n \"type\": + \"Microsoft.AlertsManagement/prometheusRuleGroups\",\r\n \"location\": \"eastus2\",\r\n + \ \"properties\": {\r\n \"clusterName\": \"cliakstest000002\",\r\n \"scopes\": + [\r\n \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/defaultresourcegroup-eus2/providers/microsoft.monitor/accounts/defaultazuremonitorworkspace-eus2\"\r\n + \ ],\r\n \"rules\": [\r\n {\r\n \"record\": \"node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate\",\r\n + \ \"expression\": \"sum by (cluster, namespace, pod, container) ( irate(container_cpu_usage_seconds_total{job=\\\"cadvisor\\\", + image!=\\\"\\\"}[5m])) * on (cluster, namespace, pod) group_left(node) topk + by (cluster, namespace, pod) ( 1, max by(cluster, namespace, pod, node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n + \ },\r\n {\r\n \"record\": \"node_namespace_pod_container:container_memory_working_set_bytes\",\r\n + \ \"expression\": \"container_memory_working_set_bytes{job=\\\"cadvisor\\\", + image!=\\\"\\\"}* on (namespace, pod) group_left(node) topk by(namespace, + pod) (1, max by(namespace, pod, node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n + \ },\r\n {\r\n \"record\": \"node_namespace_pod_container:container_memory_rss\",\r\n + \ \"expression\": \"container_memory_rss{job=\\\"cadvisor\\\", image!=\\\"\\\"}* + on (namespace, pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, + pod, node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n },\r\n {\r\n \"record\": + \"node_namespace_pod_container:container_memory_cache\",\r\n \"expression\": + \"container_memory_cache{job=\\\"cadvisor\\\", image!=\\\"\\\"}* on (namespace, + pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, pod, + node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n },\r\n {\r\n \"record\": + \"node_namespace_pod_container:container_memory_swap\",\r\n \"expression\": + \"container_memory_swap{job=\\\"cadvisor\\\", image!=\\\"\\\"}* on (namespace, + pod) group_left(node) topk by(namespace, pod) (1, max by(namespace, pod, + node) (kube_pod_info{node!=\\\"\\\"}))\"\r\n },\r\n {\r\n \"record\": + \"cluster:namespace:pod_memory:active:kube_pod_container_resource_requests\",\r\n + \ \"expression\": \"kube_pod_container_resource_requests{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1))\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_memory:kube_pod_container_resource_requests:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum by (namespace, + pod, cluster) ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_requests{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n \"record\": \"cluster:namespace:pod_cpu:active:kube_pod_container_resource_requests\",\r\n + \ \"expression\": \"kube_pod_container_resource_requests{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1))\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_cpu:kube_pod_container_resource_requests:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum by (namespace, + pod, cluster) ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_requests{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n \"record\": \"cluster:namespace:pod_memory:active:kube_pod_container_resource_limits\",\r\n + \ \"expression\": \"kube_pod_container_resource_limits{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1))\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_memory:kube_pod_container_resource_limits:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum by (namespace, + pod, cluster) ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_limits{resource=\\\"memory\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n \"record\": \"cluster:namespace:pod_cpu:active:kube_pod_container_resource_limits\",\r\n + \ \"expression\": \"kube_pod_container_resource_limits{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ * on (namespace, pod, cluster)group_left() max by (namespace, pod, cluster) + ( (kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} == 1) )\"\r\n },\r\n + \ {\r\n \"record\": \"namespace_cpu:kube_pod_container_resource_limits:sum\",\r\n + \ \"expression\": \"sum by (namespace, cluster) ( sum by (namespace, + pod, cluster) ( max by (namespace, pod, container, cluster) ( kube_pod_container_resource_limits{resource=\\\"cpu\\\",job=\\\"kube-state-metrics\\\"} + \ ) * on(namespace, pod, cluster) group_left() max by (namespace, pod, + cluster) ( kube_pod_status_phase{phase=~\\\"Pending|Running\\\"} + == 1 ) ))\"\r\n },\r\n {\r\n \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, pod) ( label_replace( + \ label_replace( kube_pod_owner{job=\\\"kube-state-metrics\\\", owner_kind=\\\"ReplicaSet\\\"}, + \ \\\"replicaset\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ) + * on(replicaset, namespace) group_left(owner_name) topk by(replicaset, namespace) + ( 1, max by (replicaset, namespace, owner_name) ( kube_replicaset_owner{job=\\\"kube-state-metrics\\\"} + \ ) ), \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" + \ ))\",\r\n \"labels\": {\r\n \"workload_type\": \"deployment\"\r\n + \ }\r\n },\r\n {\r\n \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, pod) ( label_replace( + \ kube_pod_owner{job=\\\"kube-state-metrics\\\", owner_kind=\\\"DaemonSet\\\"}, + \ \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ))\",\r\n + \ \"labels\": {\r\n \"workload_type\": \"daemonset\"\r\n }\r\n + \ },\r\n {\r\n \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, pod) ( label_replace( + \ kube_pod_owner{job=\\\"kube-state-metrics\\\", owner_kind=\\\"StatefulSet\\\"}, + \ \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ))\",\r\n + \ \"labels\": {\r\n \"workload_type\": \"statefulset\"\r\n + \ }\r\n },\r\n {\r\n \"record\": \"namespace_workload_pod:kube_pod_owner:relabel\",\r\n + \ \"expression\": \"max by (cluster, namespace, workload, pod) ( label_replace( + \ kube_pod_owner{job=\\\"kube-state-metrics\\\", owner_kind=\\\"Job\\\"}, + \ \\\"workload\\\", \\\"$1\\\", \\\"owner_name\\\", \\\"(.*)\\\" ))\",\r\n + \ \"labels\": {\r\n \"workload_type\": \"job\"\r\n }\r\n + \ },\r\n {\r\n \"record\": \":node_memory_MemAvailable_bytes:sum\",\r\n + \ \"expression\": \"sum( node_memory_MemAvailable_bytes{job=\\\"node\\\"} + or ( node_memory_Buffers_bytes{job=\\\"node\\\"} + node_memory_Cached_bytes{job=\\\"node\\\"} + + node_memory_MemFree_bytes{job=\\\"node\\\"} + node_memory_Slab_bytes{job=\\\"node\\\"} + \ )) by (cluster)\"\r\n },\r\n {\r\n \"record\": \"cluster:node_cpu:ratio_rate5m\",\r\n + \ \"expression\": \"sum(rate(node_cpu_seconds_total{job=\\\"node\\\",mode!=\\\"idle\\\",mode!=\\\"iowait\\\",mode!=\\\"steal\\\"}[5m])) + by (cluster) /count(sum(node_cpu_seconds_total{job=\\\"node\\\"}) by (cluster, + instance, cpu)) by (cluster)\"\r\n }\r\n ]\r\n }\r\n}" + headers: + api-supported-versions: + - 2021-07-22-preview + arr-disable-session-affinity: + - 'true' + cache-control: + - no-cache + content-length: + - '8117' + content-type: + - application/json; charset=utf-8 + date: + - Tue, 11 Oct 2022 21:25:41 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding,Accept-Encoding + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-resource-requests: + - '299' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.23.12", "dnsPrefix": + "cliakstest-clitest000001-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "standard_dc2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.23.12", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "enableCustomCATrust": false, + "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, + "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000002_eastus2", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8"}], + "backendPoolType": "nodeIPConfiguration"}, "podCidrs": ["10.244.0.0/16"], "serviceCidrs": + ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "identityProfile": {"kubeletidentity": + {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false, "securityProfile": {}, "storageProfile": {}, + "workloadAutoScalerProfile": {}, "azureMonitorProfile": {"metrics": {"enabled": + true, "kubeStateMetrics": {"metricLabelsAllowlist": "", "metricAnnotationsAllowList": + ""}}}}}' + headers: + AKSHTTPCustomFeatures: + - Microsoft.ContainerService/AKS-PrometheusAddonPreview + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2740' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ],\n \"backendPoolType\": \"nodeIPConfiguration\"\n },\n + \ \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {},\n \"azureMonitorProfile\": {\n \"metrics\": {\n \"enabled\": + true,\n \"kubeStateMetrics\": {\n \"metricLabelsAllowlist\": \"\",\n + \ \"metricAnnotationsAllowList\": \"\"\n }\n }\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\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '4283' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:25:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6af80f43-14fa-8e40-a62b-ae5dcf2de1ea\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:25:45.7279234Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:26:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6af80f43-14fa-8e40-a62b-ae5dcf2de1ea\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:25:45.7279234Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:26:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6af80f43-14fa-8e40-a62b-ae5dcf2de1ea\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:25:45.7279234Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:27:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6af80f43-14fa-8e40-a62b-ae5dcf2de1ea\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:25:45.7279234Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:27:46 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6af80f43-14fa-8e40-a62b-ae5dcf2de1ea\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:25:45.7279234Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:28:16 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6af80f43-14fa-8e40-a62b-ae5dcf2de1ea\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:25:45.7279234Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:28:47 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/430ff86a-fa14-408e-a62b-ae5dcf2de1ea?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"6af80f43-14fa-8e40-a62b-ae5dcf2de1ea\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-10-11T21:25:45.7279234Z\",\n \"endTime\": + \"2022-10-11T21:28:58.7571939Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:29:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --aks-custom-headers --enable-azuremonitormetrics + --enable-managed-identity + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ],\n \"backendPoolType\": \"nodeIPConfiguration\"\n },\n + \ \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {},\n \"azureMonitorProfile\": {\n \"metrics\": {\n \"enabled\": + true,\n \"kubeStateMetrics\": {\n \"metricLabelsAllowlist\": \"\",\n + \ \"metricAnnotationsAllowList\": \"\"\n }\n }\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\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4285' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:29:17 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ],\n \"backendPoolType\": \"nodeIPConfiguration\"\n },\n + \ \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {},\n \"azureMonitorProfile\": {\n \"metrics\": {\n \"enabled\": + true,\n \"kubeStateMetrics\": {\n \"metricLabelsAllowlist\": \"\",\n + \ \"metricAnnotationsAllowList\": \"\"\n }\n }\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\": \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4285' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:29:18 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "properties": {}}' + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '41' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.delete_dcra + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002/providers/Microsoft.Insights/dataCollectionRuleAssociations/MSProm-EUS2-cliakstest000002?api-version=2021-09-01-preview + response: + body: + string: '' + headers: + api-supported-versions: + - 2019-11-01-preview, 2021-04-01, 2021-09-01-preview, 2022-06-01 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 11 Oct 2022 21:29:20 GMT + expires: + - '-1' + pragma: + - no-cache + request-context: + - appId=cid-v1:2bbfbac8-e1b0-44af-b9c6-3a40669d37e3 + server: + - Microsoft-HTTPAPI/2.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.delete_rules_node + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/NodeRecordingRulesRuleGroup-cliakstest000002?api-version=2021-07-22-preview + response: + body: + string: '' + headers: + api-supported-versions: + - 2021-07-22-preview + arr-disable-session-affinity: + - 'true' + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 11 Oct 2022 21:29:22 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - python/3.8.10 (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) AZURECLI/2.41.0 + azuremonitormetrics.delete_rules_kubernetes + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.AlertsManagement/prometheusRuleGroups/KubernetesRecordingRulesRuleGroup-cliakstest000002?api-version=2021-07-22-preview + response: + body: + string: '' + headers: + api-supported-versions: + - 2021-07-22-preview + arr-disable-session-affinity: + - 'true' + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 11 Oct 2022 21:29:24 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - Microsoft-IIS/10.0 + strict-transport-security: + - max-age=31536000; includeSubDomains + x-aspnet-version: + - 4.0.30319 + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + x-powered-by: + - ASP.NET + status: + code: 200 + message: OK +- request: + body: '{"location": "eastus2", "sku": {"name": "Basic", "tier": "Free"}, "identity": + {"type": "SystemAssigned"}, "properties": {"kubernetesVersion": "1.23.12", "dnsPrefix": + "cliakstest-clitest000001-8ecadf", "agentPoolProfiles": [{"count": 3, "vmSize": + "standard_dc2s_v3", "osDiskSizeGB": 128, "osDiskType": "Managed", "kubeletDiskType": + "OS", "workloadRuntime": "OCIContainer", "maxPods": 110, "osType": "Linux", + "osSKU": "Ubuntu", "enableAutoScaling": false, "type": "VirtualMachineScaleSets", + "mode": "System", "orchestratorVersion": "1.23.12", "upgradeSettings": {}, "powerState": + {"code": "Running"}, "enableNodePublicIP": false, "enableCustomCATrust": false, + "enableEncryptionAtHost": false, "enableUltraSSD": false, "enableFIPS": false, + "name": "nodepool1"}], "linuxProfile": {"adminUsername": "azureuser", "ssh": + {"publicKeys": [{"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\n"}]}}, "servicePrincipalProfile": {"clientId":"00000000-0000-0000-0000-000000000001"}, + "nodeResourceGroup": "MC_clitest000001_cliakstest000002_eastus2", "enableRBAC": + true, "enablePodSecurityPolicy": false, "networkProfile": {"networkPlugin": + "kubenet", "podCidr": "10.244.0.0/16", "serviceCidr": "10.0.0.0/16", "dnsServiceIP": + "10.0.0.10", "dockerBridgeCidr": "172.17.0.1/16", "outboundType": "loadBalancer", + "loadBalancerSku": "Standard", "loadBalancerProfile": {"managedOutboundIPs": + {"count": 1, "countIPv6": 0}, "effectiveOutboundIPs": [{"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8"}], + "backendPoolType": "nodeIPConfiguration"}, "podCidrs": ["10.244.0.0/16"], "serviceCidrs": + ["10.0.0.0/16"], "ipFamilies": ["IPv4"]}, "identityProfile": {"kubeletidentity": + {"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool", + "clientId":"00000000-0000-0000-0000-000000000001", "objectId":"00000000-0000-0000-0000-000000000001"}}, + "disableLocalAccounts": false, "securityProfile": {}, "storageProfile": {}, + "workloadAutoScalerProfile": {}, "azureMonitorProfile": {"metrics": {"enabled": + false}}}}' + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + Content-Length: + - '2656' + Content-Type: + - application/json + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: PUT + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Updating\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Updating\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ],\n \"backendPoolType\": \"nodeIPConfiguration\"\n },\n + \ \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {},\n \"azureMonitorProfile\": {\n \"metrics\": {\n \"enabled\": + false\n }\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\": + \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/f3f2614d-84bd-4a45-bd25-6309f7f43b80?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '4175' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:29:28 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-writes: + - '1198' + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/f3f2614d-84bd-4a45-bd25-6309f7f43b80?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4d61f2f3-bd84-454a-bd25-6309f7f43b80\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:29:28.5913255Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:29:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/f3f2614d-84bd-4a45-bd25-6309f7f43b80?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4d61f2f3-bd84-454a-bd25-6309f7f43b80\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:29:28.5913255Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:30:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/f3f2614d-84bd-4a45-bd25-6309f7f43b80?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4d61f2f3-bd84-454a-bd25-6309f7f43b80\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:29:28.5913255Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:30:58 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/f3f2614d-84bd-4a45-bd25-6309f7f43b80?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4d61f2f3-bd84-454a-bd25-6309f7f43b80\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:29:28.5913255Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:31:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/f3f2614d-84bd-4a45-bd25-6309f7f43b80?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4d61f2f3-bd84-454a-bd25-6309f7f43b80\",\n \"status\": + \"InProgress\",\n \"startTime\": \"2022-10-11T21:29:28.5913255Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '126' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:31:59 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/f3f2614d-84bd-4a45-bd25-6309f7f43b80?api-version=2017-08-31 + response: + body: + string: "{\n \"name\": \"4d61f2f3-bd84-454a-bd25-6309f7f43b80\",\n \"status\": + \"Succeeded\",\n \"startTime\": \"2022-10-11T21:29:28.5913255Z\",\n \"endTime\": + \"2022-10-11T21:32:15.5313336Z\"\n }" + headers: + cache-control: + - no-cache + content-length: + - '170' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:32:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + CommandName: + - aks update + Connection: + - keep-alive + ParameterSetName: + - --resource-group --name --yes --output --disable-azuremonitormetrics + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: GET + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: "{\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002\",\n + \ \"location\": \"eastus2\",\n \"name\": \"cliakstest000002\",\n \"type\": + \"Microsoft.ContainerService/ManagedClusters\",\n \"properties\": {\n \"provisioningState\": + \"Succeeded\",\n \"powerState\": {\n \"code\": \"Running\"\n },\n \"kubernetesVersion\": + \"1.23.12\",\n \"currentKubernetesVersion\": \"1.23.12\",\n \"dnsPrefix\": + \"cliakstest-clitest000001-8ecadf\",\n \"fqdn\": \"cliakstest-clitest000001-8ecadf-d3e478b1.hcp.eastus2.azmk8s.io\",\n + \ \"azurePortalFQDN\": \"cliakstest-clitest000001-8ecadf-d3e478b1.portal.hcp.eastus2.azmk8s.io\",\n + \ \"agentPoolProfiles\": [\n {\n \"name\": \"nodepool1\",\n \"count\": + 3,\n \"vmSize\": \"standard_dc2s_v3\",\n \"osDiskSizeGB\": 128,\n + \ \"osDiskType\": \"Managed\",\n \"kubeletDiskType\": \"OS\",\n \"workloadRuntime\": + \"OCIContainer\",\n \"maxPods\": 110,\n \"type\": \"VirtualMachineScaleSets\",\n + \ \"enableAutoScaling\": false,\n \"provisioningState\": \"Succeeded\",\n + \ \"powerState\": {\n \"code\": \"Running\"\n },\n \"orchestratorVersion\": + \"1.23.12\",\n \"currentOrchestratorVersion\": \"1.23.12\",\n \"enableNodePublicIP\": + false,\n \"enableCustomCATrust\": false,\n \"mode\": \"System\",\n + \ \"enableEncryptionAtHost\": false,\n \"enableUltraSSD\": false,\n + \ \"osType\": \"Linux\",\n \"osSKU\": \"Ubuntu\",\n \"nodeImageVersion\": + \"AKSUbuntu-1804gen2containerd-2022.09.22\",\n \"upgradeSettings\": {},\n + \ \"enableFIPS\": false\n }\n ],\n \"linuxProfile\": {\n \"adminUsername\": + \"azureuser\",\n \"ssh\": {\n \"publicKeys\": [\n {\n \"keyData\": + \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzggsXEkrjmWKKnRBqQ4lLIBjabVzhuiVvJleMfCRAETIqQ9+P2KFofgTx5J2TXmwF8hn4dagQ3h7FQTonLunav7G5O9ScaTTztfioXni03U2Or9E0m4cW3VBIi+vIWimeNykaBu9RZEDVHQLl8XBfxZ45mpUYPWP94nJvebF1Y7wY6sNjMpqdgxOvY0BMEn+DuI5mBW583JMXQaBuEBKTwdh3oF3z2EnIv1MNU3+ASiH8lyUWGj8y2dvsOlMKgKstfIcoZJi6yjtUv7O5yi2lshRhmlQkR7fw7DIOQo7VeRzqJ0wq1wDT+cunHMU22bY3d+Kw3p26sIRaojyLY+tl + azcli_aks_live_test@example.com\\n\"\n }\n ]\n }\n },\n \"servicePrincipalProfile\": + {\n \"clientId\":\"00000000-0000-0000-0000-000000000001\"\n },\n \"nodeResourceGroup\": + \"MC_clitest000001_cliakstest000002_eastus2\",\n \"enableRBAC\": true,\n + \ \"enablePodSecurityPolicy\": false,\n \"networkProfile\": {\n \"networkPlugin\": + \"kubenet\",\n \"loadBalancerSku\": \"Standard\",\n \"loadBalancerProfile\": + {\n \"managedOutboundIPs\": {\n \"count\": 1\n },\n \"effectiveOutboundIPs\": + [\n {\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.Network/publicIPAddresses/7d1f3c8d-ec1c-4789-9c0a-8ab90666e6c8\"\n + \ }\n ],\n \"backendPoolType\": \"nodeIPConfiguration\"\n },\n + \ \"podCidr\": \"10.244.0.0/16\",\n \"serviceCidr\": \"10.0.0.0/16\",\n + \ \"dnsServiceIP\": \"10.0.0.10\",\n \"dockerBridgeCidr\": \"172.17.0.1/16\",\n + \ \"outboundType\": \"loadBalancer\",\n \"podCidrs\": [\n \"10.244.0.0/16\"\n + \ ],\n \"serviceCidrs\": [\n \"10.0.0.0/16\"\n ],\n \"ipFamilies\": + [\n \"IPv4\"\n ]\n },\n \"maxAgentPools\": 100,\n \"identityProfile\": + {\n \"kubeletidentity\": {\n \"resourceId\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/MC_clitest000001_cliakstest000002_eastus2/providers/Microsoft.ManagedIdentity/userAssignedIdentities/cliakstest000002-agentpool\",\n + \ \"clientId\":\"00000000-0000-0000-0000-000000000001\",\n \"objectId\":\"00000000-0000-0000-0000-000000000001\"\n + \ }\n },\n \"disableLocalAccounts\": false,\n \"securityProfile\": + {},\n \"storageProfile\": {\n \"diskCSIDriver\": {\n \"enabled\": + true,\n \"version\": \"v1\"\n },\n \"fileCSIDriver\": {\n \"enabled\": + true\n },\n \"snapshotController\": {\n \"enabled\": true\n }\n + \ },\n \"oidcIssuerProfile\": {\n \"enabled\": false\n },\n \"workloadAutoScalerProfile\": + {},\n \"azureMonitorProfile\": {\n \"metrics\": {\n \"enabled\": + false\n }\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\": + \"Basic\",\n \"tier\": \"Free\"\n }\n }" + headers: + cache-control: + - no-cache + content-length: + - '4177' + content-type: + - application/json + date: + - Tue, 11 Oct 2022 21:32:29 GMT + expires: + - '-1' + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + transfer-encoding: + - chunked + vary: + - Accept-Encoding + x-content-type-options: + - nosniff + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - application/json + Accept-Encoding: + - gzip, deflate + CommandName: + - aks delete + Connection: + - keep-alive + Content-Length: + - '0' + ParameterSetName: + - --resource-group --name --yes --no-wait + User-Agent: + - AZURECLI/2.41.0 azsdk-python-azure-mgmt-containerservice/20.3.0b2 Python/3.8.10 + (Linux-5.15.0-1020-azure-x86_64-with-glibc2.29) + method: DELETE + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest000001/providers/Microsoft.ContainerService/managedClusters/cliakstest000002?api-version=2022-08-03-preview + response: + body: + string: '' + headers: + azure-asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operations/578312c7-390a-42f6-9bc5-9edaaecce2ad?api-version=2017-08-31 + cache-control: + - no-cache + content-length: + - '0' + date: + - Tue, 11 Oct 2022 21:32:31 GMT + expires: + - '-1' + location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.ContainerService/locations/eastus2/operationresults/578312c7-390a-42f6-9bc5-9edaaecce2ad?api-version=2017-08-31 + pragma: + - no-cache + server: + - nginx + strict-transport-security: + - max-age=31536000; includeSubDomains + x-content-type-options: + - nosniff + x-ms-ratelimit-remaining-subscription-deletes: + - '14999' + status: + code: 202 + message: Accepted +version: 1 diff --git a/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py b/src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py index 583c91281f..9604bff507 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 @@ -7,7 +7,7 @@ import pty import subprocess import tempfile -import time +import time from azext_aks_preview.tests.latest.custom_preparers import ( AKSCustomResourceGroupPreparer, @@ -3834,7 +3834,7 @@ def test_aks_create_and_update_ipv6_count(self, resource_group, resource_group_l # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - + @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='centraluseuap', preserve_default_location=True) def test_aks_create_or_update_with_load_balancer_backend_pool_type(self, resource_group, resource_group_location): @@ -5749,7 +5749,50 @@ def test_aks_update_with_defender(self, resource_group, resource_group_location) # delete self.cmd( 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) - + + @AllowLargeResponse() + @AKSCustomResourceGroupPreparer(random_name_length=16, name_prefix='clitest', location='westus2') + def test_aks_update_with_azuremonitormetrics(self, resource_group, resource_group_location): + aks_name = self.create_random_name('cliakstest', 15) + node_vm_size = 'standard_dc2s_v3' + self.kwargs.update({ + 'resource_group': resource_group, + 'name': aks_name, + 'location': resource_group_location, + 'ssh_key_value': self.generate_ssh_keys(), + 'node_vm_size': node_vm_size, + }) + + # create: without enable-azuremonitormetrics + create_cmd = 'aks create --resource-group={resource_group} --name={name} --location={location} --ssh-key-value={ssh_key_value} --node-vm-size={node_vm_size} --enable-managed-identity --output=json' + self.cmd(create_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.not_exists('azureMonitorProfile.metrics'), + ]) + + # update: enable-azuremonitormetrics + update_cmd = 'aks update --resource-group={resource_group} --name={name} --yes --output=json ' \ + '--aks-custom-headers=AKSHTTPCustomFeatures=Microsoft.ContainerService/AKS-PrometheusAddonPreview ' \ + '--enable-azuremonitormetrics --enable-managed-identity' + self.cmd(update_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('azureMonitorProfile.metrics.enabled', True), + ]) + + # update: disable-azuremonitormetrics + update_cmd = 'aks update --resource-group={resource_group} --name={name} --yes --output=json ' \ + '--disable-azuremonitormetrics' + self.cmd(update_cmd, checks=[ + self.check('provisioningState', 'Succeeded'), + self.check('azureMonitorProfile.metrics.enabled', False), + ]) + + # delete + cmd = 'aks delete --resource-group={resource_group} --name={name} --yes --no-wait' + self.cmd(cmd, checks=[ + self.is_empty(), + ]) + # live only due to workspace is not mocked correctly @AllowLargeResponse() @AKSCustomResourceGroupPreparer(random_name_length=17, name_prefix='clitest', location='westus2') @@ -5774,4 +5817,4 @@ def test_aks_create_with_kube_proxy_config(self, resource_group, resource_group_ # delete self.cmd( - 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) \ No newline at end of file + 'aks delete -g {resource_group} -n {name} --yes --no-wait', checks=[self.is_empty()]) diff --git a/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models.py b/src/aks-preview/azext_aks_preview/vendored_sdks/azure_mgmt_preview_aks/v2017_07_01/models/_models.py old mode 100755 new mode 100644 diff --git a/src/aks-preview/setup.py b/src/aks-preview/setup.py index 758af4a24b..9e639d61d2 100644 --- a/src/aks-preview/setup.py +++ b/src/aks-preview/setup.py @@ -9,7 +9,7 @@ from setuptools import setup, find_packages -VERSION = "0.5.105" +VERSION = "0.5.106" CLASSIFIERS = [ "Development Status :: 4 - Beta",