Skip to content

enforce required xray flags - #72

Merged
jerrynbc merged 1 commit into
mainfrom
agent/xray-required-flags
Aug 7, 2026
Merged

jerrynbc merged 1 commit into
mainfrom
agent/xray-required-flags

Conversation

@wangyusheng1985

Copy link
Copy Markdown
Collaborator

Changes

  • restore Cobra required semantics for generated X-Ray operation-level path and query flags
  • reject explicitly provided zero or negative numeric resource IDs
  • preserve --body compatibility by excluding dot-qualified model flags from Cobra required annotations
  • add command-tree and end-to-end dry-run regression tests

Why

The generated X-Ray CLI only included Required. in flag help text. It never called MarkFlagRequired, so destructive and update commands could proceed through dry-run with missing IDs and exit successfully.

Impact

  • missing required path/query flags now fail before RunE, including during dry-run
  • numeric resource IDs such as --id=0 are rejected locally
  • valid zero-valued non-ID parameters such as --offset=0 remain supported
  • body model flags are not marked individually, so callers may continue using --body
  • this PR does not overlap files changed by omit null xray request slices #71

Root cause

go-swagger's generated Cobra layer emitted required metadata only as help text, while the generated API parameter types also represented required numeric path parameters as zero-valued scalars without validation.

Checks

  • task test
  • task lint
  • task build
  • git diff --check
  • dry-run: missing DeletePlanID --id exits 1
  • dry-run: DeletePlanID --id=0 exits 1
  • dry-run: valid ID exits 0
  • dry-run: GetProject --offset=0 remains valid and missing offset exits 1
  • test environment: valid GetPlanID, GetProject, GetTemplateID, and project-scoped query requests succeed

Follow-up

Body model validation should be handled separately after #71; marking every generated model flag required would incorrectly break valid --body requests.

@wangyusheng1985
wangyusheng1985 marked this pull request as ready for review August 5, 2026 02:31
@jerrynbc
jerrynbc merged commit b30b69d into main Aug 7, 2026
3 checks passed
@jerrynbc
jerrynbc deleted the agent/xray-required-flags branch August 7, 2026 03:15
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