Skip to content

[AKS] az aks create/update: Add --kms-infrastructure-encryption for KMS platform-managed keys (PMK) - #34204

Merged
JaysonTaiMicrosoft merged 3 commits into
Azure:devfrom
bingosummer:binxi/kms-pmk
Oct 14, 2026
Merged

JaysonTaiMicrosoft merged 3 commits into
Azure:devfrom
bingosummer:binxi/kms-pmk

Conversation

@bingosummer

@bingosummer Bin Xia (bingosummer) commented Oct 9, 2026 •

Copy link
Copy Markdown
Member

🤖 PR Validation — ⚠️ Review suggested

Breaking Changes Tests
⚠️ None ️✔️ 130/130
⚠️AzureCLI-BreakingChangeTest
⚠️acs
rule cmd_name rule_message suggest_message
⚠️ 1006 - ParaAdd aks create cmd aks create added parameter kms_infrastructure_encryption
⚠️ 1006 - ParaAdd aks update cmd aks update added parameter kms_infrastructure_encryption

Related command
az aks create, az aks update

Description
Ports KMS platform-managed keys (PMK) support from the aks-preview extension into the GA acs module ahead of the KMS PMK GA release.

  • Adds --kms-infrastructure-encryption to az aks create / az aks update, which sets securityProfile.kubernetesResourceObjectEncryptionProfile.infrastructureEncryption to enable encryption at rest of Kubernetes resource objects using service-managed keys.
  • The stable API only defines Enabled for the InfrastructureEncryption enum, so the parameter accepts Enabled only and defaults to unset. When unset, the encryption profile is left untouched, so PMK is never implicitly disabled.
  • PMK requires a versionless key ID, so the Key Vault key ID validator no longer rejects IDs without a version segment.
  • The Key Vault resource ID validator now also verifies the provider is Microsoft.KeyVault and the type is vaults or managedHsms.
  • PMK requires a Key Vault resource ID even when Key Vault network access is Public, so that combination is now allowed and the resource ID is set in both the create and update paths.

Testing Guide

# Enable PMK at cluster creation
az aks create -g MyRG -n MyCluster --kms-infrastructure-encryption Enabled

# Enable PMK together with CMK (KMS etcd encryption)
az aks create -g MyRG -n MyCluster \
    --enable-azure-keyvault-kms \
    --azure-keyvault-kms-key-id <versionless-key-id> \
    --azure-keyvault-kms-key-vault-network-access Public \
    --azure-keyvault-kms-key-vault-resource-id <key-vault-resource-id> \
    --kms-infrastructure-encryption Enabled

# Enable PMK on an existing cluster
az aks update -g MyRG -n MyCluster --kms-infrastructure-encryption Enabled

Unit tests added for the new context getter, the create/update decorator paths and the updated validators, plus live scenario tests covering PMK alone, PMK with CMK, and enabling PMK on an existing cluster.

Unit test run:

azdev test acs --filter "test_managed_cluster_decorator or test_validators"

(not executed in this environment — please rely on CI for verification)

History Notes

[AKS] az aks create/update: Add --kms-infrastructure-encryption to support KMS platform-managed keys (PMK)


This checklist is used to make sure that common guidelines for a pull request are followed.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).

@yonzhan Yong Zhang (yonzhan) added this to the Backlog milestone Oct 9, 2026
@bingosummer
Bin Xia (bingosummer) marked this pull request as ready for review October 9, 2026 08:45
Copilot AI balanced review requested due to automatic review settings October 9, 2026 08:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Key and resource ID validation currently accepts malformed or nested resource identifiers.

1 open finding
What changed in this PR

Adds GA support for AKS KMS platform-managed key infrastructure encryption.

Changes:

  • Adds --kms-infrastructure-encryption to AKS create/update.
  • Updates KMS model handling and Key Vault validation.
  • Adds unit and live scenario coverage.
File Description
_consts.py Defines the enabled value.
_params.py Registers the new argument.
_help.py Documents the option.
custom.py Exposes it in command handlers.
managed_cluster_decorator.py Applies and preserves encryption settings.
_validators.py Updates Key Vault ID validation.
linter_exclusions.yml Excludes the long option name.
test_validators.py Tests validator changes.
test_managed_cluster_decorator.py Tests create/update model handling.
test_aks_commands.py Adds live PMK/CMK scenarios.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/azure-cli/azure/cli/command_modules/acs/_validators.py Outdated
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).

# infrastructure encryption (platform-managed keys) is enabled.
segments = key_id[len(https_prefix):].split("/")
if len(segments) != 4 or segments[1] != "keys":
if len(segments) < 3 or segments[1] != "keys":

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Reject key IDs with extra path segments

len(segments) < 3 accepts malformed IDs such as https://vault.vault.azure.net/keys/key/version/extra and forwards them unchanged to the service. Please accept exactly 3 or 4 segments and add a regression test for extra segments.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — fixed in 9745a9a.

The check is now len(segments) not in (3, 4), so only the two legitimate forms are accepted:

  • versionless: {vault-url}/keys/{key-name} (3 segments) — required when KMS infrastructure encryption (PMK) is enabled
  • versioned: {vault-url}/keys/{key-name}/{key-version} (4 segments)

Anything with extra path components, e.g. https://fakekeyvault.vault.azure.net/keys/name/version/extra, is now rejected client-side instead of being forwarded to the service.

Added a regression test test_invalid_azure_keyvault_kms_key_id_with_extra_segments in test_validators.py covering exactly that case; the existing 3-segment and 4-segment positive cases still pass.

Bin Xia (bingosummer) and others added 3 commits October 13, 2026 02:11
…MS PMK

Port KMS platform-managed keys (PMK) support from the aks-preview extension
into the GA azure-cli ACS module ahead of the KMS PMK GA release.

Adds a new `--kms-infrastructure-encryption` parameter to `az aks create` and
`az aks update`, which sets
`securityProfile.kubernetesResourceObjectEncryptionProfile.infrastructureEncryption`
to enable encryption at rest of Kubernetes resource objects using
service-managed keys.

The stable API only defines `Enabled` for the `InfrastructureEncryption` enum,
so the parameter accepts `Enabled` only and defaults to unset. When unset, the
encryption profile is left untouched, so PMK is never implicitly disabled.

Other changes:
- PMK requires a versionless key ID, so the Key Vault key ID validator no
  longer rejects IDs without a version segment.
- The Key Vault resource ID validator now also verifies the provider is
  Microsoft.KeyVault and the type is vaults or managedHsms.
- PMK requires a Key Vault resource ID even when the Key Vault network access
  is Public, so that combination is now allowed and the resource ID is set in
  both the create and update paths.
- Add unit tests for the new context getter, the create and update decorator
  paths and the updated validators, plus live scenario tests covering PMK
  alone, PMK with CMK, and enabling PMK on an existing cluster.
- Add linter exclusions for the new option name and a HISTORY.rst entry.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 671828b6-e9d0-4bbe-95e3-576ec728c597
…n with aks-preview

Remove the key vault network access constraints on
--azure-keyvault-kms-key-vault-resource-id so that the behavior matches the
aks-preview extension:

* Drop the "resource id can not be empty if network access is Private" and
  "resource id must be empty if network access is Public" checks from
  _get_azure_keyvault_kms_key_vault_resource_id. KMS PMK requires a key vault
  resource id regardless of the network access, so these rules no longer hold.
  The "Private requires a resource id" guarantee is still enforced by
  _get_azure_keyvault_kms_key_vault_network_access.
* Always assign key_vault_resource_id when CMK is enabled, instead of only
  when network access is Private or PMK is enabled, so that a resource id
  supplied with Public network access is no longer silently dropped. The update
  path keeps falling back to "" so that the field is still cleared when no
  resource id is given.

Update the affected unit tests accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 671828b6-e9d0-4bbe-95e3-576ec728c597
Address PR review feedback on --azure-keyvault-kms-key-id validation.

Supporting versionless key IDs for KMS infrastructure encryption (PMK)
relaxed the segment check from "len(segments) != 4" to "len(segments) < 3",
which also accepted malformed key IDs with extra path components such as
https://fakekeyvault.vault.azure.net/keys/name/version/extra. Only the
versionless ({vault-url}/keys/{key-name}) and versioned
({vault-url}/keys/{key-name}/{key-version}) forms are valid, so accept
exactly 3 or 4 segments and reject anything else in the CLI instead of
forwarding it to the service.

Add a regression test covering the extra path segment case.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 671828b6-e9d0-4bbe-95e3-576ec728c597
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).

@bingosummer

Copy link
Copy Markdown
Member Author

@Azure/act-observability-squad Aditya Pujara (@a0x1ab) Yong Zhang (@yonzhan) could you please help review and merge the PR? Thanks

@JaysonTaiMicrosoft JaysonTaiMicrosoft added the Request X Engineering Agent Ask the agent to triage this issue or review this PR label Oct 14, 2026

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bin Xia (@bingosummer)

Review

All 53 upstream checks passed on 9745a9aed4b13. The create/update parameter wiring reaches the encryption profile, and the changed decorator tests assert PMK-only creation, PMK with CMK, unset-profile preservation, and preserving PMK when CMK is disabled. Private Key Vault access still requires a resource ID through the network-access validator.

Integration evidence needed

src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py adds test_aks_create_with_kms_pmk_and_update_cmk, test_aks_create_with_kms_pmk_and_cmk, and test_aks_update_with_kms_pmk, all marked @live_only(). They exercise the new request/output field securityProfile.kubernetesResourceObjectEncryptionProfile.infrastructureEncryption, a versionless CMK key ID with Public Key Vault access, and PMK preservation across CMK transitions. No recording files changed, so recorded playback does not establish these service interactions. The description explicitly says the proposed focused test command was not executed; the upstream 130/130 summary does not establish that these live-only scenarios ran.

Before human approval, provide a current-head live result for those three scenarios and rerun the focused decorator/validator tests (azdev test acs --filter "test_managed_cluster_decorator or test_validators"). Keep the live-only designation if intentional; otherwise provide recordings for the new request/response behavior. Distinguish the unit run from the live integration result. This human PR has no Agent live-test request, so none was dispatched.

The description's History Note covers the new PMK flag. It should also document the customer-visible acceptance of versionless KMS key IDs and Public Key Vault resource IDs, and rejection of resource IDs outside Key Vault/Managed HSM, rather than leave those validator changes only in the implementation description.

Test validation

  • Agent live test: Not run; this is a review-only PR. Check author-provided test evidence and upstream CI separately.
  • Regression coverage: For acs: 3 focused test file(s) changed. Scenario coverage is unverified; review the issue's required conditions, test setup, and assertions before approval.

Risk assessment

60/100 · High · High confidence

The High rating is driven by security-sensitive behavior, public CLI behavior, failure-handling behavior.

  • Change scope: 10 changed files, 737 changed lines (+692 / -45), including 6 production files.
  • Affected components: acs
  • Risk drivers: security-sensitive behavior (+28); public CLI behavior (+18); failure-handling behavior (+12)
  • Regression evidence: Changed regression tests are included, reducing risk.
  • Confidence: High because changed-line patches were available for every production file.
  • Required review: Owning-squad review is required for acs before merge.

Posted by x-engineering-agent (Reviewer)

@x-engineering-agent x-engineering-agent Bot added the X Engineering Agent Reviewed Agent reviewed this PR label Oct 14, 2026
@JaysonTaiMicrosoft JaysonTaiMicrosoft added the Request X Engineering Agent Live Test Ask the agent to run live tests and review this PR label Oct 14, 2026
@JaysonTaiMicrosoft
JaysonTaiMicrosoft merged commit ae25afd into Azure:dev Oct 14, 2026
61 checks passed
@x-engineering-agent

Copy link
Copy Markdown
Contributor

Live test results — azdev test --live --series (changed test files only)

❌ FAIL (exit 1)

Selectors: acs.test_aks_create_with_kms_pmk_and_update_cmk acs.test_aks_create_with_kms_pmk_and_cmk acs.test_aks_update_with_kms_pmk acs.test_get_azure_keyvault_kms_key_vault_resource_id acs.test_get_kms_infrastructure_encryption acs.test_set_up_azure_keyvault_kms acs.test_update_azure_keyvault_kms acs.test_valid_azure_keyvault_kms_key_id_without_key_version acs.test_invalid_azure_keyvault_kms_key_id_with_insufficient_segments acs.test_invalid_azure_keyvault_kms_key_id_with_extra_segments acs.test_valid_azure_keyvault_kms_managed_hsm_resource_id acs.test_invalid_azure_keyvault_kms_key_vault_resource_id_wrong_provider acs.test_empty_azure_keyvault_kms_key_vault_resource_id acs.test_none_azure_keyvault_kms_key_vault_resource_id (module)
PR head ref: binxi/kms-pmk
PR head sha: 9745a9aed4b13e2d0c50dc5b1a23cfc91a991f5a
PR base ref: dev
New test files in PR: false

Changed test files run
src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py
src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_managed_cluster_decorator.py
src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_validators.py

Workflow run: https://github.com/Azure/issue-sentinel/actions/runs/38517211653

Live-test recordings: 1 regenerated — archived in workflow artifact live-test-pr-34204 (recordings/).

⚠️ The recording was not committed because the live test failed. Fix the test failure before publishing its regenerated cassette.

Recording files
src/azure-cli/azure/cli/command_modules/acs/tests/latest/recordings/test_aks_create_with_kms_pmk_and_update_cmk.yaml
Last 80 lines of azdev output
        })
    
        # create cluster with KMS infrastructure encryption (PMK) enabled
        create_cmd = 'aks create --resource-group={resource_group} --name={name} ' \
                     '--assign-identity {identity_id} ' \
                     '--kms-infrastructure-encryption Enabled ' \
                     '--ssh-key-value={ssh_key_value} -o json'
>       self.cmd(create_cmd, checks=[
            self.check('provisioningState', 'Succeeded'),
            self.check('securityProfile.kubernetesResourceObjectEncryptionProfile.infrastructureEncryption',
                       'Enabled'),
            self.not_exists('securityProfile.azureKeyVaultKms'),
        ])

azure-cli/src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py:11511: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
azure-cli/src/azure-cli/azure/cli/command_modules/acs/tests/latest/test_aks_commands.py:85: in cmd
    return super().cmd(command, checks=checks, expect_failure=expect_failure)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
azure-cli/src/azure-cli-testsdk/azure/cli/testsdk/base.py:177: in cmd
    return execute(self.cli_ctx, command, expect_failure=expect_failure).assert_with_checks(checks)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
azure-cli/src/azure-cli-testsdk/azure/cli/testsdk/base.py:252: in __init__
    self._in_process_execute(cli_ctx, command, expect_failure=expect_failure)
azure-cli/src/azure-cli-testsdk/azure/cli/testsdk/base.py:315: in _in_process_execute
    raise ex.exception
.venv/lib/python3.12/site-packages/knack/cli.py:233: in invoke
    cmd_result = self.invocation.execute(args)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
azure-cli/src/azure-cli-core/azure/cli/core/commands/__init__.py:677: in execute
    raise ex
azure-cli/src/azure-cli-core/azure/cli/core/commands/__init__.py:820: in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
azure-cli/src/azure-cli-core/azure/cli/core/commands/__init__.py:789: in _run_job
    result = cmd_copy(params)
             ^^^^^^^^^^^^^^^^
azure-cli/src/azure-cli-core/azure/cli/core/commands/__init__.py:335: in __call__
    return self.handler(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
azure-cli/src/azure-cli-core/azure/cli/core/commands/command_operation.py:120: in handler
    return op(**command_args)
           ^^^^^^^^^^^^^^^^^^
azure-cli/src/azure-cli/azure/cli/command_modules/acs/custom.py:1115: in aks_create
    return aks_create_decorator.create_mc(mc)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <azure.cli.command_modules.acs.managed_cluster_decorator.AKSManagedClusterCreateDecorator object at 0x7f135c105ca0>
mc = {'location': 'westcentralus', 'properties': {'agentPoolProfiles': [{'name': 'nodepool1', 'orchestratorVersion': '', 'v...ders/Microsoft.ManagedIdentity/userAssignedIdentities/clidrjaffdz74qye': {}}}, 'sku': {'name': 'Base', 'tier': 'Free'}}

    def create_mc(self, mc: ManagedCluster) -> ManagedCluster:
        """Send request to create a real managed cluster.
    
        :return: the ManagedCluster object
        """
        self._ensure_mc(mc)
    
        # Due to SPN replication latency, we do a few retries here
        max_retry = 30
        error_msg = ""
        for _ in range(0, max_retry):
            try:
                cluster = self.put_mc(mc)
                return cluster
            # CloudError was raised before, but since the adoption of track 2 SDK,
            # HttpResponseError would be raised instead
            except HttpResponseError as ex:
                error_msg = str(ex)
                if "not found in Active Directory tenant" in ex.message:
                    time.sleep(3)
                else:
>                   raise map_azure_error_to_cli_error(ex)
E                   azure.cli.core.azclierror.BadRequestError: (BadRequest) The VM size of Standard_DS2_v2 is not allowed in your subscription in location 'westcentralus'. The available VM sizes are 'standard_b16als_v2,standard_b16as_v2,standard_b16ls_v2,standard_b16pls_v2,standard_b16ps_v2,standard_b16s_v2,standard_b2als_v2,standard_b2as_v2,standard_b2ls_v2,standard_b2pls_v2,standard_b2ps_v2,standard_b2s_v2,standard_b32als_v2,standard_b32as_v2,standard_b32ls_v2,standard_b32s_v2,standard_b4als_v2,standard_b4as_v2,standard_b4ls_v2,standard_b4pls_v2,standard_b4ps_v2,standard_b4s_v2,standard_b8als_v2,standard_b8as_v2,standard_b8ls_v2,standard_b8pls_v2,standard_b8ps_v2,standard_b8s_v2,standard_d128ads_v7,standard_d128alds_v7,standard_d128als_v7,standard_d128as_v7,standard_d160ads_v7,standard_d160alds_v7,standard_d160als_v7,standard_d160as_v7,standard_d16_v3,standard_d16_v4,standard_d16_v5,standard_d16a_v4,standard_d16ads_v5,standard_d16ads_v6,standard_d16ads_v7,standard_d16alds_v6,standard_d16alds_v7,standard_d16als_v6,standard_d16als_v7,standard_d16as_v4,standard_d16as_v5,standard_d16as_v6,standard_d16as_v7,standard_d16d_v4,standard_d16d_v5,standard_d16ds_v4,standard_d16ds_v5,standard_d16lds_v5,standard_d16ls_v5,standard_d16pds_v5,standard_d16pds_v6,standard_d16plds_v5,standard_d16plds_v6,standard_d16pls_v5,standard_d16pls_v6,standard_d16ps_v5,standard_d16ps_v6,standard_d16s_v3,standard_d16s_v4,standard_d16s_v5,standard_d2_v3,standard_d2_v4,standard_d2_v5,standard_d2a_v4,standard_d2ads_v5,standard_d2ads_v6,standard_d2ads_v7,standard_d2alds_v6,standard_d2alds_v7,standard_d2als_v6,standard_d2als_v7,standard_d2as_v4,standard_d2as_v5,standard_d2as_v6,standard_d2as_v7,standard_d2d_v4,standard_d2d_v5,standard_d2ds_v4,standard_d2ds_v5,standard_d2lds_v5,standard_d2ls_v5,standard_d2pds_v5,standard_d2pds_v6,standard_d2plds_v5,standard_d2plds_v6,standard_d2pls_v5,standard_d2pls_v6,standard_d2ps_v5,standard_d2ps_v6,standard_d2s_v3,standard_d2s_v4,standard_d2s_v5,standard_d32_v3,standard_d32_v4,standard_d32_v5,standard_d32a_v4,standard_d32ads_v5,standard_d32ads_v6,standard_d32ads_v7,standard_d32alds_v6,standard_d32alds_v7,standard_d32als_v6,standard_d32als_v7,standard_d32as_v4,standard_d32as_v5,standard_d32as_v6,standard_d32as_v7,standard_d32d_v4,standard_d32d_v5,standard_d32ds_v4,standard_d32ds_v5,standard_d32lds_v5,standard_d32ls_v5,standard_d32pds_v5,standard_d32pds_v6,standard_d32plds_v5,standard_d32plds_v6,standard_d32pls_v5,standard_d32pls_v6,standard_d32ps_v5,standard_d32ps_v6,standard_d32s_v3,standard_d32s_v4,standard_d32s_v5,standard_d48_v3,standard_d48_v4,standard_d48_v5,standard_d48a_v4,standard_d48ads_v5,standard_d48ads_v6,standard_d48ads_v7,standard_d48alds_v6,standard_d48alds_v7,standard_d48als_v6,standard_d48als_v7,standard_d48as_v4,standard_d48as_v5,standard_d48as_v6,standard_d48as_v7,standard_d48d_v4,standard_d48d_v5,standard_d48ds_v4,standard_d48ds_v5,standard_d48lds_v5,standard_d48ls_v5,standard_d48pds_v5,standard_d48pds_v6,standard_d48plds_v5,standard_d48plds_v6,standard_d48pls_v5,standard_d48pls_v6,standard_d48ps_v5,standard_d48ps_v6,standard_d48s_v3,standard_d48s_v4,standard_d48s_v5,standard_d4_v3,standard_d4_v4,standard_d4_v5,standard_d4a_v4,standard_d4ads_v5,standard_d4ads_v6,standard_d4ads_v7,standard_d4alds_v6,standard_d4alds_v7,standard_d4als_v6,standard_d4als_v7,standard_d4as_v4,standard_d4as_v5,standard_d4as_v6,standard_d4as_v7,standard_d4d_v4,standard_d4d_v5,standard_d4ds_v4,standard_d4ds_v5,standard_d4lds_v5,standard_d4ls_v5,standard_d4pds_v5,standard_d4pds_v6,standard_d4plds_v5,standard_d4plds_v6,standard_d4pls_v5,standard_d4pls_v6,standard_d4ps_v5,standard_d4ps_v6,standard_d4s_v3,standard_d4s_v4,standard_d4s_v5,standard_d64_v3,standard_d64_v4,standard_d64_v5,standard_d64a_v4,standard_d64ads_v5,standard_d64ads_v6,standard_d64ads_v7,standard_d64alds_v6,standard_d64alds_v7,standard_d64als_v6,standard_d64als_v7,standard_d64as_v4,standard_d64as_v5,standard_d64as_v6,standard_d64as_v7,standard_d64d_v4,standard_d64d_v5,standard_d64ds_v4,standard_d64ds_v5,standard_d64lds_v5,standard_d64ls_v5,standard_d64pds_v5,standard_d64pds_v6,standard_d64plds_v5,standard_d64plds_v6,standard_d64pls_v5,standard_d64pls_v6,standard_d64ps_v5,standard_d64ps_v6,standard_d64s_v3,standard_d64s_v4,standard_d64s_v5,standard_d8_v3,standard_d8_v4,standard_d8_v5,standard_d8a_v4,standard_d8ads_v5,standard_d8ads_v6,standard_d8ads_v7,standard_d8alds_v6,standard_d8alds_v7,standard_d8als_v6,standard_d8als_v7,standard_d8as_v4,standard_d8as_v5,standard_d8as_v6,standard_d8as_v7,standard_d8d_v4,standard_d8d_v5,standard_d8ds_v4,standard_d8ds_v5,standard_d8lds_v5,standard_d8ls_v5,standard_d8pds_v5,standard_d8pds_v6,standard_d8plds_v5,standard_d8plds_v6,standard_d8pls_v5,standard_d8pls_v6,standard_d8ps_v5,standard_d8ps_v6,standard_d8s_v3,standard_d8s_v4,standard_d8s_v5,standard_d96_v5,standard_d96a_v4,standard_d96ads_v5,standard_d96ads_v6,standard_d96ads_v7,standard_d96alds_v6,standard_d96alds_v7,standard_d96als_v6,standard_d96als_v7,standard_d96as_v4,standard_d96as_v5,standard_d96as_v6,standard_d96as_v7,standard_d96d_v5,standard_d96ds_v5,standard_d96lds_v5,standard_d96ls_v5,standard_d96pds_v6,standard_d96plds_v6,standard_d96pls_v6,standard_d96ps_v6,standard_d96s_v5,standard_dc16ads_v6,standard_dc16as_v6,standard_dc2ads_v6,standard_dc2as_v6,standard_dc32ads_v6,standard_dc32as_v6,standard_dc48ads_v6,standard_dc48as_v6,standard_dc4ads_v6,standard_dc4as_v6,standard_dc64ads_v6,standard_dc64as_v6,standard_dc8ads_v6,standard_dc8as_v6,standard_dc96ads_v6,standard_dc96as_v6,standard_e104i_v5,standard_e104id_v5,standard_e104ids_v5,standard_e104is_v5,standard_e112iads_v5,standard_e112ias_v5,standard_e112ibds_v5,standard_e112ibs_v5,standard_e128-32ads_v7,standard_e128-32as_v7,standard_e128-64ads_v7,standard_e128-64as_v7,standard_e128ads_v7,standard_e128as_v7,standard_e16-4ads_v5,standard_e16-4ads_v7,standard_e16-4as_v4,standard_e16-4as_v5,standard_e16-4as_v7,standard_e16-4ds_v4,standard_e16-4ds_v5,standard_e16-4s_v3,standard_e16-4s_v4,standard_e16-4s_v5,standard_e16-8ads_v5,standard_e16-8ads_v7,standard_e16-8as_v4,standard_e16-8as_v5,standard_e16-8as_v7,standard_e16-8ds_v4,standard_e16-8ds_v5,standard_e16-8s_v3,standard_e16-8s_v4,standard_e16-8s_v5,standard_e16_v3,standard_e16_v4,standard_e16_v5,standard_e16a_v4,standard_e16ads_v5,standard_e16ads_v6,standard_e16ads_v7,standard_e16as_v4,standard_e16as_v5,standard_e16as_v6,standard_e16as_v7,standard_e16bds_v5,standard_e16bs_v5,standard_e16d_v4,standard_e16d_v5,standard_e16ds_v4,standard_e16ds_v5,standard_e16pds_v5,standard_e16pds_v6,standard_e16ps_v5,standard_e16ps_v6,standard_e16s_v3,standard_e16s_v4,standard_e16s_v5,standard_e20_v3,standard_e20_v4,standard_e20_v5,standard_e20a_v4,standard_e20ads_v5,standard_e20ads_v6,standard_e20as_v4,standard_e20as_v5,standard_e20as_v6,standard_e20d_v4,standard_e20d_v5,standard_e20ds_v4,standard_e20ds_v5,standard_e20pds_v5,standard_e20ps_v5,standard_e20s_v3,standard_e20s_v4,standard_e20s_v5,standard_e2_v3,standard_e2_v4,standard_e2_v5,standard_e2a_v4,standard_e2ads_v5,standard_e2ads_v6,standard_e2ads_v7,standard_e2as_v4,standard_e2as_v5,standard_e2as_v6,standard_e2as_v7,standard_e2bds_v5,standard_e2bs_v5,standard_e2d_v4,standard_e2d_v5,standard_e2ds_v4,standard_e2ds_v5,standard_e2pds_v5,standard_e2pds_v6,standard_e2ps_v5,standard_e2ps_v6,standard_e2s_v3,standard_e2s_v4,standard_e2s_v5,standard_e32-16ads_v5,standard_e32-16ads_v7,standard_e32-16as_v4,standard_e32-16as_v5,standard_e32-16as_v7,standard_e32-16ds_v4,standard_e32-16ds_v5,standard_e32-16s_v3,standard_e32-16s_v4,standard_e32-16s_v5,standard_e32-8ads_v5,standard_e32-8ads_v7,standard_e32-8as_v4,standard_e32-8as_v5,standard_e32-8as_v7,standard_e32-8ds_v4,standard_e32-8ds_v5,standard_e32-8s_v3,standard_e32-8s_v4,standard_e32-8s_v5,standard_e32_v3,standard_e32_v4,standard_e32_v5,standard_e32a_v4,standard_e32ads_v5,standard_e32ads_v6,standard_e32ads_v7,standard_e32as_v4,standard_e32as_v5,standard_e32as_v6,standard_e32as_v7,standard_e32bds_v5,standard_e32bs_v5,standard_e32d_v4,standard_e32d_v5,standard_e32ds_v4,standard_e32ds_v5,standard_e32pds_v5,standard_e32pds_v6,standard_e32ps_v5,standard_e32ps_v6,standard_e32s_v3,standard_e32s_v4,standard_e32s_v5,standard_e4-2ads_v5,standard_e4-2ads_v7,standard_e4-2as_v4,standard_e4-2as_v5,standard_e4-2as_v7,standard_e4-2ds_v4,standard_e4-2ds_v5,standard_e4-2s_v3,standard_e4-2s_v4,standard_e4-2s_v5,standard_e48_v3,standard_e48_v4,standard_e48_v5,standard_e48a_v4,standard_e48ads_v5,standard_e48ads_v6,standard_e48ads_v7,standard_e48as_v4,standard_e48as_v5,standard_e48as_v6,standard_e48as_v7,standard_e48bds_v5,standard_e48bs_v5,standard_e48d_v4,standard_e48d_v5,standard_e48ds_v4,standard_e48ds_v5,standard_e48pds_v6,standard_e48ps_v6,standard_e48s_v3,standard_e48s_v4,standard_e48s_v5,standard_e4_v3,standard_e4_v4,standard_e4_v5,standard_e4a_v4,standard_e4ads_v5,standard_e4ads_v6,standard_e4ads_v7,standard_e4as_v4,standard_e4as_v5,standard_e4as_v6,standard_e4as_v7,standard_e4bds_v5,standard_e4bs_v5,standard_e4d_v4,standard_e4d_v5,standard_e4ds_v4,standard_e4ds_v5,standard_e4pds_v5,standard_e4pds_v6,standard_e4ps_v5,standard_e4ps_v6,standard_e4s_v3,standard_e4s_v4,standard_e4s_v5,standard_e64-16ads_v5,standard_e64-16ads_v7,standard_e64-16as_v4,standard_e64-16as_v5,standard_e64-16as_v7,standard_e64-16ds_v4,standard_e64-16ds_v5,standard_e64-16s_v3,standard_e64-16s_v4,standard_e64-16s_v5,standard_e64-32ads_v5,standard_e64-32ads_v7,standard_e64-32as_v4,standard_e64-32as_v5,standard_e64-32as_v7,standard_e64-32ds_v4,standard_e64-32ds_v5,standard_e64-32s_v3,standard_e64-32s_v4,standard_e64-32s_v5,standard_e64_v3,standard_e64_v4,standard_e64_v5,standard_e64a_v4,standard_e64ads_v5,standard_e64ads_v6,standard_e64ads_v7,standard_e64as_v4,standard_e64as_v5,standard_e64as_v6,standard_e64as_v7,standard_e64bds_v5,standard_e64bs_v5,standard_e64d_v4,standard_e64d_v5,standard_e64ds_v4,standard_e64ds_v5,standard_e64pds_v6,standard_e64ps_v6,standard_e64s_v3,standard_e64s_v4,standard_e64s_v5,standard_e8-2ads_v5,standard_e8-2ads_v7,standard_e8-2as_v4,standard_e8-2as_v5,standard_e8-2as_v7,standard_e8-2ds_v4,standard_e8-2ds_v5,standard_e8-2s_v3,standard_e8-2s_v4,standard_e8-2s_v5,standard_e8-4ads_v5,standard_e8-4ads_v7,standard_e8-4as_v4,standard_e8-4as_v5,standard_e8-4as_v7,standard_e8-4ds_v4,standard_e8-4ds_v5,standard_e8-4s_v3,standard_e8-4s_v4,standard_e8-4s_v5,standard_e80ids_v4,standard_e80is_v4,standard_e8_v3,standard_e8_v4,standard_e8_v5,standard_e8a_v4,standard_e8ads_v5,standard_e8ads_v6,standard_e8ads_v7,standard_e8as_v4,standard_e8as_v5,standard_e8as_v6,standard_e8as_v7,standard_e8bds_v5,standard_e8bs_v5,standard_e8d_v4,standard_e8d_v5,standard_e8ds_v4,standard_e8ds_v5,standard_e8pds_v5,standard_e8pds_v6,standard_e8ps_v5,standard_e8ps_v6,standard_e8s_v3,standard_e8s_v4,standard_e8s_v5,standard_e96-24ads_v5,standard_e96-24ads_v6,standard_e96-24ads_v7,standard_e96-24as_v4,standard_e96-24as_v5,standard_e96-24as_v7,standard_e96-24ds_v5,standard_e96-24s_v5,standard_e96-48ads_v5,standard_e96-48ads_v6,standard_e96-48ads_v7,standard_e96-48as_v4,standard_e96-48as_v5,standard_e96-48as_v7,standard_e96-48ds_v5,standard_e96-48s_v5,standard_e96_v5,standard_e96a_v4,standard_e96ads_v5,standard_e96ads_v6,standard_e96ads_v7,standard_e96as_v4,standard_e96as_v5,standard_e96as_v6,standard_e96as_v7,standard_e96bds_v5,standard_e96bs_v5,standard_e96d_v5,standard_e96ds_v5,standard_e96pds_v6,standard_e96ps_v6,standard_e96s_v5,standard_ec16ads_v6,standard_ec16as_v6,standard_ec2ads_v6,standard_ec2as_v6,standard_ec32ads_v6,standard_ec32as_v6,standard_ec48ads_v6,standard_ec48as_v6,standard_ec4ads_v6,standard_ec4as_v6,standard_ec64ads_v6,standard_ec64as_v6,standard_ec8ads_v6,standard_ec8as_v6,standard_ec96ads_v6,standard_ec96as_v6,standard_f16-4amds_v7,standard_f16-4ams_v7,standard_f16-8amds_v7,standard_f16-8ams_v7,standard_f16ads_v7,standard_f16alds_v7,standard_f16als_v6,standard_f16als_v7,standard_f16amds_v7,standard_f16ams_v6,standard_f16ams_v7,standard_f16as_v6,standard_f16as_v7,standard_f2-1amds_v7,standard_f2-1ams_v7,standard_f2ads_v7,standard_f2alds_v7,standard_f2als_v6,standard_f2als_v7,standard_f2amds_v7,standard_f2ams_v6,standard_f2ams_v7,standard_f2as_v6,standard_f2as_v7,standard_f32-16amds_v7,standard_f32-16ams_v7,standard_f32-8amds_v7,standard_f32-8ams_v7,standard_f32ads_v7,standard_f32alds_v7,standard_f32als_v6,standard_f32als_v7,standard_f32amds_v7,standard_f32ams_v6,standard_f32ams_v7,standard_f32as_v6,standard_f32as_v7,standard_f4-1amds_v7,standard_f4-1ams_v7,standard_f4-2amds_v7,standard_f4-2ams_v7,standard_f48ads_v7,standard_f48alds_v7,standard_f48als_v6,standard_f48als_v7,standard_f48amds_v7,standard_f48ams_v6,standard_f48ams_v7,standard_f48as_v6,standard_f48as_v7,standard_f4ads_v7,standard_f4alds_v7,standard_f4als_v6,standard_f4als_v7,standard_f4amds_v7,standard_f4ams_v6,standard_f4ams_v7,standard_f4as_v6,standard_f4as_v7,standard_f64-16amds_v7,standard_f64-16ams_v7,standard_f64-32amds_v7,standard_f64-32ams_v7,standard_f64ads_v7,standard_f64alds_v7,standard_f64als_v6,standard_f64als_v7,standard_f64amds_v7,standard_f64ams_v6,standard_f64ams_v7,standard_f64as_v6,standard_f64as_v7,standard_f8-2amds_v7,standard_f8-2ams_v7,standard_f8-4amds_v7,standard_f8-4ams_v7,standard_f80ads_v7,standard_f80alds_v7,standard_f80als_v7,standard_f80amds_v7,standard_f80ams_v7,standard_f80as_v7,standard_f8ads_v7,standard_f8alds_v7,standard_f8als_v6,standard_f8als_v7,standard_f8amds_v7,standard_f8ams_v6,standard_f8ams_v7,standard_f8as_v6,standard_f8as_v7,standard_fx12-6mds_v2,standard_fx12-6ms_v2,standard_fx12mds_v2,standard_fx12ms_v2,standard_fx16-4mds_v2,standard_fx16-4ms_v2,standard_fx16-8mds_v2,standard_fx16-8ms_v2,standard_fx16mds_v2,standard_fx16ms_v2,standard_fx24-12mds_v2,standard_fx24-12ms_v2,standard_fx24-6mds_v2,standard_fx24-6ms_v2,standard_fx24mds_v2,standard_fx24ms_v2,standard_fx2mds_v2,standard_fx2ms_v2,standard_fx32-16mds_v2,standard_fx32-16ms_v2,standard_fx32-8mds_v2,standard_fx32-8ms_v2,standard_fx32mds_v2,standard_fx32ms_v2,standard_fx4-2mds_v2,standard_fx4-2ms_v2,standard_fx48-12mds_v2,standard_fx48-12ms_v2,standard_fx48-24mds_v2,standard_fx48-24ms_v2,standard_fx48mds_v2,standard_fx48ms_v2,standard_fx4mds_v2,standard_fx4ms_v2,standard_fx64-16mds_v2,standard_fx64-16ms_v2,standard_fx64-32mds_v2,standard_fx64-32ms_v2,standard_fx64mds_v2,standard_fx64ms_v2,standard_fx8-2mds_v2,standard_fx8-2ms_v2,standard_fx8-4mds_v2,standard_fx8-4ms_v2,standard_fx8mds_v2,standard_fx8ms_v2,standard_fx96-24mds_v2,standard_fx96-24ms_v2,standard_fx96-48mds_v2,standard_fx96-48ms_v2,standard_fx96mds_v2,standard_fx96ms_v2,standard_l12aos_v4,standard_l16aos_v4,standard_l16as_v3,standard_l16as_v4,standard_l16s_v3,standard_l16s_v4,standard_l24aos_v4,standard_l2aos_v4,standard_l2as_v4,standard_l2s_v4,standard_l32aos_v4,standard_l32as_v3,standard_l32as_v4,standard_l32s_v3,standard_l32s_v4,standard_l48as_v3,standard_l48as_v4,standard_l48s_v3,standard_l48s_v4,standard_l4aos_v4,standard_l4as_v4,standard_l4s_v4,standard_l64as_v3,standard_l64as_v4,standard_l64s_v3,standard_l64s_v4,standard_l80as_v3,standard_l80as_v4,standard_l80s_v3,standard_l80s_v4,standard_l8aos_v4,standard_l8as_v3,standard_l8as_v4,standard_l8s_v3,standard_l8s_v4,standard_l96as_v4,standard_l96s_v4' For more details, please visit https://aka.ms/aks/quotas-skus-regions
E                   Code: BadRequest
E                   Message: The VM size of Standard_DS2_v2 is not allowed in your subscription in location 'westcentralus'. The available VM sizes are 'standard_b16als_v2,standard_b16as_v2,standard_b16ls_v2,standard_b16pls_v2,standard_b16ps_v2,standard_b16s_v2,standard_b2als_v2,standard_b2as_v2,standard_b2ls_v2,standard_b2pls_v2,standard_b2ps_v2,standard_b2s_v2,standard_b32als_v2,standard_b32as_v2,standard_b32ls_v2,standard_b32s_v2,standard_b4als_v2,standard_b4as_v2,standard_b4ls_v2,standard_b4pls_v2,standard_b4ps_v2,standard_b4s_v2,standard_b8als_v2,standard_b8as_v2,standard_b8ls_v2,standard_b8pls_v2,standard_b8ps_v2,standard_b8s_v2,standard_d128ads_v7,standard_d128alds_v7,standard_d128als_v7,standard_d128as_v7,standard_d160ads_v7,standard_d160alds_v7,standard_d160als_v7,standard_d160as_v7,standard_d16_v3,standard_d16_v4,standard_d16_v5,standard_d16a_v4,standard_d16ads_v5,standard_d16ads_v6,standard_d16ads_v7,standard_d16alds_v6,standard_d16alds_v7,standard_d16als_v6,standard_d16als_v7,standard_d16as_v4,standard_d16as_v5,standard_d16as_v6,standard_d16as_v7,standard_d16d_v4,standard_d16d_v5,standard_d16ds_v4,standard_d16ds_v5,standard_d16lds_v5,standard_d16ls_v5,standard_d16pds_v5,standard_d16pds_v6,standard_d16plds_v5,standard_d16plds_v6,standard_d16pls_v5,standard_d16pls_v6,standard_d16ps_v5,standard_d16ps_v6,standard_d16s_v3,standard_d16s_v4,standard_d16s_v5,standard_d2_v3,standard_d2_v4,standard_d2_v5,standard_d2a_v4,standard_d2ads_v5,standard_d2ads_v6,standard_d2ads_v7,standard_d2alds_v6,standard_d2alds_v7,standard_d2als_v6,standard_d2als_v7,standard_d2as_v4,standard_d2as_v5,standard_d2as_v6,standard_d2as_v7,standard_d2d_v4,standard_d2d_v5,standard_d2ds_v4,standard_d2ds_v5,standard_d2lds_v5,standard_d2ls_v5,standard_d2pds_v5,standard_d2pds_v6,standard_d2plds_v5,standard_d2plds_v6,standard_d2pls_v5,standard_d2pls_v6,standard_d2ps_v5,standard_d2ps_v6,standard_d2s_v3,standard_d2s_v4,standard_d2s_v5,standard_d32_v3,standard_d32_v4,standard_d32_v5,standard_d32a_v4,standard_d32ads_v5,standard_d32ads_v6,standard_d32ads_v7,standard_d32alds_v6,standard_d32alds_v7,standard_d32als_v6,standard_d32als_v7,standard_d32as_v4,standard_d32as_v5,standard_d32as_v6,standard_d32as_v7,standard_d32d_v4,standard_d32d_v5,standard_d32ds_v4,standard_d32ds_v5,standard_d32lds_v5,standard_d32ls_v5,standard_d32pds_v5,standard_d32pds_v6,standard_d32plds_v5,standard_d32plds_v6,standard_d32pls_v5,standard_d32pls_v6,standard_d32ps_v5,standard_d32ps_v6,standard_d32s_v3,standard_d32s_v4,standard_d32s_v5,standard_d48_v3,standard_d48_v4,standard_d48_v5,standard_d48a_v4,standard_d48ads_v5,standard_d48ads_v6,standard_d48ads_v7,standard_d48alds_v6,standard_d48alds_v7,standard_d48als_v6,standard_d48als_v7,standard_d48as_v4,standard_d48as_v5,standard_d48as_v6,standard_d48as_v7,standard_d48d_v4,standard_d48d_v5,standard_d48ds_v4,standard_d48ds_v5,standard_d48lds_v5,standard_d48ls_v5,standard_d48pds_v5,standard_d48pds_v6,standard_d48plds_v5,standard_d48plds_v6,standard_d48pls_v5,standard_d48pls_v6,standard_d48ps_v5,standard_d48ps_v6,standard_d48s_v3,standard_d48s_v4,standard_d48s_v5,standard_d4_v3,standard_d4_v4,standard_d4_v5,standard_d4a_v4,standard_d4ads_v5,standard_d4ads_v6,standard_d4ads_v7,standard_d4alds_v6,standard_d4alds_v7,standard_d4als_v6,standard_d4als_v7,standard_d4as_v4,standard_d4as_v5,standard_d4as_v6,standard_d4as_v7,standard_d4d_v4,standard_d4d_v5,standard_d4ds_v4,standard_d4ds_v5,standard_d4lds_v5,standard_d4ls_v5,standard_d4pds_v5,standard_d4pds_v6,standard_d4plds_v5,standard_d4plds_v6,standard_d4pls_v5,standard_d4pls_v6,standard_d4ps_v5,standard_d4ps_v6,standard_d4s_v3,standard_d4s_v4,standard_d4s_v5,standard_d64_v3,standard_d64_v4,standard_d64_v5,standard_d64a_v4,standard_d64ads_v5,standard_d64ads_v6,standard_d64ads_v7,standard_d64alds_v6,standard_d64alds_v7,standard_d64als_v6,standard_d64als_v7,standard_d64as_v4,standard_d64as_v5,standard_d64as_v6,standard_d64as_v7,standard_d64d_v4,standard_d64d_v5,standard_d64ds_v4,standard_d64ds_v5,standard_d64lds_v5,standard_d64ls_v5,standard_d64pds_v5,standard_d64pds_v6,standard_d64plds_v5,standard_d64plds_v6,standard_d64pls_v5,standard_d64pls_v6,standard_d64ps_v5,standard_d64ps_v6,standard_d64s_v3,standard_d64s_v4,standard_d64s_v5,standard_d8_v3,standard_d8_v4,standard_d8_v5,standard_d8a_v4,standard_d8ads_v5,standard_d8ads_v6,standard_d8ads_v7,standard_d8alds_v6,standard_d8alds_v7,standard_d8als_v6,standard_d8als_v7,standard_d8as_v4,standard_d8as_v5,standard_d8as_v6,standard_d8as_v7,standard_d8d_v4,standard_d8d_v5,standard_d8ds_v4,standard_d8ds_v5,standard_d8lds_v5,standard_d8ls_v5,standard_d8pds_v5,standard_d8pds_v6,standard_d8plds_v5,standard_d8plds_v6,standard_d8pls_v5,standard_d8pls_v6,standard_d8ps_v5,standard_d8ps_v6,standard_d8s_v3,standard_d8s_v4,standard_d8s_v5,standard_d96_v5,standard_d96a_v4,standard_d96ads_v5,standard_d96ads_v6,standard_d96ads_v7,standard_d96alds_v6,standard_d96alds_v7,standard_d96als_v6,standard_d96als_v7,standard_d96as_v4,standard_d96as_v5,standard_d96as_v6,standard_d96as_v7,standard_d96d_v5,standard_d96ds_v5,standard_d96lds_v5,standard_d96ls_v5,standard_d96pds_v6,standard_d96plds_v6,standard_d96pls_v6,standard_d96ps_v6,standard_d96s_v5,standard_dc16ads_v6,standard_dc16as_v6,standard_dc2ads_v6,standard_dc2as_v6,standard_dc32ads_v6,standard_dc32as_v6,standard_dc48ads_v6,standard_dc48as_v6,standard_dc4ads_v6,standard_dc4as_v6,standard_dc64ads_v6,standard_dc64as_v6,standard_dc8ads_v6,standard_dc8as_v6,standard_dc96ads_v6,standard_dc96as_v6,standard_e104i_v5,standard_e104id_v5,standard_e104ids_v5,standard_e104is_v5,standard_e112iads_v5,standard_e112ias_v5,standard_e112ibds_v5,standard_e112ibs_v5,standard_e128-32ads_v7,standard_e128-32as_v7,standard_e128-64ads_v7,standard_e128-64as_v7,standard_e128ads_v7,standard_e128as_v7,standard_e16-4ads_v5,standard_e16-4ads_v7,standard_e16-4as_v4,standard_e16-4as_v5,standard_e16-4as_v7,standard_e16-4ds_v4,standard_e16-4ds_v5,standard_e16-4s_v3,standard_e16-4s_v4,standard_e16-4s_v5,standard_e16-8ads_v5,standard_e16-8ads_v7,standard_e16-8as_v4,standard_e16-8as_v5,standard_e16-8as_v7,standard_e16-8ds_v4,standard_e16-8ds_v5,standard_e16-8s_v3,standard_e16-8s_v4,standard_e16-8s_v5,standard_e16_v3,standard_e16_v4,standard_e16_v5,standard_e16a_v4,standard_e16ads_v5,standard_e16ads_v6,standard_e16ads_v7,standard_e16as_v4,standard_e16as_v5,standard_e16as_v6,standard_e16as_v7,standard_e16bds_v5,standard_e16bs_v5,standard_e16d_v4,standard_e16d_v5,standard_e16ds_v4,standard_e16ds_v5,standard_e16pds_v5,standard_e16pds_v6,standard_e16ps_v5,standard_e16ps_v6,standard_e16s_v3,standard_e16s_v4,standard_e16s_v5,standard_e20_v3,standard_e20_v4,standard_e20_v5,standard_e20a_v4,standard_e20ads_v5,standard_e20ads_v6,standard_e20as_v4,standard_e20as_v5,standard_e20as_v6,standard_e20d_v4,standard_e20d_v5,standard_e20ds_v4,standard_e20ds_v5,standard_e20pds_v5,standard_e20ps_v5,standard_e20s_v3,standard_e20s_v4,standard_e20s_v5,standard_e2_v3,standard_e2_v4,standard_e2_v5,standard_e2a_v4,standard_e2ads_v5,standard_e2ads_v6,standard_e2ads_v7,standard_e2as_v4,standard_e2as_v5,standard_e2as_v6,standard_e2as_v7,standard_e2bds_v5,standard_e2bs_v5,standard_e2d_v4,standard_e2d_v5,standard_e2ds_v4,standard_e2ds_v5,standard_e2pds_v5,standard_e2pds_v6,standard_e2ps_v5,standard_e2ps_v6,standard_e2s_v3,standard_e2s_v4,standard_e2s_v5,standard_e32-16ads_v5,standard_e32-16ads_v7,standard_e32-16as_v4,standard_e32-16as_v5,standard_e32-16as_v7,standard_e32-16ds_v4,standard_e32-16ds_v5,standard_e32-16s_v3,standard_e32-16s_v4,standard_e32-16s_v5,standard_e32-8ads_v5,standard_e32-8ads_v7,standard_e32-8as_v4,standard_e32-8as_v5,standard_e32-8as_v7,standard_e32-8ds_v4,standard_e32-8ds_v5,standard_e32-8s_v3,standard_e32-8s_v4,standard_e32-8s_v5,standard_e32_v3,standard_e32_v4,standard_e32_v5,standard_e32a_v4,standard_e32ads_v5,standard_e32ads_v6,standard_e32ads_v7,standard_e32as_v4,standard_e32as_v5,standard_e32as_v6,standard_e32as_v7,standard_e32bds_v5,standard_e32bs_v5,standard_e32d_v4,standard_e32d_v5,standard_e32ds_v4,standard_e32ds_v5,standard_e32pds_v5,standard_e32pds_v6,standard_e32ps_v5,standard_e32ps_v6,standard_e32s_v3,standard_e32s_v4,standard_e32s_v5,standard_e4-2ads_v5,standard_e4-2ads_v7,standard_e4-2as_v4,standard_e4-2as_v5,standard_e4-2as_v7,standard_e4-2ds_v4,standard_e4-2ds_v5,standard_e4-2s_v3,standard_e4-2s_v4,standard_e4-2s_v5,standard_e48_v3,standard_e48_v4,standard_e48_v5,standard_e48a_v4,standard_e48ads_v5,standard_e48ads_v6,standard_e48ads_v7,standard_e48as_v4,standard_e48as_v5,standard_e48as_v6,standard_e48as_v7,standard_e48bds_v5,standard_e48bs_v5,standard_e48d_v4,standard_e48d_v5,standard_e48ds_v4,standard_e48ds_v5,standard_e48pds_v6,standard_e48ps_v6,standard_e48s_v3,standard_e48s_v4,standard_e48s_v5,standard_e4_v3,standard_e4_v4,standard_e4_v5,standard_e4a_v4,standard_e4ads_v5,standard_e4ads_v6,standard_e4ads_v7,standard_e4as_v4,standard_e4as_v5,standard_e4as_v6,standard_e4as_v7,standard_e4bds_v5,standard_e4bs_v5,standard_e4d_v4,standard_e4d_v5,standard_e4ds_v4,standard_e4ds_v5,standard_e4pds_v5,standard_e4pds_v6,standard_e4ps_v5,standard_e4ps_v6,standard_e4s_v3,standard_e4s_v4,standard_e4s_v5,standard_e64-16ads_v5,standard_e64-16ads_v7,standard_e64-16as_v4,standard_e64-16as_v5,standard_e64-16as_v7,standard_e64-16ds_v4,standard_e64-16ds_v5,standard_e64-16s_v3,standard_e64-16s_v4,standard_e64-16s_v5,standard_e64-32ads_v5,standard_e64-32ads_v7,standard_e64-32as_v4,standard_e64-32as_v5,standard_e64-32as_v7,standard_e64-32ds_v4,standard_e64-32ds_v5,standard_e64-32s_v3,standard_e64-32s_v4,standard_e64-32s_v5,standard_e64_v3,standard_e64_v4,standard_e64_v5,standard_e64a_v4,standard_e64ads_v5,standard_e64ads_v6,standard_e64ads_v7,standard_e64as_v4,standard_e64as_v5,standard_e64as_v6,standard_e64as_v7,standard_e64bds_v5,standard_e64bs_v5,standard_e64d_v4,standard_e64d_v5,standard_e64ds_v4,standard_e64ds_v5,standard_e64pds_v6,standard_e64ps_v6,standard_e64s_v3,standard_e64s_v4,standard_e64s_v5,standard_e8-2ads_v5,standard_e8-2ads_v7,standard_e8-2as_v4,standard_e8-2as_v5,standard_e8-2as_v7,standard_e8-2ds_v4,standard_e8-2ds_v5,standard_e8-2s_v3,standard_e8-2s_v4,standard_e8-2s_v5,standard_e8-4ads_v5,standard_e8-4ads_v7,standard_e8-4as_v4,standard_e8-4as_v5,standard_e8-4as_v7,standard_e8-4ds_v4,standard_e8-4ds_v5,standard_e8-4s_v3,standard_e8-4s_v4,standard_e8-4s_v5,standard_e80ids_v4,standard_e80is_v4,standard_e8_v3,standard_e8_v4,standard_e8_v5,standard_e8a_v4,standard_e8ads_v5,standard_e8ads_v6,standard_e8ads_v7,standard_e8as_v4,standard_e8as_v5,standard_e8as_v6,standard_e8as_v7,standard_e8bds_v5,standard_e8bs_v5,standard_e8d_v4,standard_e8d_v5,standard_e8ds_v4,standard_e8ds_v5,standard_e8pds_v5,standard_e8pds_v6,standard_e8ps_v5,standard_e8ps_v6,standard_e8s_v3,standard_e8s_v4,standard_e8s_v5,standard_e96-24ads_v5,standard_e96-24ads_v6,standard_e96-24ads_v7,standard_e96-24as_v4,standard_e96-24as_v5,standard_e96-24as_v7,standard_e96-24ds_v5,standard_e96-24s_v5,standard_e96-48ads_v5,standard_e96-48ads_v6,standard_e96-48ads_v7,standard_e96-48as_v4,standard_e96-48as_v5,standard_e96-48as_v7,standard_e96-48ds_v5,standard_e96-48s_v5,standard_e96_v5,standard_e96a_v4,standard_e96ads_v5,standard_e96ads_v6,standard_e96ads_v7,standard_e96as_v4,standard_e96as_v5,standard_e96as_v6,standard_e96as_v7,standard_e96bds_v5,standard_e96bs_v5,standard_e96d_v5,standard_e96ds_v5,standard_e96pds_v6,standard_e96ps_v6,standard_e96s_v5,standard_ec16ads_v6,standard_ec16as_v6,standard_ec2ads_v6,standard_ec2as_v6,standard_ec32ads_v6,standard_ec32as_v6,standard_ec48ads_v6,standard_ec48as_v6,standard_ec4ads_v6,standard_ec4as_v6,standard_ec64ads_v6,standard_ec64as_v6,standard_ec8ads_v6,standard_ec8as_v6,standard_ec96ads_v6,standard_ec96as_v6,standard_f16-4amds_v7,standard_f16-4ams_v7,standard_f16-8amds_v7,standard_f16-8ams_v7,standard_f16ads_v7,standard_f16alds_v7,standard_f16als_v6,standard_f16als_v7,standard_f16amds_v7,standard_f16ams_v6,standard_f16ams_v7,standard_f16as_v6,standard_f16as_v7,standard_f2-1amds_v7,standard_f2-1ams_v7,standard_f2ads_v7,standard_f2alds_v7,standard_f2als_v6,standard_f2als_v7,standard_f2amds_v7,standard_f2ams_v6,standard_f2ams_v7,standard_f2as_v6,standard_f2as_v7,standard_f32-16amds_v7,standard_f32-16ams_v7,standard_f32-8amds_v7,standard_f32-8ams_v7,standard_f32ads_v7,standard_f32alds_v7,standard_f32als_v6,standard_f32als_v7,standard_f32amds_v7,standard_f32ams_v6,standard_f32ams_v7,standard_f32as_v6,standard_f32as_v7,standard_f4-1amds_v7,standard_f4-1ams_v7,standard_f4-2amds_v7,standard_f4-2ams_v7,standard_f48ads_v7,standard_f48alds_v7,standard_f48als_v6,standard_f48als_v7,standard_f48amds_v7,standard_f48ams_v6,standard_f48ams_v7,standard_f48as_v6,standard_f48as_v7,standard_f4ads_v7,standard_f4alds_v7,standard_f4als_v6,standard_f4als_v7,standard_f4amds_v7,standard_f4ams_v6,standard_f4ams_v7,standard_f4as_v6,standard_f4as_v7,standard_f64-16amds_v7,standard_f64-16ams_v7,standard_f64-32amds_v7,standard_f64-32ams_v7,standard_f64ads_v7,standard_f64alds_v7,standard_f64als_v6,standard_f64als_v7,standard_f64amds_v7,standard_f64ams_v6,standard_f64ams_v7,standard_f64as_v6,standard_f64as_v7,standard_f8-2amds_v7,standard_f8-2ams_v7,standard_f8-4amds_v7,standard_f8-4ams_v7,standard_f80ads_v7,standard_f80alds_v7,standard_f80als_v7,standard_f80amds_v7,standard_f80ams_v7,standard_f80as_v7,standard_f8ads_v7,standard_f8alds_v7,standard_f8als_v6,standard_f8als_v7,standard_f8amds_v7,standard_f8ams_v6,standard_f8ams_v7,standard_f8as_v6,standard_f8as_v7,standard_fx12-6mds_v2,standard_fx12-6ms_v2,standard_fx12mds_v2,standard_fx12ms_v2,standard_fx16-4mds_v2,standard_fx16-4ms_v2,standard_fx16-8mds_v2,standard_fx16-8ms_v2,standard_fx16mds_v2,standard_fx16ms_v2,standard_fx24-12mds_v2,standard_fx24-12ms_v2,standard_fx24-6mds_v2,standard_fx24-6ms_v2,standard_fx24mds_v2,standard_fx24ms_v2,standard_fx2mds_v2,standard_fx2ms_v2,standard_fx32-16mds_v2,standard_fx32-16ms_v2,standard_fx32-8mds_v2,standard_fx32-8ms_v2,standard_fx32mds_v2,standard_fx32ms_v2,standard_fx4-2mds_v2,standard_fx4-2ms_v2,standard_fx48-12mds_v2,standard_fx48-12ms_v2,standard_fx48-24mds_v2,standard_fx48-24ms_v2,standard_fx48mds_v2,standard_fx48ms_v2,standard_fx4mds_v2,standard_fx4ms_v2,standard_fx64-16mds_v2,standard_fx64-16ms_v2,standard_fx64-32mds_v2,standard_fx64-32ms_v2,standard_fx64mds_v2,standard_fx64ms_v2,standard_fx8-2mds_v2,standard_fx8-2ms_v2,standard_fx8-4mds_v2,standard_fx8-4ms_v2,standard_fx8mds_v2,standard_fx8ms_v2,standard_fx96-24mds_v2,standard_fx96-24ms_v2,standard_fx96-48mds_v2,standard_fx96-48ms_v2,standard_fx96mds_v2,standard_fx96ms_v2,standard_l12aos_v4,standard_l16aos_v4,standard_l16as_v3,standard_l16as_v4,standard_l16s_v3,standard_l16s_v4,standard_l24aos_v4,standard_l2aos_v4,standard_l2as_v4,standard_l2s_v4,standard_l32aos_v4,standard_l32as_v3,standard_l32as_v4,standard_l32s_v3,standard_l32s_v4,standard_l48as_v3,standard_l48as_v4,standard_l48s_v3,standard_l48s_v4,standard_l4aos_v4,standard_l4as_v4,standard_l4s_v4,standard_l64as_v3,standard_l64as_v4,standard_l64s_v3,standard_l64s_v4,standard_l80as_v3,standard_l80as_v4,standard_l80s_v3,standard_l80s_v4,standard_l8aos_v4,standard_l8as_v3,standard_l8as_v4,standard_l8s_v3,standard_l8s_v4,standard_l96as_v4,standard_l96s_v4' For more details, please visit https://aka.ms/aks/quotas-skus-regions

azure-cli/src/azure-cli/azure/cli/command_modules/acs/managed_cluster_decorator.py:9385: BadRequestError
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
============================== 1 failed in 25.77s ==============================

Posted by the X Engineering Agent live-test workflow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Request X Engineering Agent Live Test Ask the agent to run live tests and review this PR Request X Engineering Agent Ask the agent to triage this issue or review this PR X Engineering Agent Reviewed Agent reviewed this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants