Skip to content

[Automated] Update az CLI Options#2428

Open
thomhurst wants to merge 1 commit intomainfrom
automated/update-cli-options-az
Open

[Automated] Update az CLI Options#2428
thomhurst wants to merge 1 commit intomainfrom
automated/update-cli-options-az

Conversation

@thomhurst
Copy link
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 Feb 22, 2026
@thomhurst thomhurst enabled auto-merge (squash) February 22, 2026 03:42
@thomhurst thomhurst force-pushed the automated/update-cli-options-az branch from 7b6fe26 to b034970 Compare March 1, 2026 03:45
Copy link

@claude claude bot left a comment

Choose a reason for hiding this comment

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

Code Review

This is an automated PR updating the
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:

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       : Manage for Azure Compute Fleet.
compute-recommender : Manage sku/zone/region recommender info for compute resources.
config              : Manage Azure CLI configuration.
configure           : Manage Azure CLI configuration. This command is interactive.
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         : 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                 : 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.
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.
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.
interactive         : Start interactive mode. Installs the Interactive extension if not
                     installed already.
iot                 : Manage Internet of Things (IoT) assets.
keyvault            : Manage KeyVault keys, secrets, and certificates.
lab                 : Manage azure devtest labs.
lock                : Manage Azure locks.
logicapp            : Manage logic apps.
login               : Log in to Azure.
logout              : Log out to remove access to Azure subscriptions.
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.
rest                : Invoke a custom request.
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.
survey              : Take Azure CLI survey.
synapse             : Manage and operate Synapse Workspace, Spark Pool, SQL Pool.
tag                 : Tag Management on a resource.
term                : Manage marketplace agreement with marketplaceordering.
ts                  : Manage template specs at subscription or resource group scope.
upgrade             : 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.
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. CLI options generator output. The changes are minimal and technically correct — the generation timestamp and scraped documentation defaults have been refreshed from the CLI's current help output.

What Changed

  • AssemblyInfo.Generated.cs: Generation timestamp bumped from 2026-02-15 to 2026-03-01. Expected.
  • AzAmsAssetGetSasUrlsOptions.cs: Default --expiry date in doc comment updated (was 2026-02-16, now 2026-03-02).
  • AzMysqlFlexibleServerRestoreOptions.cs: Default --restore-time date updated (was 2026-02-15T03:23:07, now 2026-03-01T03:23:32).

Design Concern: Embedding Dynamic CLI Defaults in Generated Code

The two meaningful doc comment changes highlight a generator design issue worth addressing:

The az CLI calculates some defaults dynamically at help-output time (e.g., --expiry defaults to "now + 24 hours", --restore-time defaults to "current time"). When the generator scrapes the CLI help, it captures the literal timestamp shown at that moment and embeds it in the generated doc comment.

Problems with this approach:

  1. Git noise: These two lines change on every generator run, even when the actual CLI semantics haven't changed. This makes it harder to identify PRs that contain real option changes.
  2. Misleading documentation: The embedded date is the generator's run time, not a meaningful default for the user. A user reading the doc comment expecting guidance sees a stale timestamp with no relationship to their runtime.
  3. Breaks diffing: When reviewing automated PRs, you'd want to quickly see "new/removed options" vs "timestamp churn". The dynamic defaults muddy that signal.

Suggested improvement in the generator ():

When building the doc comment string, detect and strip (or normalize) date/time literals that appear in "Default: ..." suffixes. For example:

This would keep the doc comment stable across runs while still communicating the intent ("defaults to current time").


Pre-existing Note (not introduced by this PR)

The options like Expiry, RestoreTime, Permissions, etc. are all typed as bool? despite their descriptions indicating they accept datetime strings or enum-like values. This appears to be an intentional generator design choice (all CLI flags → bool?), and is out of scope for this PR, but worth revisiting if the typed API is user-facing.


Overall, this PR is safe to merge as-is. The generator concern is a suggestion for improving future automated PRs rather than a blocker here.

Copy link

@claude claude bot left a comment

Choose a reason for hiding this comment

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

Code Review

This is an automated PR updating the az CLI options generator output. The changes are minimal and technically correct — the generation timestamp and scraped documentation defaults have been refreshed from the CLI's current help output.

What Changed

  • AssemblyInfo.Generated.cs: Generation timestamp bumped from 2026-02-15 to 2026-03-01. Expected.
  • AzAmsAssetGetSasUrlsOptions.cs: Default --expiry date in doc comment updated (was 2026-02-16, now 2026-03-02).
  • AzMysqlFlexibleServerRestoreOptions.cs: Default --restore-time date updated (was 2026-02-15T03:23:07, now 2026-03-01T03:23:32).

Design Concern: Embedding Dynamic CLI Defaults in Generated Code

The two meaningful doc comment changes highlight a generator design issue worth considering:

The az CLI calculates some defaults dynamically at help-output time (e.g., --expiry defaults to "now + 24 hours", --restore-time defaults to "current time"). When the generator scrapes the CLI help, it captures the literal timestamp shown at that moment and embeds it in the generated doc comment.

Problems with this approach:

  1. Git noise: These two lines change on every generator run, even when the actual CLI semantics have not changed. This makes it harder to identify PRs that contain real option changes.
  2. Misleading documentation: The embedded date is the generator run time, not a meaningful default for the user. A user reading the doc comment sees a stale timestamp with no relationship to their actual runtime.
  3. Breaks signal-to-noise: When reviewing automated PRs, you want to quickly see "new/removed options" vs "timestamp churn". The dynamic defaults muddy that signal.

Suggested improvement in the generator (tools/ModularPipelines.OptionsGenerator/):

When building the doc comment string, detect and normalize date/time literals that appear in "Default: ..." suffixes. For example, replace captured runtime timestamps with a stable placeholder:

Before normalization (changes every run):
Default: 2026-03-02 02:17:28.153079.

After normalization (stable):
Default: .

A regex targeting the Default: <ISO8601/datetime> pattern at end-of-sentence would catch both affected formats. This is a generator-level fix, not something to address in the generated files directly.


Pre-existing Note (not introduced by this PR)

Options like Expiry, RestoreTime, and Permissions are typed as bool? despite their descriptions indicating they accept datetime strings or enum-like values. This appears to be an intentional design decision (all optional CLI flags map to bool?), and is out of scope here, but worth revisiting if typed correctness of the API matters to consumers.


Overall, this PR is safe to merge as-is. The generator improvement is a suggestion for reducing future churn, not a blocker.

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