etag property
etag is used for optimistic concurrency control as a way to help
prevent simultaneous updates of a policy from overwriting each other.
It is strongly suggested that systems make use of the etag in the
read-modify-write cycle to perform policy updates in order to avoid race
conditions: An etag is returned in the response to getIamPolicy, and
systems are expected to put that etag in the request to setIamPolicy to
ensure that their change will be applied to the same version of the
policy.
Important: If you use IAM Conditions, you must include the etag
field
whenever you call setIamPolicy.
If you omit this field, then IAM allows
you to overwrite a version 3 policy with a version 1 policy, and all
of
the conditions in the version 3 policy are lost.
Implementation
core.String? etag;