Skip to content

[Automated] Update gcloud CLI Options - #4877

Closed
thomhurst wants to merge 5 commits into
issue-4799-gcloud-group-descriptionsfrom
automated/update-cli-options-gcloud-issue-4799-gcloud-group-descriptions
Closed

thomhurst wants to merge 5 commits into
issue-4799-gcloud-group-descriptionsfrom
automated/update-cli-options-gcloud-issue-4799-gcloud-group-descriptions

Conversation

@thomhurst

@thomhurst thomhurst commented Sep 13, 2026

Copy link
Copy Markdown
Owner

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

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

Assembly-wide public API impact

Affected API families: Assembly/common, Gcloud.

  • Added APIs: 546
  • Removed or changed APIs: 301
  • Members with matching names but changed signatures: 8

Breaking changes are present. Consumers may need to update method arguments, option property types or nullability, enum members, and references to removed APIs.

Representative removed or changed members:

  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaP100Vws = 7 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaP4Vws = 8 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaT4 = 5 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaT4Vws = 6 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaV100 = 3 -> ModularPipelines.Google.Enums.GcloudAcceleratorType

Representative added members:

  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaP100Vws = 3 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaP4Vws = 5 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaT4 = 6 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaT4Vws = 7 -> ModularPipelines.Google.Enums.GcloudAcceleratorType
  • ModularPipelines.Google.Enums.GcloudAcceleratorType.NvidiaTeslaV100 = 8 -> ModularPipelines.Google.Enums.GcloudAcceleratorType

Command coverage

Command coverage report:

  • gcloud (Google Cloud SDK 584.0.0 alpha 2026.09.04 beta 2026.09.04 bq 2.1.38 bundled-python3-unix 3.14.7 core 2026.09.04 gcloud-crc32c 1.0.0 gsutil 5.37 preview 2026.09.04): 7927 commands, tree 5fdad8cede50aabd57b55497e772c19fb37aedd8773cfc60a95c7e99d354d594
    • Baseline comparison: 7918 commands at Google Cloud SDK 583.0.0 alpha 2026.08.31 beta 2026.08.31 bq 2.1.38 bundled-python3-unix 3.14.7 core 2026.08.31 gcloud-crc32c 1.0.0 gsutil 5.37 preview 2026.08.31 -> 7927 commands at Google Cloud SDK 584.0.0 alpha 2026.09.04 beta 2026.09.04 bq 2.1.38 bundled-python3-unix 3.14.7 core 2026.09.04 gcloud-crc32c 1.0.0 gsutil 5.37 preview 2026.09.04
    • Added: gcloud artifacts files upload, gcloud compute project-views, gcloud compute project-views describe, gcloud kms keyrings delete, gcloud metastore services migrations, gcloud metastore services migrations delete, gcloud metastore services migrations describe, gcloud metastore services migrations list, gcloud metastore services migrations start

Verification

  • Solution builds successfully

🤖 Generated with ModularPipelines.OptionsGenerator

@thomhurst thomhurst added automated dependencies Pull requests that update a dependency file labels Sep 13, 2026
@greptile-apps

greptile-apps Bot commented Sep 13, 2026

Copy link
Copy Markdown

Too many files changed for review (1767 files, 100 file limit).

@coderabbitai

coderabbitai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (1)
  • main

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 95094c98-b5af-42eb-8d10-6aa08a3b28b0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-14T00:53:15.625451Z d784a9a New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

Copy link
Copy Markdown
Contributor

Review: [Automated] Update gcloud CLI Options (#4877)

This is a fully automated ModularPipelines.OptionsGenerator regeneration for gcloud. Given the file count (1582 changed files), gh pr diff exceeded GitHub's diff size limit, so this review was done by diffing the actual file trees (base checkout vs. pr-head/) rather than a unified diff.

What I checked

  • Scope of changes: every changed file under src/ sits in src/ModularPipelines.Google/{Enums,Options,Generated,PublicAPI.Shipped.txt,PublicAPI.Unshipped.txt} and is either a *.Generated.cs file or a generator metadata/tracking file. No hand-edited or non-generated source was touched, and no shims/aliases were added to preserve the old API surface — consistent with the repo rule that generator output is authoritative and must not be hand-patched.
  • No stale references: grepped the repo for a sample renumbered enum (GcloudAcceleratorType) that changed value order/mapping; the only hits are the generated enum file and generated option files that consume it. No examples, docs snippets, or hand-written tests reference the old enum values, so the breaking renumbering described in the PR body won't silently miscompile or misbehave elsewhere in the repo.
  • Docs: docs/docs/mp-packages/cli/gcloud.md gained exactly the rows for the new commands called out in the PR description (gcloud artifacts files upload, gcloud compute project-views[ describe], gcloud kms keyrings delete, gcloud metastore services migrations*) — consistent with the generation metadata diff.
  • Spot-checked a representative options file (GcloudComputeInstancesCreateOptions.Generated.cs) and enum file (GcloudAcceleratorType.Generated.cs): the diffs are exactly what you'd expect from upstream gcloud CLI help text changes (new --expose-host-topology/--no-expose-host-topology flags, updated --network-interface key docs, enum value renumbering) — no signs of a scraper/generator regression or malformed output.
  • Previous automated review bots (greptile, coderabbit, codex) either skipped or bailed out due to the file count, so there's no prior feedback on this PR to reconcile against.

Notes (non-blocking)

  • The PR's base branch (issue-4799-gcloud-group-descriptions) is behind main on a couple of unrelated files (e.g. Directory.Packages.props pins older Microsoft.Build/Microsoft.NET.Test.Sdk versions than main currently has, and a generate-cli-options.yml branch-naming fix present on main isn't here yet). That's pre-existing base-branch drift, not something introduced by this PR, but worth a rebase before merge so it doesn't look like a regression.
  • I was not able to execute a local build of pr-head or check CI status from this sandbox (build execution and gh api/gh pr checks against untrusted PR content require approval I don't have in this context), so I'm relying on static comparison plus the PR's own "Solution builds successfully" checkbox and CI. Recommend confirming the CI build/format checks are green before merging, given the scale of the enum renumbering.

No actionable code issues found in the generated output itself.

@thomhurst

Copy link
Copy Markdown
Owner Author

The original .NET validation run 34787372488 was canceled by workflow concurrency after I accidentally dispatched duplicate run 34787424555. I canceled the duplicate, confirmed both runs were terminal and no replacement was live, and reran the original once. The downstream failures only report that fast-fail was canceled; no test failure is being bypassed. This restores validation of head 956d976.

@thomhurst

Copy link
Copy Markdown
Owner Author

Blocking finding from the final generated-output audit: GcloudMetastoreServicesMigrationsStartOptions.Generated.cs still prefixes Async, ConflictPolicy, DryRun, MigrationExecutionId, Mode, and ReportPath with both "Configuration for migrating Hive tables..." and "Configuration for migrating Iceberg tables...". HiveCatalog and IcebergCatalog also both receive both sibling introductions. This is the exact cross-group documentation defect that parent #4870 is meant to fix.

Freshness matches the parent source and .NET run 34787372488 passes, including all seven Google integration tests, so this is a parser/fixture coverage gap rather than stale provenance or a build failure. The current CLEAR review did not detect it. This child must stay unmerged until the parser handles authoritative help formatting and the output is regenerated; no generated file will be patched by hand.

@thomhurst

Copy link
Copy Markdown
Owner Author

Additional validation: yarn install --frozen-lockfile and yarn build pass with Node 24.14.1; git diff --check passes. This does not resolve the generated documentation blocker above. The authoritative SDK 584.0.0 help reproduces the defect: plain group headings and their flags share indentation, which the existing synthetic fixtures did not cover. Source correction is underway in parent #4870.

@thomhurst
thomhurst force-pushed the automated/update-cli-options-gcloud-issue-4799-gcloud-group-descriptions branch from 956d976 to d784a9a Compare September 14, 2026 00:47

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d784a9a220

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

[GeneratedCode("ModularPipelines.OptionsGenerator", "2.0.0")]
[ExcludeFromCodeCoverage]
[CliSubCommand("metastore", "services", "migrations", "start")]
public record GcloudMetastoreServicesMigrationsStartOptions : GcloudOptions

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Generate the required service resource arguments

The authoritative SDK 584 help fixture shows the synopsis (SERVICE : --location=LOCATION) and explicitly says this resource group must be specified (tools/ModularPipelines.OptionsGenerator/src/ModularPipelines.OptionsGenerator.Tests/Fixtures/Gcloud/metastore-services-migrations-start.txt, lines 5-13 and 47-79), but this new record exposes neither a Service operand nor a Location option. Consequently, StartAsync cannot construct a valid migration-start invocation using this options type; fix the scraper to retain the indented resource arguments and regenerate the output.

AGENTS.md reference: AGENTS.md:L33-L33

Useful? React with 👍 / 👎.

@github-actions

Copy link
Copy Markdown
Contributor

Review

This is a fully automated ModularPipelines.OptionsGenerator regeneration for gcloud (SDK 583.0.0 → 584.0.0). gh pr diff exceeds GitHub's 300-file diff limit (1,767 changed files per an earlier bot comment), so this review compares the actual file trees: the PR base (origin/issue-4799-gcloud-group-descriptions, read via git show) against the pr-head/ checkout.

What I checked

  • Scope: every changed file sits under src/ModularPipelines.Google/{Enums,Options,Generated,PublicAPI.Shipped.txt,PublicAPI.Unshipped.txt} plus docs/docs/mp-packages/cli/gcloud.md. All are *.Generated.cs or generator metadata/tracking files — no hand-edited source, and no shims/aliases were added to paper over the breaking API changes. That matches the repo rule that generator output is authoritative and must never be hand-patched.
  • Previous blocking finding resolved: on 2026-09-13 the maintainer flagged GcloudMetastoreServicesMigrationsStartOptions.Generated.cs for a cross-group documentation bug — Async, ConflictPolicy, DryRun, MigrationExecutionId, Mode, and ReportPath were all getting both "Configuration for migrating Hive tables..." and "Configuration for migrating Iceberg tables..." prefixed onto their summaries, and HiveCatalog/IcebergCatalog were each getting both groups' intros too. I re-read the current file in pr-head/: those six top-level members now carry only their own plain descriptions, and HiveCatalog/HiveDatabases vs. IcebergCatalog/IcebergNamespaces each carry exactly one, correctly-scoped group description. A repo-wide grep for "Configuration for migrating" under Options/ now returns only this one file, with no duplication inside it — the parser fix from parent fix(generator): scope gcloud argument group descriptions #4870 landed correctly and this PR should no longer be blocked.
  • Enum renumbering: spot-checked GcloudAcceleratorType.Generated.cs. Members were re-sorted alphabetically and numeric enum values shifted, but each member's [EnumValue("...")] string (the thing actually sent to the CLI) is unchanged, so this renumbering is source-breaking (as the PR description's API-diff section already calls out) but not behavior-breaking for anyone using the enum names rather than hardcoded ordinals.
  • Docs: gcloud.md additions line up with the new commands listed in the PR description (gcloud artifacts files upload, gcloud compute project-views[ describe], gcloud kms keyrings delete, gcloud metastore services migrations*).

Limitations of this review

  • I could not run gh pr checks, gh api, or a local build/format pass in this sandbox (each requires interactive approval unavailable here), so I can't independently confirm CI is green. Please confirm the .NET validation and dotnet format --verify-no-changes checks pass before merging, given the scale of this regeneration.
  • Since every change here is machine-generated boilerplate (enum/options records mirroring gcloud CLI help text), there's no hand-authored logic, abstraction, or pattern to suggest improving — architectural feedback doesn't really apply to a generator's output. Any actual improvement belongs in the generator/scraper itself (already tracked via parent fix(generator): scope gcloud argument group descriptions #4870), not in this generated diff.

No actionable issues found in the generated output itself.

@thomhurst

Copy link
Copy Markdown
Owner Author

Verified the corrected output at d784a9a: the six top-level migration flags have their own descriptions, while Hive and Iceberg members each receive only their corresponding group introduction. The prior cross-group documentation blocker is fixed, matching the current-head CLEAR review.

Two merge requirements remain. The branch has no automatically triggered .NET checks, so I dispatched full current-head validation: https://github.com/thomhurst/ModularPipelines/actions/runs/34795137379. Separately, comparing the current baselines with parent 7e58658 finds 155 newly added removal markers whose declarations are absent from the current shipped baseline (for example, the former GcloudAcceleratorType.NvidiaTeslaP100Vws = 7 entry). This is the baseline lifecycle defect addressed by #4644. The generation base needs that fix and a fresh authoritative regeneration before this PR can merge. No generated files or baselines were hand-edited.

@thomhurst
thomhurst force-pushed the issue-4799-gcloud-group-descriptions branch 3 times, most recently from b3c750f to 0f63058 Compare September 14, 2026 05:02
@thomhurst thomhurst closed this Sep 14, 2026
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