Skip to content

Commit cd224b9

Browse files
authored
feat(AIP-128): remove unused guidance (#1009)
There is guidance in AIP-128 that is currently not relied on by any declarative surface. This is not a comprehensive removal of all unused behavior, but it does remove guidance this generally unhelpful. Specifically: Delete if existing is not necessary: error codes exist to indicate if a resource has already been deleted, and can be used by declarative surfaces instead. For soft deletes: this must only be used in the case where the resource cannot re-use the same id. Generally it is a simpler workflow to simple recreate the resource rather than undelete. * addressing feedback switching soft-delete guidance to *should not*, explaining the only caveats.
1 parent 0bfd687 commit cd224b9

3 files changed

Lines changed: 3 additions & 10 deletions

File tree

aip/general/0128.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,10 @@ interfaces, due to the focus on automation on top of these resources. This list
102102
is a comprehensive reference to declarative-friendly guidance in other AIPs:
103103

104104
- Resources **must** use user-settable resource IDs: see AIP-133.
105-
- Resources **must** permit "create or update": see AIP-134.
106-
- Resources **should** permit "delete if existing": see AIP-135.
107105
- Resources **should not** employ custom methods: see AIP-136.
108106
- Resources **must** use the `Update` method for repeated fields: see AIP-144.
109107
- Resources **must** include certain standard fields: see AIP-148.
110108
- Resources **must** have an `etag` field: see AIP-154.
111-
- Resources **must** provide change validation: see AIP-163.
112-
- Resources **should** support soft delete: see AIP-164.
109+
- Resources **should** provide change validation: see AIP-163.
110+
- Resources **should not** implement soft-delete. If the id cannot be re-used,
111+
the resource **must** implement soft-delete and the undelete RPC: see AIP-164

aip/general/0134.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,9 +209,6 @@ The user **must** have the update permissions to call `Update` even with
209209
`allow_missing` set to `true`. For customers that want to prevent users from
210210
creating resources using the update method, IAM conditions **should** be used.
211211

212-
**Note:** Declarative-friendly resources ([AIP-128][]) **must** expose the
213-
`bool allow_missing` field.
214-
215212
### Etags
216213

217214
An API may sometimes need to allow users to send update requests which are

aip/general/0135.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,6 @@ rpc DeleteBook(DeleteBookRequest) returns (google.longrunning.Operation) {
112112
- Both the `response_type` and `metadata_type` fields **must** be specified
113113
(even if they are `google.protobuf.Empty`).
114114

115-
**Note:** Declarative-friendly resources (AIP-128) **should** use long-running
116-
delete.
117-
118115
### Cascading delete
119116

120117
Sometimes, it may be necessary for users to be able to delete a resource as

0 commit comments

Comments
 (0)