aep.dev icon indicating copy to clipboard operation
aep.dev copied to clipboard

Adopt AIP-163: Change validation

Open mkistler opened this issue 11 months ago • 3 comments

https://google.aip.dev/163

Discussion in AEP meeting 2/7/25

Name of the option should probably be dry-run

How should this be implemented in http? Probably a header.

Is there an HTTP RFC for this?

What aspects are validated?

  • authorization ?
  • rate limit ?
  • resource quotas ?

What should the response look like? A fully mocked out response?

mkistler avatar Feb 07 '25 20:02 mkistler

There is apparently no HTTP RFC for this.

mkistler avatar Feb 14 '25 15:02 mkistler

Adding a couple extra notes here: before we adopt this AEP, it's a good idea to try to push a bit more with HTTP RFC folks and make sure there is no precedence incoming, or even write a new HTTP RFC to consider this case.

toumorokoshi avatar Sep 06 '25 19:09 toumorokoshi

The options:

  • query param
  • header
  • path (custom method)
  • body

At the moment I lean towards it being in the body, as dry_run: true in both the request and response, mostly because changes to the body are not something that need any changes to how things are done.

Query param is probably the most prevalent out in the wild. Some are using ?dryRun=true. But ideally the response would also need to change to identify it as a dry run.

Azure Deployments use deployment/whatIf which could be a custom method in AEP land.

Headers are an option, but it should either be X- prefixed or reserved with an RFC. If this route is chosen it should probably have Dry-Run-Applied: true in the response, similar to the preferred header.

thegagne avatar Sep 07 '25 02:09 thegagne