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 class
Policy.Builder
A builder forPolicy
objects.static class
Policy.DefaultMarshaller
static class
Policy.Marshaller<T>
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(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.String
getEtag()
Returns the policy's etag.int
getVersion()
Returns the version of the policy.int
hashCode()
static Policy.Builder
newBuilder()
Returns a builder forPolicy
objects.Policy.Builder
toBuilder()
Returns a builder containing the properties of this IAM Policy.String
toString()
-
-
-
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 forPolicy
objects.
-
-