tommwq.work/aip

AIP-163 变更验证

· [tommwq@126.com]
编号 163
原文链接 https://google.aip.dev/163
状态 批准
创建日期 2019-12-16
更新日期 2020-10-06

有时,用户希望在实际进行更改之前验证预期的更改,以查看结果会是什么。例如,请求在服务器群中配置新服务器将对整个服务器群的规模和成本产生影响,并可能产生意想不到的下游影响。

指南

API 可以 提供一个选项,验证但不实际执行请求,并提供与实际执行时相同的应答(状态码、应答头和应答主体)。

要提供此选项,方法 应当 在请求消息中包含 bool validate_only 域:

message ReviewBookRequest {
  string name = 1 [(google.api.resource_reference) = {
    type: "library.googleapis.com/Book"
  }];
  int32 rating = 2;
  string comment = 3;

  // If set, validate the request and preview the review, but do not actually
  // post it.
  bool validate_only = 4;
}

API 必须 执行权限检查,以及其他实际执行时进行的验证;如果确人实际请求将会失败,使用 validate_only 的请求也 必须 失败。

注意 有时可能无法提供完整的输出。例如,如果服务器在创建资源时自动生成标识,在验证请求时,这么做没有意义。此时API 应当 在验证请求中省略此类域。

声明友好资源

声明友好资源(AIP-128必须 在修改资源的方法中包含 validate_only 域。

修订记录

  • 2020-10-06 添加声明友好资源的要求。