Conversation
There was a problem hiding this comment.
Code Review: [Automated] Update gcloud CLI Options
This is auto-generated code from the OptionsGenerator scraping the latest gcloud CLI help output, so no manual edits apply here. The review focuses on the correctness and implications of the generated output.
Summary of Changes
| Category | Details |
|---|---|
| Timestamp update | AssemblyInfo.Generated.cs — expected |
| Enum update | GcloudUpdateRedisConfig — order + casing changed |
| Doc comment fixes | Several options files — improved descriptions |
| New options | DisableMultiNicLustre, ConsolidationDelay |
| New commands/services | GcloudNetworksecuritySecurityProfiles, GcloudPrivatecaOperations |
| Removed method | SetUsageBucket from GcloudComputeProjectInfo |
| Source URL fix | GcloudNetworkSecuritySecurityProfilesListOptions — was pointing to wrong source |
Notable Concern: GcloudUpdateRedisConfig Enum — Potential Breaking Change
File: src/ModularPipelines.Google/Enums/GcloudUpdateRedisConfig.Generated.cs
Two things changed simultaneously:
- Order changed — alphabetical → calendar week order (Sun, Mon, Tue…)
- Case changed — lowercase descriptions (
"friday") → UPPERCASE ("FRIDAY")
The case change in [Description] is the important runtime concern. These values are what gets passed to the gcloud CLI. If the gcloud Redis API changed from accepting lowercase day names to uppercase, this is correct and necessary. But it does mean any code that hardcodes the enum integer value (e.g., (int)GcloudUpdateRedisConfig.Friday was previously 0, now it's 5) would silently break.
Since the description attribute drives the actual CLI argument value, the case change is the more impactful part and appears to reflect a real upstream gcloud CLI change — the generator scraped it, so it should be correct.
Suggestion for the generator (not this PR): Consider assigning explicit integer values to generated enums to protect against re-ordering:
public enum GcloudUpdateRedisConfig
{
[Description("SUNDAY")] Sunday = 0,
[Description("MONDAY")] Monday = 1,
// ...
}This would be a resilience improvement worth considering in tools/ModularPipelines.OptionsGenerator/.
Notable Change: SetUsageBucket Removed
File: src/ModularPipelines.Google/Services/GcloudComputeProjectInfo.Generated.cs
The SetUsageBucket method and its corresponding options class have been removed. This is a breaking API change — any consumer code calling GcloudComputeProjectInfo.SetUsageBucket(...) will fail to compile after this update. This appears to reflect the gcloud CLI removing this command, but worth flagging so a CHANGELOG note or major version bump is considered.
Source URL Bug Fix
File: src/ModularPipelines.Google/Options/GcloudNetworkSecuritySecurityProfilesListOptions.Generated.cs
-// Source: https://cloud.google.com/sdk/gcloud/reference/compute/project-info/set-usage-bucket
+// Source: https://cloud.google.com/sdk/gcloud/reference/network-security/security-profiles/listThe file previously had completely wrong source metadata and class definition — it was using GcloudComputeProjectInfoSetUsageBucketOptions rather than GcloudNetworkSecuritySecurityProfilesListOptions. This is now correctly fixed.
Doc Comment Issue: Embedded Shell Command
File: src/ModularPipelines.Google/Options/GcloudContainerNodePoolsCreateOptions.Generated.cs
The ConsolidationDelay property's XML doc comment contains an embedded shell command example:
/// Set the duration after which the Cluster Autoscaler can scale down underutilized nodes. $ gcloud container node-pools create node-pool-1 \ --cluster=example-cluster --consolidation-delay=3600s
This is technically valid XML but noisy in IDE tooltips. The generator could consider stripping or formatting shell example blocks differently (e.g., into <example> or <code> XML tags). Not a functional issue, but worth a generator improvement.
Everything Else Looks Good
- New
GcloudPrivatecaOperationsservice and options classes follow the established pattern correctly. - New
GcloudNetworksecuritySecurityProfilesmethods (Delete,Describe,Export,Import,List) are consistent with the rest of the service class pattern. DisableMultiNicLustreandConsolidationDelayadditions follow the correct attribute/type patterns.- Description text fixes are improvements (e.g., spacing corrections, clearer wording for
ModelServerVersion,ServingStackVersion).
Overall: the generated output correctly reflects upstream gcloud CLI changes. The main items to be aware of are the GcloudUpdateRedisConfig casing change and the removal of SetUsageBucket as potential breaking changes for consumers.
There was a problem hiding this comment.
Code Review: [Automated] Update gcloud CLI Options
This is auto-generated code from the OptionsGenerator scraping the latest gcloud CLI help output, so no manual edits apply here. The review focuses on the correctness and implications of the generated output.
Summary of Changes
| Category | Details |
|---|---|
| Timestamp update | AssemblyInfo.Generated.cs — expected |
| Enum update | GcloudUpdateRedisConfig — order + casing changed |
| Doc comment fixes | Several options files — improved descriptions |
| New options | DisableMultiNicLustre, ConsolidationDelay |
| New commands/services | GcloudNetworksecuritySecurityProfiles, GcloudPrivatecaOperations |
| Removed method | SetUsageBucket from GcloudComputeProjectInfo |
| Source URL fix | GcloudNetworkSecuritySecurityProfilesListOptions was pointing to wrong source |
Notable Concern: GcloudUpdateRedisConfig Enum — Potential Breaking Change
File: src/ModularPipelines.Google/Enums/GcloudUpdateRedisConfig.Generated.cs
Two things changed simultaneously:
- Order changed — alphabetical to calendar week order (Sun, Mon, Tue...)
- Case changed — lowercase descriptions (
"friday") to UPPERCASE ("FRIDAY")
The case change in [Description] is the important runtime concern since these values are what gets passed to the gcloud CLI. If the gcloud Redis API changed from accepting lowercase day names to uppercase, this is correct and necessary. However, any code relying on enum integer values (e.g., (int)GcloudUpdateRedisConfig.Friday was previously 0, now it's 5) would silently break.
Suggestion for the generator (future improvement in tools/ModularPipelines.OptionsGenerator/): Assign explicit integer values to generated enums to guard against re-ordering:
public enum GcloudUpdateRedisConfig
{
[Description("SUNDAY")] Sunday = 0,
[Description("MONDAY")] Monday = 1,
// ...
}Notable Change: SetUsageBucket Removed
File: src/ModularPipelines.Google/Services/GcloudComputeProjectInfo.Generated.cs
The SetUsageBucket method and its corresponding options class have been removed. This is a breaking API change — any consumer code calling GcloudComputeProjectInfo.SetUsageBucket(...) will fail to compile after this update. This appears to reflect the gcloud CLI removing this command, but worth flagging for a CHANGELOG note or major version bump consideration.
Source URL Bug Fix
File: src/ModularPipelines.Google/Options/GcloudNetworkSecuritySecurityProfilesListOptions.Generated.cs
The file previously had completely wrong source metadata and class definition (was GcloudComputeProjectInfoSetUsageBucketOptions pointing to the compute/project-info source). Now correctly fixed to GcloudNetworkSecuritySecurityProfilesListOptions pointing to network-security/security-profiles/list. Good catch.
Minor: Embedded Shell Command in Doc Comment
File: src/ModularPipelines.Google/Options/GcloudContainerNodePoolsCreateOptions.Generated.cs
The ConsolidationDelay property XML doc comment contains an embedded shell command example inline in the description text. Not a functional issue, but a generator improvement opportunity: consider stripping or formatting shell example blocks into <code> or <example> XML tags for cleaner IDE tooltips.
Everything Else Looks Good
- New
GcloudPrivatecaOperationsservice and options classes follow the established pattern correctly. - New
GcloudNetworksecuritySecurityProfilesmethods (Delete, Describe, Export, Import, List) are consistent with the rest of the service class pattern. DisableMultiNicLustreandConsolidationDelayadditions follow the correct attribute/type patterns.- Description text fixes are clear improvements (spacing corrections, clearer wording for ModelServerVersion, ServingStackVersion).
Overall the generated output correctly reflects upstream gcloud CLI changes. The main items to be aware of are the GcloudUpdateRedisConfig casing/ordering change and the removal of SetUsageBucket as potential breaking changes for consumers.
Summary
This PR contains automatically generated updates to gcloud CLI options classes.
The generator scraped the latest CLI help output from the installed tool.
Changes
Verification
🤖 Generated with ModularPipelines.OptionsGenerator