Skip to content

[Automated] Update az CLI Options#2756

Merged
thomhurst merged 1 commit into
mainfrom
automated/update-cli-options-az
Jun 7, 2026
Merged

[Automated] Update az CLI Options#2756
thomhurst merged 1 commit into
mainfrom
automated/update-cli-options-az

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

Summary

This PR contains automatically generated updates to az CLI options classes.

The generator scraped the latest CLI help output from the installed tool.

Changes

  • Updated options classes to reflect latest CLI documentation
  • Added new commands if any were detected
  • Updated option types and descriptions

Verification

  • Solution builds successfully

🤖 Generated with ModularPipelines.OptionsGenerator

@thomhurst thomhurst added automated dependencies Pull requests that update a dependency file labels Jun 7, 2026
@thomhurst
thomhurst enabled auto-merge (squash) June 7, 2026 03:41
@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🔴 Metrics 59 complexity

Metric Results
Complexity ⚠️ 59 (≤ 20 complexity)

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review: [Automated] Update az CLI Options

Overview

This is an auto-generated PR updating Azure CLI (
Welcome to Azure CLI!

Use az -h to see available commands or go to https://aka.ms/cli.

Telemetry

The Azure CLI collects usage data in order to improve your experience.
The data is anonymous and does not include commandline argument values.
The data is collected by Microsoft.

You can change your telemetry settings with az configure.

 /\
/  \    _____   _ _  ___ _

/ /\ \ |_ / | | | '/
/ ____ \ / /| |
| | | | /
// _/|_,|_| _
|

Welcome to the cool new Azure CLI!

Use az --version to display the current version.
Here are the base commands:

Group
az

Subgroups:
account : Manage Azure subscription information.
acr : Manage private registries with Azure Container Registries.
ad : Manage Microsoft Entra ID (formerly known as Azure Active Directory,
Azure AD, AAD) entities needed for Azure role-based access control
(Azure RBAC) through Microsoft Graph API.
advisor : Manage Azure Advisor.
afd : Manage Azure Front Door Standard/Premium.
aks : Azure Kubernetes Service.
ams : Manage Azure Media Services resources.
apim : Manage Azure API Management services.
appconfig : Manage App Configurations.
appservice : Manage Appservice.
aro : Manage Azure Red Hat OpenShift clusters.
artifacts : Manage Azure Artifacts.
backup : Manage Azure Backups.
batch : Manage Azure Batch.
bicep : Bicep CLI command group.
billing : Manage Azure Billing.
boards : Manage Azure Boards.
bot : Manage Microsoft Azure Bot Service.
cache : Commands to manage CLI objects cached using the --defer argument.
capacity : Manage capacity.
cdn : Manage Azure Content Delivery Networks (CDNs).
cloud : Manage registered Azure clouds.
cognitiveservices : Manage Azure Cognitive Services accounts.
compute-fleet [Preview] : Manage for Azure Compute Fleet.
compute-recommender : Manage sku/zone/region recommender info for compute resources.
config [Experimental] : Manage Azure CLI configuration.
connection : Commands to manage Service Connector local connections which allow
local environment to connect Azure Resource. If you want to manage
connection for compute service, please run 'az
webapp/containerapp/spring connection'.
consumption [Preview] : Manage consumption of Azure resources.
container : Manage Azure Container Instances.
containerapp : Manage Azure Container Apps.
cosmosdb : Manage Azure Cosmos DB database accounts.
data-boundary : Data boundary operations.
databoxedge : Manage device with databoxedge.
deployment : Manage Azure Resource Manager template deployment at subscription
scope.
deployment-scripts : Manage deployment scripts at subscription or resource group scope.
devops : Manage Azure DevOps organization level operations.
disk : Manage Azure Managed Disks.
disk-access : Manage disk access resources.
disk-encryption-set : Disk Encryption Set resource.
dls [Preview] : Manage Data Lake Store accounts and filesystems.
dms : Manage Azure Data Migration Service (classic) instances.
eventgrid : Manage Azure Event Grid topics, domains, domain topics, system topics
partner topics, event subscriptions, system topic event subscriptions
and partner topic event subscriptions.
eventhubs : Eventhubs.
extension : Manage and update CLI extensions.
feature : Manage resource provider features.
functionapp : Manage function apps. To install the Azure Functions Core tools see
https://github.com/Azure/azure-functions-core-tools.
group : Manage resource groups and template deployments.
hdinsight : Manage HDInsight resources.
identity : Manage Managed Identity.
image : Manage custom virtual machine images.
iot : Manage Internet of Things (IoT) assets.
keyvault : Manage KeyVault keys, secrets, and certificates.
lab [Preview] : Manage azure devtest labs.
lock : Manage Azure locks.
logicapp : Manage logic apps.
managed-cassandra : Azure Managed Cassandra.
managedapp : Manage template solutions provided and maintained by Independent
Software Vendors (ISVs).
managedservices : Manage the registration assignments and definitions in Azure.
maps : Manage Azure Maps.
mariadb : Manage Azure Database for MariaDB servers.
monitor : Manage the Azure Monitor Service.
mysql : Manage Azure Database for MySQL servers.
netappfiles : Manage Azure NetApp Files (ANF) Resources.
network : Manage Azure Network resources.
pipelines : Manage Azure Pipelines.
policy : Manage resources defined and used by the Azure Policy service.
postgres : Manage Azure Database for PostgreSQL.
ppg : Manage Proximity Placement Groups.
private-link : Private-link association CLI command group.
provider : Manage resource providers.
redis : Manage dedicated Redis caches for your Azure applications.
relay : Manage Azure Relay Service namespaces, WCF relays, hybrid connections,
and rules.
repos : Manage Azure Repos.
resource : Manage Azure resources.
resourcemanagement : Resourcemanagement CLI command group.
restore-point : Manage restore point with res.
role : Manage Azure role-based access control (Azure RBAC).
search : Manage Search.
security : Manage your security posture with Microsoft Defender for Cloud.
servicebus : Servicebus.
sf : Manage and administer Azure Service Fabric clusters.
sig : Manage shared image gallery.
signalr : Manage Azure SignalR Service.
snapshot : Manage point-in-time copies of managed disks, native blobs, or other
snapshots.
sql : Manage Azure SQL Databases and Data Warehouses.
sshkey : Manage ssh public key with vm.
stack : A deployment stack is a native Azure resource type that enables you to
perform operations on a resource collection as an atomic unit.
staticwebapp : Manage static apps.
storage : Manage Azure Cloud Storage resources.
synapse : Manage and operate Synapse Workspace, Spark Pool, SQL Pool.
tag : Tag Management on a resource.
term [Experimental] : Manage marketplace agreement with marketplaceordering.
ts : Manage template specs at subscription or resource group scope.
vm : Manage Linux or Windows virtual machines.
vmss : Manage groupings of virtual machines in an Azure Virtual Machine Scale
Set (VMSS).
webapp : Manage web apps.

Commands:
configure : Manage Azure CLI configuration. This command is interactive.
feedback : Send feedback to the Azure CLI Team.
find : I'm an AI robot, my advice is based on our Azure documentation as well
as the usage patterns of Azure CLI and Azure ARM users. Using me
improves Azure products and documentation.
interactive [Preview] : Start interactive mode. Installs the Interactive extension if not
installed already.
login : Log in to Azure.
logout : Log out to remove access to Azure subscriptions.
rest : Invoke a custom request.
survey : Take Azure CLI survey.
upgrade [Preview] : Upgrade Azure CLI and extensions.
version : Show the versions of Azure CLI modules and extensions in JSON format
by default or format configured by --output.) options classes, produced by the . It adds 79 changed files with 2,345 additions and 240 deletions, reflecting the latest scrape of
/
/ \ _____ _ _ ___ _
/ /\ \ |_ / | | | '/
/ ____ \ / /| |
| | | | /
// _/|_,|_| _
|

Welcome to the cool new Azure CLI!

Use az --version to display the current version.
Here are the base commands:

Group
az

Subgroups:
account : Manage Azure subscription information.
acr : Manage private registries with Azure Container Registries.
ad : Manage Microsoft Entra ID (formerly known as Azure Active Directory,
Azure AD, AAD) entities needed for Azure role-based access control
(Azure RBAC) through Microsoft Graph API.
advisor : Manage Azure Advisor.
afd : Manage Azure Front Door Standard/Premium.
aks : Azure Kubernetes Service.
ams : Manage Azure Media Services resources.
apim : Manage Azure API Management services.
appconfig : Manage App Configurations.
appservice : Manage Appservice.
aro : Manage Azure Red Hat OpenShift clusters.
artifacts : Manage Azure Artifacts.
backup : Manage Azure Backups.
batch : Manage Azure Batch.
bicep : Bicep CLI command group.
billing : Manage Azure Billing.
boards : Manage Azure Boards.
bot : Manage Microsoft Azure Bot Service.
cache : Commands to manage CLI objects cached using the --defer argument.
capacity : Manage capacity.
cdn : Manage Azure Content Delivery Networks (CDNs).
cloud : Manage registered Azure clouds.
cognitiveservices : Manage Azure Cognitive Services accounts.
compute-fleet [Preview] : Manage for Azure Compute Fleet.
compute-recommender : Manage sku/zone/region recommender info for compute resources.
config [Experimental] : Manage Azure CLI configuration.
connection : Commands to manage Service Connector local connections which allow
local environment to connect Azure Resource. If you want to manage
connection for compute service, please run 'az
webapp/containerapp/spring connection'.
consumption [Preview] : Manage consumption of Azure resources.
container : Manage Azure Container Instances.
containerapp : Manage Azure Container Apps.
cosmosdb : Manage Azure Cosmos DB database accounts.
data-boundary : Data boundary operations.
databoxedge : Manage device with databoxedge.
deployment : Manage Azure Resource Manager template deployment at subscription
scope.
deployment-scripts : Manage deployment scripts at subscription or resource group scope.
devops : Manage Azure DevOps organization level operations.
disk : Manage Azure Managed Disks.
disk-access : Manage disk access resources.
disk-encryption-set : Disk Encryption Set resource.
dls [Preview] : Manage Data Lake Store accounts and filesystems.
dms : Manage Azure Data Migration Service (classic) instances.
eventgrid : Manage Azure Event Grid topics, domains, domain topics, system topics
partner topics, event subscriptions, system topic event subscriptions
and partner topic event subscriptions.
eventhubs : Eventhubs.
extension : Manage and update CLI extensions.
feature : Manage resource provider features.
functionapp : Manage function apps. To install the Azure Functions Core tools see
https://github.com/Azure/azure-functions-core-tools.
group : Manage resource groups and template deployments.
hdinsight : Manage HDInsight resources.
identity : Manage Managed Identity.
image : Manage custom virtual machine images.
iot : Manage Internet of Things (IoT) assets.
keyvault : Manage KeyVault keys, secrets, and certificates.
lab [Preview] : Manage azure devtest labs.
lock : Manage Azure locks.
logicapp : Manage logic apps.
managed-cassandra : Azure Managed Cassandra.
managedapp : Manage template solutions provided and maintained by Independent
Software Vendors (ISVs).
managedservices : Manage the registration assignments and definitions in Azure.
maps : Manage Azure Maps.
mariadb : Manage Azure Database for MariaDB servers.
monitor : Manage the Azure Monitor Service.
mysql : Manage Azure Database for MySQL servers.
netappfiles : Manage Azure NetApp Files (ANF) Resources.
network : Manage Azure Network resources.
pipelines : Manage Azure Pipelines.
policy : Manage resources defined and used by the Azure Policy service.
postgres : Manage Azure Database for PostgreSQL.
ppg : Manage Proximity Placement Groups.
private-link : Private-link association CLI command group.
provider : Manage resource providers.
redis : Manage dedicated Redis caches for your Azure applications.
relay : Manage Azure Relay Service namespaces, WCF relays, hybrid connections,
and rules.
repos : Manage Azure Repos.
resource : Manage Azure resources.
resourcemanagement : Resourcemanagement CLI command group.
restore-point : Manage restore point with res.
role : Manage Azure role-based access control (Azure RBAC).
search : Manage Search.
security : Manage your security posture with Microsoft Defender for Cloud.
servicebus : Servicebus.
sf : Manage and administer Azure Service Fabric clusters.
sig : Manage shared image gallery.
signalr : Manage Azure SignalR Service.
snapshot : Manage point-in-time copies of managed disks, native blobs, or other
snapshots.
sql : Manage Azure SQL Databases and Data Warehouses.
sshkey : Manage ssh public key with vm.
stack : A deployment stack is a native Azure resource type that enables you to
perform operations on a resource collection as an atomic unit.
staticwebapp : Manage static apps.
storage : Manage Azure Cloud Storage resources.
synapse : Manage and operate Synapse Workspace, Spark Pool, SQL Pool.
tag : Tag Management on a resource.
term [Experimental] : Manage marketplace agreement with marketplaceordering.
ts : Manage template specs at subscription or resource group scope.
vm : Manage Linux or Windows virtual machines.
vmss : Manage groupings of virtual machines in an Azure Virtual Machine Scale
Set (VMSS).
webapp : Manage web apps.

Commands:
configure : Manage Azure CLI configuration. This command is interactive.
feedback : Send feedback to the Azure CLI Team.
find : I'm an AI robot, my advice is based on our Azure documentation as well
as the usage patterns of Azure CLI and Azure ARM users. Using me
improves Azure products and documentation.
interactive [Preview] : Start interactive mode. Installs the Interactive extension if not
installed already.
login : Log in to Azure.
logout : Log out to remove access to Azure subscriptions.
rest : Invoke a custom request.
survey : Take Azure CLI survey.
upgrade [Preview] : Upgrade Azure CLI and extensions.
version : Show the versions of Azure CLI modules and extensions in JSON format
by default or format configured by --output. CLI help output. The changes include new command classes and updated XML documentation.

Since this is generated code, the review focuses on the generator's output quality — issues here indicate bugs in the generator that should be fixed upstream.


Issues Found in Generator Output

1. Wrong Property Types for String Parameters (Bug in Generator)

In , properties that clearly accept string values are typed as :

[CliFlag("--name", ShortForm = "-n")]
public bool? Name { get; set; }   // Should be string?

[CliFlag("--repository")]
public bool? Repository { get; set; }   // Should be string?

[CliFlag("--vnet")]
public bool? Vnet { get; set; }   // Should be string?

The descriptions make it clear these accept values ("The name of the container registry", "Virtual network ID"), not just flags. Using here would generate invalid CLI invocations — the property would either be omitted or emit without a value. The generator seems to be misclassifying option types. This is a correctness issue, not cosmetic.

Suggestion: Fix the generator to distinguish between flag-only arguments and value-accepting arguments by checking for argument descriptions that reference specific values (IDs, names, paths).


2. Truncated XML Documentation Strings (Generator Parsing Issue)

Multiple generated XML comments are cut off mid-sentence or mid-enumeration:

// AzMysqlFlexibleServerGeoRestoreOptions — truncated enum list:
/// Allowed values: Disabled,
// (missing "Enabled")

// AzMysqlFlexibleServerGeoRestoreOptions — truncated sentence:
/// The storage capacity of the server. Minimum is 32 GiB and max is 16
// (missing "TiB")

// AzAppconfigCreateOptions — truncated default value:
/// The sku of the App Configuration store.  Allowed values: Developer, Free, Premium, Standard.  Default:
// (missing "Standard")

These appear to be line-length truncation artifacts from the CLI help scraper. Truncated docs are worse than no docs — they actively mislead users.

Suggestion: The generator should either read the full help text without line truncation, or join wrapped lines before embedding in XML comments.


3. Words Split Across Lines in Descriptions (Generator Parsing Issue)

Some descriptions contain words erroneously split with a hyphen and space (line-wrap artefacts from the raw CLI output):

// AzNetappfilesCacheCreateOptions:
/// Do not wait for the long- running operation to finish.

// AzAppconfigCreateOptions:
/// Allowed values: local, pass- through.

These are clearly wrapping artefacts. and are not valid hyphenated forms.

Suggestion: The generator should strip soft line-wraps (lines ending with ) when normalising CLI help text.


4. Breaking Change: Removed

In both and , the property () is deleted and replaced with (). This is a breaking API change for consumers of this library who use the old property.

// Removed:
[CliFlag("--enable-public-network", ShortForm = "-e")]
public bool? EnablePublicNetwork { get; set; }

// Added:
[CliFlag("--public-network-access")]
public bool? PublicNetworkAccess { get; set; }

This is an accurate reflection of the upstream Azure CLI change, but users of this library relying on will get a compile error after upgrading with no guidance.

Suggestion: Consider adding an attribute with a message pointing to the replacement before removing properties entirely, at least for a version cycle.


5. Truncated Class-Level XML Summaries

Some new classes have truncated class summaries:

/// <summary>
/// Create a bucket for a volume. A bucket allows additional
/// </summary>

The sentence is incomplete. Same root cause as issue #2.


What's Good

  • All generated files correctly carry , , and headers — these are handled consistently.
  • The timestamp is correctly updated.
  • New commands (NetApp Files Cache, ACR check-health, AppConfig KV set-snapshot-reference, AKS artifact streaming) reflect real Azure CLI additions.
  • The generator correctly uses types and throughout.

Summary

The structural output of the generator is solid, but issues #1 (wrong bool? type for string parameters), #2, and #3 (truncated/malformed descriptions) suggest the generator's CLI help text parser has at least two distinct bugs: one in type inference and one in handling line-wrapped output. These should be fixed in before this PR introduces more of the same into the codebase. The truncated docs and wrong types will silently produce incorrect behaviour at runtime.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review: [Automated] Update az CLI Options

Overview

This is an auto-generated PR updating Azure CLI (az) options classes, produced by the ModularPipelines.OptionsGenerator. It covers 79 changed files with 2,345 additions and 240 deletions, reflecting the latest scrape of az CLI help output.

Since this is generated code, the review focuses on the generator's output quality — issues here indicate bugs in the generator that should be fixed upstream in tools/ModularPipelines.OptionsGenerator/.


Issues Found in Generator Output

1. Wrong Property Types for String Parameters (Correctness Bug)

In AzAcrCheckHealthOptions.Generated.cs, properties that clearly accept string values are typed as bool?:

  • public bool? Name { get; set; } — description says "The name of the container registry"
  • public bool? Repository { get; set; } — description says "The name of the repository"
  • public bool? Vnet { get; set; } — description says "Virtual network ID"

Using bool? for these will generate invalid CLI invocations (the flag is emitted without a value, or omitted entirely). This is a runtime correctness issue, not a cosmetic one. The generator is misclassifying option types — it needs to distinguish between boolean flags (no value) and value-accepting options.

Fix: Update the generator to detect when an option description references a concrete value (name, ID, path, etc.) and emit the correct type (string?, int?, etc.) rather than defaulting to bool?.


2. Truncated XML Documentation Strings (Parser Bug)

Multiple generated XML comments are cut off mid-sentence or mid-list, clearly due to terminal line-length truncation in the raw CLI help output:

  • Allowed values: Disabled, — missing "Enabled" (in AzMysqlFlexibleServerGeoRestoreOptions, AzMysqlFlexibleServerRestoreOptions)
  • max is 16 — missing "TiB" (in AzMysqlFlexibleServerGeoRestoreOptions, AzMysqlFlexibleServerRestoreOptions)
  • Default: — missing the actual default value (in AzAppconfigCreateOptions)

Truncated docs are actively misleading. The generator needs to read full help text without a terminal width limit, or join wrapped lines before embedding them in XML comments.


3. Hyphenated Word-Split Artefacts (Parser Bug)

Some descriptions have mid-word hyphens from terminal line-wrapping:

  • long- running instead of long-running (in AzNetappfilesCacheCreateOptions, AzNetappfilesCacheUpdateOptions)
  • pass- through instead of pass-through (in AzAppconfigCreateOptions, AzAppconfigUpdateOptions)

The generator should strip soft line-wrap hyphens (hyphen + space at line boundary) when normalising help text.


4. Breaking Change: --enable-public-network Removed Without Deprecation Notice

Both AzAppconfigCreateOptions and AzAppconfigUpdateOptions have EnablePublicNetwork (--enable-public-network) removed and replaced with PublicNetworkAccess (--public-network-access). This is a hard breaking change for existing consumers.

This accurately reflects the upstream Azure CLI change, but users will get a compile error with no guidance. Consider adding an [Obsolete("Use PublicNetworkAccess instead")] attribute for at least one version before hard-removing the property.


5. Truncated Class-Level Summaries

Some new classes have incomplete <summary> text, e.g.:

  • AzNetappfilesVolumeBucketCreateOptions: "Create a bucket for a volume. A bucket allows additional" — sentence is unfinished.

Same root cause as issue #2.


What's Good

  • All generated files correctly carry [GeneratedCode], [ExcludeFromCodeCoverage], and // <auto-generated> headers — consistent and correct.
  • The AssemblyInfo.Generated.cs timestamp is correctly updated.
  • New commands for NetApp Files Cache, ACR check-health, AppConfig KV snapshot references, and AKS artifact streaming accurately reflect real upstream Azure CLI additions.
  • Consistent use of record types and #nullable enable throughout.

Summary

The scaffolding is correct and the new commands are legitimate additions. However, three generator bugs manifest here — wrong type inference for string options (#1), truncated descriptions from line-length limits (#2, #5), and soft line-wrap artefacts (#3). These will recur on every automated run until fixed in the generator. Issue #1 in particular produces silently incorrect runtime behaviour and should be prioritised.

@thomhurst
thomhurst merged commit 164c311 into main Jun 7, 2026
10 of 12 checks passed
@thomhurst
thomhurst deleted the automated/update-cli-options-az branch June 7, 2026 03:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant