Skip to content

Add -Feature and -AllowUpdateImage parameters to Update-AzGalleryImageDefinition#29362

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/az-compute-update-galleryimage-feature
Draft

Add -Feature and -AllowUpdateImage parameters to Update-AzGalleryImageDefinition#29362
Copilot wants to merge 2 commits intomainfrom
copilot/az-compute-update-galleryimage-feature

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 2, 2026

Update-AzGalleryImageDefinition lacked the ability to update existing gallery image features (e.g. DiskControllerTypes, SecurityType, IsAcceleratedNetwork, IsHibernate) or signal that a feature update is intentional. The SDK models already supported both Features (with StartsAtVersion) and AllowUpdateImage, but the cmdlet didn't expose them.

Changes

  • Cmdlet (GalleryImageCreateOrUpdateMethod.cs): Added -Feature (GalleryImageFeature[]) and -AllowUpdateImage (bool) parameters to UpdateAzureRmGalleryImage, with IsParameterBound-guarded execution logic.
  • PS model (PSGalleryImage.cs): Added AllowUpdateImage (bool?) property so AutoMapper correctly round-trips the field from the API response.
  • Help (Update-AzGalleryImageDefinition.md): Updated all three parameter-set SYNTAX blocks, added parameter docs, and added an example for the new feature-update flow.
  • Tests: Added Test-GalleryImageDefinitionUpdateFeature (PS) and TestGalleryImageDefinitionUpdateFeature (C#) covering feature creation with StartsAtVersion and verification of AllowUpdateImage on the updated definition.
  • Changelog: Documented both new parameters under ## Upcoming Release.

Example

$diskFeature = @{Name='DiskControllerTypes'; Value='SCSI'; StartsAtVersion='4.0.0'}
$secFeature  = @{Name='SecurityType';        Value='TrustedLaunch'; StartsAtVersion='4.0.0'}

Update-AzGalleryImageDefinition `
    -ResourceGroupName $rgname `
    -GalleryName       $galleryName `
    -Name              $imageDefinitionName `
    -Feature           @($diskFeature, $secFeature) `
    -AllowUpdateImage  $true

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 1n8vsblobprodwus2184.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • 40vvsblobprodwus2135.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • 6yfvsblobprodwus2121.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • 7q7vsblobprodwus2144.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • 84hvsblobprodwus2148.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • 8wdvsblobprodwus2137.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • 9yyvsblobprodwus2157.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • b53vsblobprodwus2154.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • ba0vsblobprodwus2130.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • balvsblobprodwus2129.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • cbvvsblobprodwus2131.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • cffvsblobprodwus218.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • d94vsblobprodwus2119.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • ezcvsblobprodwus2170.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • faxvsblobprodwus2122.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • g3xvsblobprodwus2151.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • i01vsblobprodwus216.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • isvvsblobprodwus2147.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • jhgvsblobprodwus2167.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • k4pvsblobprodwus2140.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • ldhvsblobprodwus2153.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • mt2vsblobprodwus2110.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • nudvsblobprodwus214.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • p2tvsblobprodwus2189.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • s8nvsblobprodwus2158.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • tn2vsblobprodwus2124.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • wlnvsblobprodwus2188.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • wztvsblobprodwus2155.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • y5lvsblobprodwus2179.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)
  • yf8vsblobprodwus212.vsblob.vsassets.io
    • Triggering command: /usr/bin/dotnet dotnet build src/Compute/Compute/Compute.csproj conntrack --ctstate INVALID,NEW -j DROP (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@azure-client-tools-bot-prd
Copy link
Copy Markdown

Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status.

…eDefinition cmdlet

Agent-Logs-Url: https://github.com/Azure/azure-powershell/sessions/44ef71fe-10fa-4071-b5f0-ce5b458f2586

Co-authored-by: audreyttt <225061541+audreyttt@users.noreply.github.com>
Copilot AI changed the title [WIP] Update GalleryImage feature for Azure PowerShell Add -Feature and -AllowUpdateImage parameters to Update-AzGalleryImageDefinition Apr 2, 2026
Copilot AI requested a review from audreyttt April 2, 2026 20:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants