Class Binding.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<Binding.Builder>
com.google.cloud.compute.v1.Binding.Builder
All Implemented Interfaces:
BindingOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
Binding

public static final class Binding.Builder extends com.google.protobuf.GeneratedMessage.Builder<Binding.Builder> implements BindingOrBuilder
 Associates `members`, or principals, with a `role`.
 
Protobuf type google.cloud.compute.v1.Binding
  • Method Summary

    Modifier and Type
    Method
    Description
    Specifies the principals requesting access for a Google Cloud resource.
    Specifies the principals requesting access for a Google Cloud resource.
    addMembersBytes(com.google.protobuf.ByteString value)
    Specifies the principals requesting access for a Google Cloud resource.
     
     
     
    optional string binding_id = 441088277;
    The condition that is associated with this binding.
    Specifies the principals requesting access for a Google Cloud resource.
    Role that is assigned to the list of `members`, or principals.
    optional string binding_id = 441088277;
    com.google.protobuf.ByteString
    optional string binding_id = 441088277;
    The condition that is associated with this binding.
    The condition that is associated with this binding.
    The condition that is associated with this binding.
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Descriptors.Descriptor
     
    getMembers(int index)
    Specifies the principals requesting access for a Google Cloud resource.
    com.google.protobuf.ByteString
    getMembersBytes(int index)
    Specifies the principals requesting access for a Google Cloud resource.
    int
    Specifies the principals requesting access for a Google Cloud resource.
    com.google.protobuf.ProtocolStringList
    Specifies the principals requesting access for a Google Cloud resource.
    Role that is assigned to the list of `members`, or principals.
    com.google.protobuf.ByteString
    Role that is assigned to the list of `members`, or principals.
    boolean
    optional string binding_id = 441088277;
    boolean
    The condition that is associated with this binding.
    boolean
    Role that is assigned to the list of `members`, or principals.
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
     
    final boolean
     
    The condition that is associated with this binding.
     
    mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    mergeFrom(com.google.protobuf.Message other)
     
    optional string binding_id = 441088277;
    setBindingIdBytes(com.google.protobuf.ByteString value)
    optional string binding_id = 441088277;
    The condition that is associated with this binding.
    setCondition(Expr.Builder builderForValue)
    The condition that is associated with this binding.
    setMembers(int index, String value)
    Specifies the principals requesting access for a Google Cloud resource.
    setRole(String value)
    Role that is assigned to the list of `members`, or principals.
    setRoleBytes(com.google.protobuf.ByteString value)
    Role that is assigned to the list of `members`, or principals.

    Methods inherited from class com.google.protobuf.GeneratedMessage.Builder

    addRepeatedField, clearField, clearOneof, clone, getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownFields, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setField, setRepeatedField, setUnknownFields, setUnknownFieldSetBuilder, setUnknownFieldsProto3

    Methods inherited from class com.google.protobuf.AbstractMessage.Builder

    findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

    addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.Message.Builder

    mergeDelimitedFrom, mergeDelimitedFrom

    Methods inherited from interface com.google.protobuf.MessageLite.Builder

    mergeFrom

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<Binding.Builder>
    • clear

      public Binding.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<Binding.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<Binding.Builder>
    • getDefaultInstanceForType

      public Binding getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public Binding build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public Binding buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public Binding.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Binding.Builder>
    • mergeFrom

      public Binding.Builder mergeFrom(Binding other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<Binding.Builder>
    • mergeFrom

      public Binding.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Binding.Builder>
      Throws:
      IOException
    • hasBindingId

      public boolean hasBindingId()
      optional string binding_id = 441088277;
      Specified by:
      hasBindingId in interface BindingOrBuilder
      Returns:
      Whether the bindingId field is set.
    • getBindingId

      public String getBindingId()
      optional string binding_id = 441088277;
      Specified by:
      getBindingId in interface BindingOrBuilder
      Returns:
      The bindingId.
    • getBindingIdBytes

      public com.google.protobuf.ByteString getBindingIdBytes()
      optional string binding_id = 441088277;
      Specified by:
      getBindingIdBytes in interface BindingOrBuilder
      Returns:
      The bytes for bindingId.
    • setBindingId

      public Binding.Builder setBindingId(String value)
      optional string binding_id = 441088277;
      Parameters:
      value - The bindingId to set.
      Returns:
      This builder for chaining.
    • clearBindingId

      public Binding.Builder clearBindingId()
      optional string binding_id = 441088277;
      Returns:
      This builder for chaining.
    • setBindingIdBytes

      public Binding.Builder setBindingIdBytes(com.google.protobuf.ByteString value)
      optional string binding_id = 441088277;
      Parameters:
      value - The bytes for bindingId to set.
      Returns:
      This builder for chaining.
    • hasCondition

      public boolean hasCondition()
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
      Specified by:
      hasCondition in interface BindingOrBuilder
      Returns:
      Whether the condition field is set.
    • getCondition

      public Expr getCondition()
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
      Specified by:
      getCondition in interface BindingOrBuilder
      Returns:
      The condition.
    • setCondition

      public Binding.Builder setCondition(Expr value)
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
    • setCondition

      public Binding.Builder setCondition(Expr.Builder builderForValue)
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
    • mergeCondition

      public Binding.Builder mergeCondition(Expr value)
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
    • clearCondition

      public Binding.Builder clearCondition()
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
    • getConditionBuilder

      public Expr.Builder getConditionBuilder()
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
    • getConditionOrBuilder

      public ExprOrBuilder getConditionOrBuilder()
       The condition that is associated with this binding.
      
       If the condition evaluates to `true`, then this binding applies to the
       current request.
      
       If the condition evaluates to `false`, then this binding does not apply to
       the current request. However, a different role binding might grant the same
       role to one or more of the principals in this binding.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      optional .google.cloud.compute.v1.Expr condition = 212430107;
      Specified by:
      getConditionOrBuilder in interface BindingOrBuilder
    • getMembersList

      public com.google.protobuf.ProtocolStringList getMembersList()
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Specified by:
      getMembersList in interface BindingOrBuilder
      Returns:
      A list containing the members.
    • getMembersCount

      public int getMembersCount()
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Specified by:
      getMembersCount in interface BindingOrBuilder
      Returns:
      The count of members.
    • getMembers

      public String getMembers(int index)
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Specified by:
      getMembers in interface BindingOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The members at the given index.
    • getMembersBytes

      public com.google.protobuf.ByteString getMembersBytes(int index)
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Specified by:
      getMembersBytes in interface BindingOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the members at the given index.
    • setMembers

      public Binding.Builder setMembers(int index, String value)
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Parameters:
      index - The index to set the value at.
      value - The members to set.
      Returns:
      This builder for chaining.
    • addMembers

      public Binding.Builder addMembers(String value)
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Parameters:
      value - The members to add.
      Returns:
      This builder for chaining.
    • addAllMembers

      public Binding.Builder addAllMembers(Iterable<String> values)
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Parameters:
      values - The members to add.
      Returns:
      This builder for chaining.
    • clearMembers

      public Binding.Builder clearMembers()
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Returns:
      This builder for chaining.
    • addMembersBytes

      public Binding.Builder addMembersBytes(com.google.protobuf.ByteString value)
       Specifies the principals requesting access for a Google Cloud resource.
       `members` can have the following values:
      
       * `allUsers`: A special identifier that represents anyone who is
       on the internet; with or without a Google account.
      
       * `allAuthenticatedUsers`: A special identifier that represents anyone
       who is authenticated with a Google account or a service account.
       Does not include identities that come from external identity providers
       (IdPs) through identity federation.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a Google
       service account. For example,
       `my-other-app@appspot.gserviceaccount.com`.
      
       * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
       identifier for a
       [Kubernetes service
       account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts).
       For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
      
      
      
      
       * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workforce identity pool.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
       All workforce identities in a group.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All workforce identities with a specific attribute value.
      
       * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`:
       All identities in a workforce identity pool.
      
       * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`:
       A single identity in a workload identity pool.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`:
       A workload identity pool group.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`:
       All identities in a workload identity pool with a certain attribute.
      
       * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`:
       All identities in a workload identity pool.
      
       * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a user that has been recently deleted. For
       example, `alice@example.com?uid=123456789012345678901`. If the user is
       recovered, this value reverts to `user:{emailid}` and the recovered user
       retains the role in the binding.
      
       * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
       unique identifier) representing a service account that has been recently
       deleted. For example,
       `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
       If the service account is undeleted, this value reverts to
       `serviceAccount:{emailid}` and the undeleted service account retains the
       role in the binding.
      
       * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
       identifier) representing a Google group that has been recently
       deleted. For example, `admins@example.com?uid=123456789012345678901`. If
       the group is recovered, this value reverts to `group:{emailid}` and the
       recovered group retains the role in the binding.
      
       * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`:
       Deleted single identity in a workforce identity pool. For example,
       `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
       
      repeated string members = 412010777;
      Parameters:
      value - The bytes of the members to add.
      Returns:
      This builder for chaining.
    • hasRole

      public boolean hasRole()
       Role that is assigned to the list of `members`, or principals.
       For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
      
       For an overview of the IAM roles and permissions, see the
       [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For
       a list of the available pre-defined roles, see
       [here](https://cloud.google.com/iam/docs/understanding-roles).
       
      optional string role = 3506294;
      Specified by:
      hasRole in interface BindingOrBuilder
      Returns:
      Whether the role field is set.
    • getRole

      public String getRole()
       Role that is assigned to the list of `members`, or principals.
       For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
      
       For an overview of the IAM roles and permissions, see the
       [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For
       a list of the available pre-defined roles, see
       [here](https://cloud.google.com/iam/docs/understanding-roles).
       
      optional string role = 3506294;
      Specified by:
      getRole in interface BindingOrBuilder
      Returns:
      The role.
    • getRoleBytes

      public com.google.protobuf.ByteString getRoleBytes()
       Role that is assigned to the list of `members`, or principals.
       For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
      
       For an overview of the IAM roles and permissions, see the
       [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For
       a list of the available pre-defined roles, see
       [here](https://cloud.google.com/iam/docs/understanding-roles).
       
      optional string role = 3506294;
      Specified by:
      getRoleBytes in interface BindingOrBuilder
      Returns:
      The bytes for role.
    • setRole

      public Binding.Builder setRole(String value)
       Role that is assigned to the list of `members`, or principals.
       For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
      
       For an overview of the IAM roles and permissions, see the
       [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For
       a list of the available pre-defined roles, see
       [here](https://cloud.google.com/iam/docs/understanding-roles).
       
      optional string role = 3506294;
      Parameters:
      value - The role to set.
      Returns:
      This builder for chaining.
    • clearRole

      public Binding.Builder clearRole()
       Role that is assigned to the list of `members`, or principals.
       For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
      
       For an overview of the IAM roles and permissions, see the
       [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For
       a list of the available pre-defined roles, see
       [here](https://cloud.google.com/iam/docs/understanding-roles).
       
      optional string role = 3506294;
      Returns:
      This builder for chaining.
    • setRoleBytes

      public Binding.Builder setRoleBytes(com.google.protobuf.ByteString value)
       Role that is assigned to the list of `members`, or principals.
       For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
      
       For an overview of the IAM roles and permissions, see the
       [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For
       a list of the available pre-defined roles, see
       [here](https://cloud.google.com/iam/docs/understanding-roles).
       
      optional string role = 3506294;
      Parameters:
      value - The bytes for role to set.
      Returns:
      This builder for chaining.