public static final class Policy.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder> implements PolicyOrBuilder
An Identity and Access Management (IAM) policy, which specifies access
controls for Google Cloud resources.
A `Policy` is a collection of `bindings`. A `binding` binds one or more
`members`, or principals, to a single `role`. Principals can be user
accounts, service accounts, Google groups, and domains (such as G Suite). A
`role` is a named list of permissions; each `role` can be an IAM predefined
role or a user-created custom role.
For some types of Google Cloud resources, a `binding` can also specify a
`condition`, which is a logical expression that allows access to a resource
only if the expression evaluates to `true`. A condition can add constraints
based on attributes of the request, the resource, or both. To learn which
resources support conditions in their IAM policies, see the
[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
**JSON example:**
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
**YAML example:**
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
For a description of IAM and its features, see the
[IAM documentation](https://cloud.google.com/iam/docs/).
Protobuf type google.iam.v1.Policy| Modifier and Type | Method and Description |
|---|---|
Policy.Builder |
addAllAuditConfigs(Iterable<? extends AuditConfig> values)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
addAllBindings(Iterable<? extends Binding> values)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
addAuditConfigs(AuditConfig.Builder builderForValue)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
addAuditConfigs(AuditConfig value)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
addAuditConfigs(int index,
AuditConfig.Builder builderForValue)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
addAuditConfigs(int index,
AuditConfig value)
Specifies cloud audit logging configuration for this policy.
|
AuditConfig.Builder |
addAuditConfigsBuilder()
Specifies cloud audit logging configuration for this policy.
|
AuditConfig.Builder |
addAuditConfigsBuilder(int index)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
addBindings(Binding.Builder builderForValue)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
addBindings(Binding value)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
addBindings(int index,
Binding.Builder builderForValue)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
addBindings(int index,
Binding value)
Associates a list of `members`, or principals, with a `role`.
|
Binding.Builder |
addBindingsBuilder()
Associates a list of `members`, or principals, with a `role`.
|
Binding.Builder |
addBindingsBuilder(int index)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
Policy |
build() |
Policy |
buildPartial() |
Policy.Builder |
clear() |
Policy.Builder |
clearAuditConfigs()
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
clearBindings()
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
clearEtag()
`etag` is used for optimistic concurrency control as a way to help
prevent simultaneous updates of a policy from overwriting each other.
|
Policy.Builder |
clearField(com.google.protobuf.Descriptors.FieldDescriptor field) |
Policy.Builder |
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) |
Policy.Builder |
clearVersion()
Specifies the format of the policy.
|
Policy.Builder |
clone() |
AuditConfig |
getAuditConfigs(int index)
Specifies cloud audit logging configuration for this policy.
|
AuditConfig.Builder |
getAuditConfigsBuilder(int index)
Specifies cloud audit logging configuration for this policy.
|
List<AuditConfig.Builder> |
getAuditConfigsBuilderList()
Specifies cloud audit logging configuration for this policy.
|
int |
getAuditConfigsCount()
Specifies cloud audit logging configuration for this policy.
|
List<AuditConfig> |
getAuditConfigsList()
Specifies cloud audit logging configuration for this policy.
|
AuditConfigOrBuilder |
getAuditConfigsOrBuilder(int index)
Specifies cloud audit logging configuration for this policy.
|
List<? extends AuditConfigOrBuilder> |
getAuditConfigsOrBuilderList()
Specifies cloud audit logging configuration for this policy.
|
Binding |
getBindings(int index)
Associates a list of `members`, or principals, with a `role`.
|
Binding.Builder |
getBindingsBuilder(int index)
Associates a list of `members`, or principals, with a `role`.
|
List<Binding.Builder> |
getBindingsBuilderList()
Associates a list of `members`, or principals, with a `role`.
|
int |
getBindingsCount()
Associates a list of `members`, or principals, with a `role`.
|
List<Binding> |
getBindingsList()
Associates a list of `members`, or principals, with a `role`.
|
BindingOrBuilder |
getBindingsOrBuilder(int index)
Associates a list of `members`, or principals, with a `role`.
|
List<? extends BindingOrBuilder> |
getBindingsOrBuilderList()
Associates a list of `members`, or principals, with a `role`.
|
Policy |
getDefaultInstanceForType() |
static com.google.protobuf.Descriptors.Descriptor |
getDescriptor() |
com.google.protobuf.Descriptors.Descriptor |
getDescriptorForType() |
com.google.protobuf.ByteString |
getEtag()
`etag` is used for optimistic concurrency control as a way to help
prevent simultaneous updates of a policy from overwriting each other.
|
int |
getVersion()
Specifies the format of the policy.
|
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 |
removeAuditConfigs(int index)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
removeBindings(int index)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
setAuditConfigs(int index,
AuditConfig.Builder builderForValue)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
setAuditConfigs(int index,
AuditConfig value)
Specifies cloud audit logging configuration for this policy.
|
Policy.Builder |
setBindings(int index,
Binding.Builder builderForValue)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
setBindings(int index,
Binding value)
Associates a list of `members`, or principals, with a `role`.
|
Policy.Builder |
setEtag(com.google.protobuf.ByteString value)
`etag` is used for optimistic concurrency control as a way to help
prevent simultaneous updates of a policy from overwriting each other.
|
Policy.Builder |
setField(com.google.protobuf.Descriptors.FieldDescriptor field,
Object value) |
Policy.Builder |
setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
int index,
Object value) |
Policy.Builder |
setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) |
Policy.Builder |
setVersion(int value)
Specifies the format of the policy.
|
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged, setUnknownFieldsProto3findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringaddAll, addAll, 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, 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, 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, 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 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>IOExceptionpublic int getVersion()
Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **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. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
int32 version = 1;getVersion in interface PolicyOrBuilderpublic Policy.Builder setVersion(int value)
Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **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. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
int32 version = 1;value - The version to set.public Policy.Builder clearVersion()
Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **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. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
int32 version = 1;public List<Binding> getBindingsList()
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;getBindingsList in interface PolicyOrBuilderpublic int getBindingsCount()
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;getBindingsCount in interface PolicyOrBuilderpublic Binding getBindings(int index)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;getBindings in interface PolicyOrBuilderpublic Policy.Builder setBindings(int index, Binding value)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder setBindings(int index, Binding.Builder builderForValue)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(Binding value)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(int index, Binding value)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(Binding.Builder builderForValue)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addBindings(int index, Binding.Builder builderForValue)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder addAllBindings(Iterable<? extends Binding> values)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder clearBindings()
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Policy.Builder removeBindings(int index)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Binding.Builder getBindingsBuilder(int index)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public BindingOrBuilder getBindingsOrBuilder(int index)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;getBindingsOrBuilder in interface PolicyOrBuilderpublic List<? extends BindingOrBuilder> getBindingsOrBuilderList()
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;getBindingsOrBuilderList in interface PolicyOrBuilderpublic Binding.Builder addBindingsBuilder()
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public Binding.Builder addBindingsBuilder(int index)
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public List<Binding.Builder> getBindingsBuilderList()
Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
repeated .google.iam.v1.Binding bindings = 4;public List<AuditConfig> getAuditConfigsList()
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;getAuditConfigsList in interface PolicyOrBuilderpublic int getAuditConfigsCount()
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;getAuditConfigsCount in interface PolicyOrBuilderpublic AuditConfig getAuditConfigs(int index)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;getAuditConfigs in interface PolicyOrBuilderpublic Policy.Builder setAuditConfigs(int index, AuditConfig value)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder setAuditConfigs(int index, AuditConfig.Builder builderForValue)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder addAuditConfigs(AuditConfig value)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder addAuditConfigs(int index, AuditConfig value)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder addAuditConfigs(AuditConfig.Builder builderForValue)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder addAuditConfigs(int index, AuditConfig.Builder builderForValue)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder addAllAuditConfigs(Iterable<? extends AuditConfig> values)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder clearAuditConfigs()
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public Policy.Builder removeAuditConfigs(int index)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public AuditConfig.Builder getAuditConfigsBuilder(int index)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public AuditConfigOrBuilder getAuditConfigsOrBuilder(int index)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;getAuditConfigsOrBuilder in interface PolicyOrBuilderpublic List<? extends AuditConfigOrBuilder> getAuditConfigsOrBuilderList()
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;getAuditConfigsOrBuilderList in interface PolicyOrBuilderpublic AuditConfig.Builder addAuditConfigsBuilder()
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public AuditConfig.Builder addAuditConfigsBuilder(int index)
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public List<AuditConfig.Builder> getAuditConfigsBuilderList()
Specifies cloud audit logging configuration for this policy.
repeated .google.iam.v1.AuditConfig audit_configs = 6;public com.google.protobuf.ByteString getEtag()
`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.
bytes etag = 3;getEtag in interface PolicyOrBuilderpublic Policy.Builder setEtag(com.google.protobuf.ByteString value)
`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.
bytes etag = 3;value - The etag to set.public Policy.Builder clearEtag()
`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.
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>Copyright © 2022 Google LLC. All rights reserved.