enforce required xray flags - #72
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
--bodycompatibility by excluding dot-qualified model flags from Cobra required annotationsWhy
The generated X-Ray CLI only included
Required.in flag help text. It never calledMarkFlagRequired, so destructive and update commands could proceed through dry-run with missing IDs and exit successfully.Impact
RunE, including during dry-run--id=0are rejected locally--offset=0remain supported--bodyRoot 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 testtask linttask buildgit diff --checkDeletePlanID --idexits 1DeletePlanID --id=0exits 1GetProject --offset=0remains valid and missing offset exits 1GetPlanID,GetProject,GetTemplateID, and project-scoped query requests succeedFollow-up
Body model validation should be handled separately after #71; marking every generated model flag required would incorrectly break valid
--bodyrequests.