public static final class Policy.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder> implements PolicyOrBuilder
# Overview
The `Policy` defines an access control policy language. It is used to
define policies that are attached to resources like files, folders, VMs,
etc.
# Policy structure
A `Policy` consists of a list of bindings. A `Binding` binds a set of members
to a role, where the members include user accounts, user groups, user
domains, and service accounts. A 'role' is a named set of permissions,
defined by IAM. The definition of a role is outside the policy.
A permission check first determines the roles that include the specified
permission, and then determines if the principal specified is a
member of a binding to at least one of these roles. The membership check is
recursive when a group is bound to a role.
Policy examples:
```
{
"bindings": [
{
"role": "roles/owner",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:frontend@example.iam.gserviceaccounts.com"]
},
{
"role": "roles/viewer",
"members": ["user:sean@example.com"]
}
]
}
```
Protobuf type google.iam.v1.Policy| Modifier and Type | Method and Description |
|---|---|
Policy.Builder |
addAllBindings(java.lang.Iterable<? extends Binding> values)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
addBindings(Binding.Builder builderForValue)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
addBindings(Binding value)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
addBindings(int index,
Binding.Builder builderForValue)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
addBindings(int index,
Binding value)
It is an error to specify multiple bindings for the same role.
|
Binding.Builder |
addBindingsBuilder()
It is an error to specify multiple bindings for the same role.
|
Binding.Builder |
addBindingsBuilder(int index)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
Policy |
build() |
Policy |
buildPartial() |
Policy.Builder |
clear() |
Policy.Builder |
clearBindings()
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
clearEtag()
Can be used to perform a read-modify-write.
|
Policy.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
Policy.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
Policy.Builder |
clearVersion()
The policy language version.
|
Policy.Builder |
clone() |
Binding |
getBindings(int index)
It is an error to specify multiple bindings for the same role.
|
Binding.Builder |
getBindingsBuilder(int index)
It is an error to specify multiple bindings for the same role.
|
java.util.List<Binding.Builder> |
getBindingsBuilderList()
It is an error to specify multiple bindings for the same role.
|
int |
getBindingsCount()
It is an error to specify multiple bindings for the same role.
|
java.util.List<Binding> |
getBindingsList()
It is an error to specify multiple bindings for the same role.
|
BindingOrBuilder |
getBindingsOrBuilder(int index)
It is an error to specify multiple bindings for the same role.
|
java.util.List<? extends BindingOrBuilder> |
getBindingsOrBuilderList()
It is an error to specify multiple bindings for the same role.
|
Policy |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
com.google.protobuf.ByteString |
getEtag()
Can be used to perform a read-modify-write.
|
int |
getVersion()
The policy language version.
|
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable |
internalGetFieldAccessorTable() |
boolean |
isInitialized() |
Policy.Builder |
mergeFrom(com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) |
Policy.Builder |
mergeFrom(com.google.protobuf.Message other) |
Policy.Builder |
mergeFrom(Policy other) |
Policy.Builder |
mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Policy.Builder |
removeBindings(int index)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
setBindings(int index,
Binding.Builder builderForValue)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
setBindings(int index,
Binding value)
It is an error to specify multiple bindings for the same role.
|
Policy.Builder |
setEtag(com.google.protobuf.ByteString value)
Can be used to perform a read-modify-write.
|
Policy.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
java.lang.Object value) |
Policy.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
java.lang.Object value) |
Policy.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Policy.Builder |
setVersion(int value)
The policy language version.
|
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, parseUnknownFieldfindInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringaddAll, mergeFrom, newUninitializedMessageExceptionequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder clear()
clear in interface com.google.protobuf.Message.Builderclear in interface com.google.protobuf.MessageLite.Builderclear in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
getDescriptorForType in interface com.google.protobuf.Message.BuildergetDescriptorForType in interface com.google.protobuf.MessageOrBuildergetDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy getDefaultInstanceForType()
getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuildergetDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilderpublic Policy build()
build in interface com.google.protobuf.Message.Builderbuild in interface com.google.protobuf.MessageLite.Builderpublic Policy buildPartial()
buildPartial in interface com.google.protobuf.Message.BuilderbuildPartial in interface com.google.protobuf.MessageLite.Builderpublic Policy.Builder clone()
clone in interface com.google.protobuf.Message.Builderclone in interface com.google.protobuf.MessageLite.Builderclone in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
setField in interface com.google.protobuf.Message.BuildersetField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
clearField in interface com.google.protobuf.Message.BuilderclearField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
clearOneof in interface com.google.protobuf.Message.BuilderclearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)
setRepeatedField in interface com.google.protobuf.Message.BuildersetRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)
addRepeatedField in interface com.google.protobuf.Message.BuilderaddRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder mergeFrom(com.google.protobuf.Message other)
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Policy.Builder>public Policy.Builder mergeFrom(Policy other)
public final boolean isInitialized()
isInitialized in interface com.google.protobuf.MessageLiteOrBuilderisInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public Policy.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
mergeFrom in interface com.google.protobuf.Message.BuildermergeFrom in interface com.google.protobuf.MessageLite.BuildermergeFrom in class com.google.protobuf.AbstractMessage.Builder<Policy.Builder>java.io.IOExceptionpublic int getVersion()
The policy language version. The version of the policy is represented by the etag. The default version is 0.
optional int32 version = 1;getVersion in interface PolicyOrBuilderpublic Policy.Builder setVersion(int value)
The policy language version. The version of the policy is represented by the etag. The default version is 0.
optional int32 version = 1;public Policy.Builder clearVersion()
The policy language version. The version of the policy is represented by the etag. The default version is 0.
optional int32 version = 1;public java.util.List<Binding> getBindingsList()
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;getBindingsList in interface PolicyOrBuilderpublic int getBindingsCount()
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;getBindingsCount in interface PolicyOrBuilderpublic Binding getBindings(int index)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;getBindings in interface PolicyOrBuilderpublic Policy.Builder setBindings(int index, Binding value)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder setBindings(int index, Binding.Builder builderForValue)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(Binding value)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(int index, Binding value)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(Binding.Builder builderForValue)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(int index, Binding.Builder builderForValue)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addAllBindings(java.lang.Iterable<? extends Binding> values)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder clearBindings()
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder removeBindings(int index)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Binding.Builder getBindingsBuilder(int index)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public BindingOrBuilder getBindingsOrBuilder(int index)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;getBindingsOrBuilder in interface PolicyOrBuilderpublic java.util.List<? extends BindingOrBuilder> getBindingsOrBuilderList()
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;getBindingsOrBuilderList in interface PolicyOrBuilderpublic Binding.Builder addBindingsBuilder()
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public Binding.Builder addBindingsBuilder(int index)
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public java.util.List<Binding.Builder> getBindingsBuilderList()
It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.
repeated .google.iam.v1.Binding bindings = 4;public com.google.protobuf.ByteString getEtag()
Can be used to perform a read-modify-write.
optional bytes etag = 3;getEtag in interface PolicyOrBuilderpublic Policy.Builder setEtag(com.google.protobuf.ByteString value)
Can be used to perform a read-modify-write.
optional bytes etag = 3;public Policy.Builder clearEtag()
Can be used to perform a read-modify-write.
optional bytes etag = 3;public final Policy.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
setUnknownFields in interface com.google.protobuf.Message.BuildersetUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>public final Policy.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
mergeUnknownFields in interface com.google.protobuf.Message.BuildermergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>