Class 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.cloud.compute.v1.Policy
    • Method Detail

      • 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>
      • 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
      • getAuditConfigsList

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

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

        public AuditConfig getAuditConfigs​(int index)
         Specifies cloud audit logging configuration for this policy.
         
        repeated .google.cloud.compute.v1.AuditConfig audit_configs = 328080653;
        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.cloud.compute.v1.AuditConfig audit_configs = 328080653;
      • setAuditConfigs

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

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

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

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

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

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

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

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

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

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

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

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

        public List<AuditConfig.Builder> getAuditConfigsBuilderList()
         Specifies cloud audit logging configuration for this policy.
         
        repeated .google.cloud.compute.v1.AuditConfig audit_configs = 328080653;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
        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.cloud.compute.v1.Binding bindings = 403251854;
        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.cloud.compute.v1.Binding bindings = 403251854;
        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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
        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.cloud.compute.v1.Binding bindings = 403251854;
        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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • 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.cloud.compute.v1.Binding bindings = 403251854;
      • hasEtag

        public boolean hasEtag()
         `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.
         
        optional string etag = 3123477;
        Specified by:
        hasEtag in interface PolicyOrBuilder
        Returns:
        Whether the etag field is set.
      • getEtag

        public String 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.
         
        optional string etag = 3123477;
        Specified by:
        getEtag in interface PolicyOrBuilder
        Returns:
        The etag.
      • getEtagBytes

        public com.google.protobuf.ByteString getEtagBytes()
         `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.
         
        optional string etag = 3123477;
        Specified by:
        getEtagBytes in interface PolicyOrBuilder
        Returns:
        The bytes for etag.
      • setEtag

        public Policy.Builder setEtag​(String 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.
         
        optional string etag = 3123477;
        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.
         
        optional string etag = 3123477;
        Returns:
        This builder for chaining.
      • setEtagBytes

        public Policy.Builder setEtagBytes​(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.
         
        optional string etag = 3123477;
        Parameters:
        value - The bytes for etag to set.
        Returns:
        This builder for chaining.
      • hasIamOwned

        public boolean hasIamOwned()
        optional bool iam_owned = 450566203;
        Specified by:
        hasIamOwned in interface PolicyOrBuilder
        Returns:
        Whether the iamOwned field is set.
      • getIamOwned

        public boolean getIamOwned()
        optional bool iam_owned = 450566203;
        Specified by:
        getIamOwned in interface PolicyOrBuilder
        Returns:
        The iamOwned.
      • setIamOwned

        public Policy.Builder setIamOwned​(boolean value)
        optional bool iam_owned = 450566203;
        Parameters:
        value - The iamOwned to set.
        Returns:
        This builder for chaining.
      • clearIamOwned

        public Policy.Builder clearIamOwned()
        optional bool iam_owned = 450566203;
        Returns:
        This builder for chaining.
      • getRulesList

        public List<Rule> getRulesList()
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
        Specified by:
        getRulesList in interface PolicyOrBuilder
      • getRulesCount

        public int getRulesCount()
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
        Specified by:
        getRulesCount in interface PolicyOrBuilder
      • getRules

        public Rule getRules​(int index)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
        Specified by:
        getRules in interface PolicyOrBuilder
      • setRules

        public Policy.Builder setRules​(int index,
                                       Rule value)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • setRules

        public Policy.Builder setRules​(int index,
                                       Rule.Builder builderForValue)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • addRules

        public Policy.Builder addRules​(Rule value)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • addRules

        public Policy.Builder addRules​(int index,
                                       Rule value)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • addRules

        public Policy.Builder addRules​(Rule.Builder builderForValue)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • addRules

        public Policy.Builder addRules​(int index,
                                       Rule.Builder builderForValue)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • addAllRules

        public Policy.Builder addAllRules​(Iterable<? extends Rule> values)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • clearRules

        public Policy.Builder clearRules()
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • removeRules

        public Policy.Builder removeRules​(int index)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • getRulesBuilder

        public Rule.Builder getRulesBuilder​(int index)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • getRulesOrBuilder

        public RuleOrBuilder getRulesOrBuilder​(int index)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
        Specified by:
        getRulesOrBuilder in interface PolicyOrBuilder
      • addRulesBuilder

        public Rule.Builder addRulesBuilder()
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • addRulesBuilder

        public Rule.Builder addRulesBuilder​(int index)
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • getRulesBuilderList

        public List<Rule.Builder> getRulesBuilderList()
         This is deprecated and has no effect. Do not use.
         
        repeated .google.cloud.compute.v1.Rule rules = 108873975;
      • hasVersion

        public boolean hasVersion()
         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).
         
        optional int32 version = 351608024;
        Specified by:
        hasVersion in interface PolicyOrBuilder
        Returns:
        Whether the version field is set.
      • 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).
         
        optional int32 version = 351608024;
        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).
         
        optional int32 version = 351608024;
        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).
         
        optional int32 version = 351608024;
        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>