Skip to content

Commit 95a9860

Browse files
authored
fix(AIP-164): clarify 164 is declarative-unfriendly (#1171)
Internal feedback has proven that soft-deletable resources are unfriendly to declarative clients. This was updated in AIP-128 but not in AIP-164. Fixes #1138
1 parent ff1ad3a commit 95a9860

1 file changed

Lines changed: 5 additions & 18 deletions

File tree

aip/general/0164.md

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -112,24 +112,11 @@ the resources indefinitely. Regardless of what strategy is selected, the API
112112

113113
### Declarative-friendly resources
114114

115-
A resource that is declarative-friendly (AIP-128) **should** support soft
116-
delete and undelete.
117-
118-
**Important:** There is an ambiguity in declarative tooling between "create"
119-
and "undelete". When given an alias which was previously deleted and a
120-
directive to make it exist, tooling usually does not know if the intent is to
121-
restore the previously-deleted resource, or create a new one with the same
122-
alias. Declarative tools **should** resolve this ambiguity in favor of creating
123-
a new resource: the only way to undelete is to explicitly use the undelete RPC
124-
(an imperative operation), and declarative tools **may** elect not to map
125-
anything to undelete at all.
126-
127-
Declarative-friendly resources **must** use long-running operations for both
128-
soft delete and undelete. The service **may** return an LRO that is already set
129-
to done if the request is effectively immediate.
130-
131-
Declarative-friendly resources **must** include `validate_only` (AIP-163) and
132-
`etag` (AIP-154) in their `Undelete` methods.
115+
Soft-deletable resources have a poorer experience than hard-deleted resources in
116+
declarative clients: since an ID on a soft-deleted resource is not re-usable
117+
unless a custom method (undelete) is called, an imperative client must be
118+
introduced or hand-written code is required to incorporate the usage of the
119+
custom method.
133120

134121
### Errors
135122

0 commit comments

Comments
 (0)