Class Policy.Builder (2.40.0)

public static class Policy.Builder

A builder for Policy objects.

Inheritance

java.lang.Object > Policy.Builder

Constructors

Builder()

protected Builder()

Builder(Policy policy)

protected Builder(Policy policy)
Parameter
Name Description
policy Policy

Methods

addIdentity(Role role, Identity first, Identity[] others)

public final Policy.Builder addIdentity(Role role, Identity first, Identity[] others)

Adds one or more identities to the policy under the role specified.

Parameters
Name Description
role Role
first Identity
others Identity[]
Returns
Type Description
Policy.Builder

build()

public final Policy build()

Creates a Policy object.

Returns
Type Description
Policy

removeIdentity(Role role, Identity first, Identity[] others)

public final Policy.Builder removeIdentity(Role role, Identity first, Identity[] others)

Removes one or more identities from an existing binding. Does nothing if the binding associated with the provided role doesn't exist.

Parameters
Name Description
role Role
first Identity
others Identity[]
Returns
Type Description
Policy.Builder

removeRole(Role role)

public final Policy.Builder removeRole(Role role)

Removes the role (and all identities associated with that role) from the policy.

Parameter
Name Description
role Role
Returns
Type Description
Policy.Builder

setBindings(List<Binding> bindings)

public final Policy.Builder setBindings(List<Binding> bindings)

Replaces the builder's List of bindings with the given List of Bindings.

Parameter
Name Description
bindings List<Binding>
Returns
Type Description
Policy.Builder

setBindings(Map<Role,Set<Identity>> bindings)

public final Policy.Builder setBindings(Map<Role,Set<Identity>> bindings)

Replaces the builder's map of bindings with the given map of bindings.

Parameter
Name Description
bindings Map<Role,Set<Identity>>
Returns
Type Description
Policy.Builder

setEtag(String etag)

public final Policy.Builder setEtag(String etag)

Sets the policy's etag.

Etags are 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. If no etag is provided in the call to setIamPolicy, then the existing policy is overwritten blindly.

Parameter
Name Description
etag String
Returns
Type Description
Policy.Builder

setVersion(int version)

public final Policy.Builder setVersion(int version)

Sets the version of the policy.

Parameter
Name Description
version int
Returns
Type Description
Policy.Builder