Package com.google.cloud
Class Policy
- java.lang.Object
-
- com.google.cloud.Policy
-
- All Implemented Interfaces:
Serializable
public final class Policy extends Object implements Serializable
Class for Identity and Access Management (IAM) policies. IAM policies are used to specify access settings for Cloud Platform resources. A policy is a list of bindings. A binding assigns a set of identities to a role, where the identities can be user accounts, Google groups, Google domains, and service accounts. A role is a named list of permissions defined by IAM.- See Also:
- Policy, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPolicy.BuilderA builder forPolicyobjects.static classPolicy.DefaultMarshallerstatic classPolicy.Marshaller<T>
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)Map<Role,Set<Identity>>getBindings()Returns the map of bindings that comprises the policy.com.google.common.collect.ImmutableList<Binding>getBindingsList()Returns the list of bindings that comprises the policy for version 3.StringgetEtag()Returns the policy's etag.intgetVersion()Returns the version of the policy.inthashCode()static Policy.BuildernewBuilder()Returns a builder forPolicyobjects.Policy.BuildertoBuilder()Returns a builder containing the properties of this IAM Policy.StringtoString()
-
-
-
Method Detail
-
toBuilder
public Policy.Builder toBuilder()
Returns a builder containing the properties of this IAM Policy.
-
getBindings
public Map<Role,Set<Identity>> getBindings()
Returns the map of bindings that comprises the policy.- Throws:
IllegalArgumentException- if policy version is equal to 3 or has conditional bindings
-
getBindingsList
public com.google.common.collect.ImmutableList<Binding> getBindingsList()
Returns the list of bindings that comprises the policy for version 3.
-
getEtag
public String getEtag()
Returns 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.
-
getVersion
public int getVersion()
Returns the version of the policy. The default version is 0, meaning only the "owner", "editor", and "viewer" roles are permitted. If the version is 1, you may also use other roles.
-
newBuilder
public static Policy.Builder newBuilder()
Returns a builder forPolicyobjects.
-
-