Skip to content

[Compute] Add VM extension image release metadata support #33896

Description

@nidhjain-ms1

Preconditions

  • No need to upgrade the Python SDK or the Python SDK is ready.

The affected commands are generated with CodeGen - AAZ, so a Python SDK upgrade is not required.

Related command

az vm extension image list-versions --location --publisher --name [--expand properties]
az vm extension image show --location --publisher --name --version
az vmss extension image list-versions --location --publisher --name [--expand properties]
az vmss extension image show --location --publisher --name --version

Resource Provider

Microsoft.Compute/locations/publishers/artifactTypes/vmExtension/types/versions

Description of Feature or Work Requested

Update the AAZ-generated VM and VMSS extension-image commands from API version 2024-11-01 to the stable 2026-04-01 API version.

The new API version adds read-only release and execution metadata to virtual machine extension images.

For the list-versions commands:

  • Add an optional --expand argument.
  • The supported value is properties.
  • When --expand properties is provided, send $expand=properties to the service.
  • Include these properties in each result:
    • releaseCategory
    • urgencyLevel
    • runProfile

For the show commands, include these additional properties in the response:

  • releaseNotes
  • releaseCategory
  • urgencyLevel
  • runProfile
  • extensionFeatureMetadata.extensionFeatureTags
    • key
    • value

This enables customers and automation to identify security fixes, urgent updates, execution behavior, release notes, and extension capability or compliance metadata.

Expected usage:

# List versions with expanded release metadata.
az vm extension image list-versions \
  --location eastus \
  --publisher Microsoft.Compute \
  --name CustomScriptExtension \
  --expand properties \
  --query "[].{version:name, category:releaseCategory, urgency:urgencyLevel, profile:runProfile}" \
  --output table

# Select an emergency security update.
version=$(az vm extension image list-versions \
  --location eastus \
  --publisher Microsoft.Compute \
  --name CustomScriptExtension \
  --expand properties \
  --query "[?releaseCategory=='SecurityFix' && urgencyLevel=='Emergency'].name | [0]" \
  --output tsv)

# Retrieve complete metadata for the selected version.
az vm extension image show \
  --location eastus \
  --publisher Microsoft.Compute \
  --name CustomScriptExtension \
  --version "$version" \
  --query "{version:name, releaseNotes:releaseNotes, category:releaseCategory, urgency:urgencyLevel, profile:runProfile, featureMetadata:extensionFeatureMetadata}"

The existing behavior and output remain compatible when --expand is not provided. No feature registration, subscription allowlist, or feature flag is required. The API is a stable General Availability API.

Minimum API Version Required

2026-04-01

Swagger PR link / SDK link

Request Example

Example list request:

GET /subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifactTypes/VMExtension/types/{type}/versions?$expand=properties&api-version=2026-04-01

Example expanded list response:

[
  {
    "name": "1.10.15",
    "properties": {
      "releaseCategory": "SecurityFix",
      "urgencyLevel": "Emergency",
      "runProfile": "LongRunning"
    }
  }
]

Target Date

09/15/2026

PM Contact

Gabby.Staskiewicz@microsoft.com

Engineer Contact

nidhjain-ms1, nidhjain@microsoft.com

Additional context

  • The corresponding Azure PowerShell design-review request is Azure/azure-powershell-cmdlet-review-pr#1571.
  • The REST API specification PR is merged.
  • Existing Azure CLI commands are generated with AAZ and currently use API version 2024-11-01.
  • This request changes existing commands only; no new command group is required.
  • --expand applies only to list-versions. The show operation returns the complete metadata for a specific version without an expand argument.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions