Class Binding.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder<MessageType,BuilderType>
com.google.protobuf.GeneratedMessageLite.Builder<Binding,Binding.Builder>
com.google.iam.v1.Binding.Builder
All Implemented Interfaces:
BindingOrBuilder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, Cloneable
Enclosing class:
Binding

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

    Fields inherited from class com.google.protobuf.GeneratedMessageLite.Builder

    instance
  • 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.
    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.
    The condition that is associated with this binding.
    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.
    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
    The condition that is associated with this binding.
    The condition that is associated with this binding.
    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.GeneratedMessageLite.Builder

    build, buildPartial, clear, clone, copyOnWrite, copyOnWriteInternal, getDefaultInstanceForType, internalMergeFrom, isInitialized, mergeFrom, mergeFrom, mergeFrom, mergeFrom

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

    addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    getDefaultInstanceForType, isInitialized
  • Method Details

    • getRole

      public String getRole()
       Role that is assigned to the list of `members`, or principals.
       For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
       
      string role = 1 [json_name = "role"];
      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`.
       
      string role = 1 [json_name = "role"];
      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`.
       
      string role = 1 [json_name = "role"];
      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`.
       
      string role = 1 [json_name = "role"];
      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`.
       
      string role = 1 [json_name = "role"];
      Parameters:
      value - The bytes for role to set.
      Returns:
      This builder for chaining.
    • getMembersList

      public List<String> 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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      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.
      
       * `user:{emailid}`: An email address that represents a specific Google
       account. For example, `alice@example.com` .
      
      
       * `serviceAccount:{emailid}`: An email address that represents a service
       account. For example, `my-other-app@appspot.gserviceaccount.com`.
      
       * `group:{emailid}`: An email address that represents a Google group.
       For example, `admins@example.com`.
      
       * `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.
      
      
       * `domain:{domain}`: The G Suite domain (primary) that represents all the
       users of that domain. For example, `google.com` or `example.com`.
       
      repeated string members = 2 [json_name = "members"];
      Parameters:
      value - The bytes of the members to add.
      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).
       
      .google.type.Expr condition = 3 [json_name = "condition"];
      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).
       
      .google.type.Expr condition = 3 [json_name = "condition"];
      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).
       
      .google.type.Expr condition = 3 [json_name = "condition"];
    • 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).
       
      .google.type.Expr condition = 3 [json_name = "condition"];
    • 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).
       
      .google.type.Expr condition = 3 [json_name = "condition"];
    • 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).
       
      .google.type.Expr condition = 3 [json_name = "condition"];