Class Policy.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
com.google.iam.v1.Policy.Builder
All Implemented Interfaces:
PolicyOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
Policy

public static final class Policy.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder> implements PolicyOrBuilder
 An Identity and Access Management (IAM) policy, which specifies access
 controls for Google Cloud resources.


 A `Policy` is a collection of `bindings`. A `binding` binds one or more
 `members`, or principals, to a single `role`. Principals can be user
 accounts, service accounts, Google groups, and domains (such as G Suite). A
 `role` is a named list of permissions; each `role` can be an IAM predefined
 role or a user-created custom role.

 For some types of Google Cloud resources, a `binding` can also specify a
 `condition`, which is a logical expression that allows access to a resource
 only if the expression evaluates to `true`. A condition can add constraints
 based on attributes of the request, the resource, or both. To learn which
 resources support conditions in their IAM policies, see the
 [IAM
 documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

 **JSON example:**

 ```
     {
       "bindings": [
         {
           "role": "roles/resourcemanager.organizationAdmin",
           "members": [
             "user:mike@example.com",
             "group:admins@example.com",
             "domain:google.com",
             "serviceAccount:my-project-id@appspot.gserviceaccount.com"
           ]
         },
         {
           "role": "roles/resourcemanager.organizationViewer",
           "members": [
             "user:eve@example.com"
           ],
           "condition": {
             "title": "expirable access",
             "description": "Does not grant access after Sep 2020",
             "expression": "request.time <
             timestamp('2020-10-01T00:00:00.000Z')",
           }
         }
       ],
       "etag": "BwWWja0YfJA=",
       "version": 3
     }
 ```

 **YAML example:**

 ```
     bindings:
     - members:
       - user:mike@example.com
       - group:admins@example.com
       - domain:google.com
       - serviceAccount:my-project-id@appspot.gserviceaccount.com
       role: roles/resourcemanager.organizationAdmin
     - members:
       - user:eve@example.com
       role: roles/resourcemanager.organizationViewer
       condition:
         title: expirable access
         description: Does not grant access after Sep 2020
         expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
     etag: BwWWja0YfJA=
     version: 3
 ```

 For a description of IAM and its features, see the
 [IAM documentation](https://cloud.google.com/iam/docs/).
 
Protobuf type google.iam.v1.Policy
  • Method Details

    • getDescriptor

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

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

      public Policy.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.GeneratedMessageV3.Builder<Policy.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.GeneratedMessageV3.Builder<Policy.Builder>
    • getDefaultInstanceForType

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

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

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

      public Policy.Builder clone()
      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
    • setField

      public Policy.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
    • clearField

      public Policy.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
    • clearOneof

      public Policy.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
    • setRepeatedField

      public Policy.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
    • addRepeatedField

      public Policy.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
    • mergeFrom

      public Policy.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<Policy.Builder>
    • mergeFrom

      public Policy.Builder mergeFrom(Policy other)
    • isInitialized

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

      public Policy.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<Policy.Builder>
      Throws:
      IOException
    • getVersion

      public int getVersion()
       Specifies the format of the policy.
      
       Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
       are rejected.
      
       Any operation that affects conditional role bindings must specify version
       `3`. This requirement applies to the following operations:
      
       * Getting a policy that includes a conditional role binding
       * Adding a conditional role binding to a policy
       * Changing a conditional role binding in a policy
       * Removing any role binding, with or without a condition, from a policy
         that includes conditions
      
       **Important:** If you use IAM Conditions, you must include the `etag` field
       whenever you call `setIamPolicy`. If you omit this field, then IAM allows
       you to overwrite a version `3` policy with a version `1` policy, and all of
       the conditions in the version `3` policy are lost.
      
       If a policy does not include any conditions, operations on that policy may
       specify any valid version or leave the field unset.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      int32 version = 1;
      Specified by:
      getVersion in interface PolicyOrBuilder
      Returns:
      The version.
    • setVersion

      public Policy.Builder setVersion(int value)
       Specifies the format of the policy.
      
       Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
       are rejected.
      
       Any operation that affects conditional role bindings must specify version
       `3`. This requirement applies to the following operations:
      
       * Getting a policy that includes a conditional role binding
       * Adding a conditional role binding to a policy
       * Changing a conditional role binding in a policy
       * Removing any role binding, with or without a condition, from a policy
         that includes conditions
      
       **Important:** If you use IAM Conditions, you must include the `etag` field
       whenever you call `setIamPolicy`. If you omit this field, then IAM allows
       you to overwrite a version `3` policy with a version `1` policy, and all of
       the conditions in the version `3` policy are lost.
      
       If a policy does not include any conditions, operations on that policy may
       specify any valid version or leave the field unset.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      int32 version = 1;
      Parameters:
      value - The version to set.
      Returns:
      This builder for chaining.
    • clearVersion

      public Policy.Builder clearVersion()
       Specifies the format of the policy.
      
       Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
       are rejected.
      
       Any operation that affects conditional role bindings must specify version
       `3`. This requirement applies to the following operations:
      
       * Getting a policy that includes a conditional role binding
       * Adding a conditional role binding to a policy
       * Changing a conditional role binding in a policy
       * Removing any role binding, with or without a condition, from a policy
         that includes conditions
      
       **Important:** If you use IAM Conditions, you must include the `etag` field
       whenever you call `setIamPolicy`. If you omit this field, then IAM allows
       you to overwrite a version `3` policy with a version `1` policy, and all of
       the conditions in the version `3` policy are lost.
      
       If a policy does not include any conditions, operations on that policy may
       specify any valid version or leave the field unset.
      
       To learn which resources support conditions in their IAM policies, see the
       [IAM
       documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
       
      int32 version = 1;
      Returns:
      This builder for chaining.
    • getBindingsList

      public List<Binding> getBindingsList()
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
      Specified by:
      getBindingsList in interface PolicyOrBuilder
    • getBindingsCount

      public int getBindingsCount()
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
      Specified by:
      getBindingsCount in interface PolicyOrBuilder
    • getBindings

      public Binding getBindings(int index)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
      Specified by:
      getBindings in interface PolicyOrBuilder
    • setBindings

      public Policy.Builder setBindings(int index, Binding value)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • setBindings

      public Policy.Builder setBindings(int index, Binding.Builder builderForValue)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • addBindings

      public Policy.Builder addBindings(Binding value)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • addBindings

      public Policy.Builder addBindings(int index, Binding value)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • addBindings

      public Policy.Builder addBindings(Binding.Builder builderForValue)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • addBindings

      public Policy.Builder addBindings(int index, Binding.Builder builderForValue)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • addAllBindings

      public Policy.Builder addAllBindings(Iterable<? extends Binding> values)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • clearBindings

      public Policy.Builder clearBindings()
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • removeBindings

      public Policy.Builder removeBindings(int index)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • getBindingsBuilder

      public Binding.Builder getBindingsBuilder(int index)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • getBindingsOrBuilder

      public BindingOrBuilder getBindingsOrBuilder(int index)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
      Specified by:
      getBindingsOrBuilder in interface PolicyOrBuilder
    • getBindingsOrBuilderList

      public List<? extends BindingOrBuilder> getBindingsOrBuilderList()
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
      Specified by:
      getBindingsOrBuilderList in interface PolicyOrBuilder
    • addBindingsBuilder

      public Binding.Builder addBindingsBuilder()
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • addBindingsBuilder

      public Binding.Builder addBindingsBuilder(int index)
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • getBindingsBuilderList

      public List<Binding.Builder> getBindingsBuilderList()
       Associates a list of `members`, or principals, with a `role`. Optionally,
       may specify a `condition` that determines how and when the `bindings` are
       applied. Each of the `bindings` must contain at least one principal.
      
       The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250
       of these principals can be Google groups. Each occurrence of a principal
       counts towards these limits. For example, if the `bindings` grant 50
       different roles to `user:alice@example.com`, and not to any other
       principal, then you can add another 1,450 principals to the `bindings` in
       the `Policy`.
       
      repeated .google.iam.v1.Binding bindings = 4;
    • getAuditConfigsList

      public List<AuditConfig> getAuditConfigsList()
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
      Specified by:
      getAuditConfigsList in interface PolicyOrBuilder
    • getAuditConfigsCount

      public int getAuditConfigsCount()
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
      Specified by:
      getAuditConfigsCount in interface PolicyOrBuilder
    • getAuditConfigs

      public AuditConfig getAuditConfigs(int index)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
      Specified by:
      getAuditConfigs in interface PolicyOrBuilder
    • setAuditConfigs

      public Policy.Builder setAuditConfigs(int index, AuditConfig value)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • setAuditConfigs

      public Policy.Builder setAuditConfigs(int index, AuditConfig.Builder builderForValue)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • addAuditConfigs

      public Policy.Builder addAuditConfigs(AuditConfig value)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • addAuditConfigs

      public Policy.Builder addAuditConfigs(int index, AuditConfig value)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • addAuditConfigs

      public Policy.Builder addAuditConfigs(AuditConfig.Builder builderForValue)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • addAuditConfigs

      public Policy.Builder addAuditConfigs(int index, AuditConfig.Builder builderForValue)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • addAllAuditConfigs

      public Policy.Builder addAllAuditConfigs(Iterable<? extends AuditConfig> values)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • clearAuditConfigs

      public Policy.Builder clearAuditConfigs()
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • removeAuditConfigs

      public Policy.Builder removeAuditConfigs(int index)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • getAuditConfigsBuilder

      public AuditConfig.Builder getAuditConfigsBuilder(int index)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • getAuditConfigsOrBuilder

      public AuditConfigOrBuilder getAuditConfigsOrBuilder(int index)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
      Specified by:
      getAuditConfigsOrBuilder in interface PolicyOrBuilder
    • getAuditConfigsOrBuilderList

      public List<? extends AuditConfigOrBuilder> getAuditConfigsOrBuilderList()
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
      Specified by:
      getAuditConfigsOrBuilderList in interface PolicyOrBuilder
    • addAuditConfigsBuilder

      public AuditConfig.Builder addAuditConfigsBuilder()
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • addAuditConfigsBuilder

      public AuditConfig.Builder addAuditConfigsBuilder(int index)
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • getAuditConfigsBuilderList

      public List<AuditConfig.Builder> getAuditConfigsBuilderList()
       Specifies cloud audit logging configuration for this policy.
       
      repeated .google.iam.v1.AuditConfig audit_configs = 6;
    • getEtag

      public com.google.protobuf.ByteString getEtag()
       `etag` is used for optimistic concurrency control as a way to help
       prevent simultaneous updates of a policy from overwriting each other.
       It is strongly suggested that systems make use of the `etag` in the
       read-modify-write cycle to perform policy updates in order to avoid race
       conditions: An `etag` is returned in the response to `getIamPolicy`, and
       systems are expected to put that etag in the request to `setIamPolicy` to
       ensure that their change will be applied to the same version of the policy.
      
       **Important:** If you use IAM Conditions, you must include the `etag` field
       whenever you call `setIamPolicy`. If you omit this field, then IAM allows
       you to overwrite a version `3` policy with a version `1` policy, and all of
       the conditions in the version `3` policy are lost.
       
      bytes etag = 3;
      Specified by:
      getEtag in interface PolicyOrBuilder
      Returns:
      The etag.
    • setEtag

      public Policy.Builder setEtag(com.google.protobuf.ByteString value)
       `etag` is used for optimistic concurrency control as a way to help
       prevent simultaneous updates of a policy from overwriting each other.
       It is strongly suggested that systems make use of the `etag` in the
       read-modify-write cycle to perform policy updates in order to avoid race
       conditions: An `etag` is returned in the response to `getIamPolicy`, and
       systems are expected to put that etag in the request to `setIamPolicy` to
       ensure that their change will be applied to the same version of the policy.
      
       **Important:** If you use IAM Conditions, you must include the `etag` field
       whenever you call `setIamPolicy`. If you omit this field, then IAM allows
       you to overwrite a version `3` policy with a version `1` policy, and all of
       the conditions in the version `3` policy are lost.
       
      bytes etag = 3;
      Parameters:
      value - The etag to set.
      Returns:
      This builder for chaining.
    • clearEtag

      public Policy.Builder clearEtag()
       `etag` is used for optimistic concurrency control as a way to help
       prevent simultaneous updates of a policy from overwriting each other.
       It is strongly suggested that systems make use of the `etag` in the
       read-modify-write cycle to perform policy updates in order to avoid race
       conditions: An `etag` is returned in the response to `getIamPolicy`, and
       systems are expected to put that etag in the request to `setIamPolicy` to
       ensure that their change will be applied to the same version of the policy.
      
       **Important:** If you use IAM Conditions, you must include the `etag` field
       whenever you call `setIamPolicy`. If you omit this field, then IAM allows
       you to overwrite a version `3` policy with a version `1` policy, and all of
       the conditions in the version `3` policy are lost.
       
      bytes etag = 3;
      Returns:
      This builder for chaining.
    • setUnknownFields

      public final Policy.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>
    • mergeUnknownFields

      public final Policy.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Policy.Builder>