Class Subscription.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, SubscriptionOrBuilder, Cloneable
    Enclosing class:
    Subscription

    public static final class Subscription.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<Subscription.Builder>
    implements SubscriptionOrBuilder
     A subscription resource. If none of `push_config`, `bigquery_config`, or
     `cloud_storage_config` is set, then the subscriber will pull and ack messages
     using API methods. At most one of these fields may be set.
     
    Protobuf type google.pubsub.v1.Subscription
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.MapField internalGetMapField​(int number)
        Overrides:
        internalGetMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Subscription.Builder>
      • internalGetMutableMapField

        protected com.google.protobuf.MapField internalGetMutableMapField​(int number)
        Overrides:
        internalGetMutableMapField in class com.google.protobuf.GeneratedMessageV3.Builder<Subscription.Builder>
      • internalGetFieldAccessorTable

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

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

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

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

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

        public Subscription.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<Subscription.Builder>
      • setField

        public Subscription.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<Subscription.Builder>
      • clearField

        public Subscription.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<Subscription.Builder>
      • clearOneof

        public Subscription.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<Subscription.Builder>
      • setRepeatedField

        public Subscription.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<Subscription.Builder>
      • addRepeatedField

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

        public Subscription.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<Subscription.Builder>
      • isInitialized

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

        public Subscription.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<Subscription.Builder>
        Throws:
        IOException
      • getName

        public String getName()
         Required. The name of the subscription. It must have the format
         `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
         start with a letter, and contain only letters (`[A-Za-z]`), numbers
         (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
         plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
         in length, and it must not start with `"goog"`.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getName in interface SubscriptionOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Required. The name of the subscription. It must have the format
         `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
         start with a letter, and contain only letters (`[A-Za-z]`), numbers
         (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
         plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
         in length, and it must not start with `"goog"`.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getNameBytes in interface SubscriptionOrBuilder
        Returns:
        The bytes for name.
      • setName

        public Subscription.Builder setName​(String value)
         Required. The name of the subscription. It must have the format
         `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
         start with a letter, and contain only letters (`[A-Za-z]`), numbers
         (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
         plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
         in length, and it must not start with `"goog"`.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public Subscription.Builder clearName()
         Required. The name of the subscription. It must have the format
         `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
         start with a letter, and contain only letters (`[A-Za-z]`), numbers
         (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
         plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
         in length, and it must not start with `"goog"`.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Returns:
        This builder for chaining.
      • setNameBytes

        public Subscription.Builder setNameBytes​(com.google.protobuf.ByteString value)
         Required. The name of the subscription. It must have the format
         `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
         start with a letter, and contain only letters (`[A-Za-z]`), numbers
         (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
         plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
         in length, and it must not start with `"goog"`.
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • getTopic

        public String getTopic()
         Required. The name of the topic from which this subscription is receiving
         messages. Format is `projects/{project}/topics/{topic}`. The value of this
         field will be `_deleted-topic_` if the topic has been deleted.
         
        string topic = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Specified by:
        getTopic in interface SubscriptionOrBuilder
        Returns:
        The topic.
      • getTopicBytes

        public com.google.protobuf.ByteString getTopicBytes()
         Required. The name of the topic from which this subscription is receiving
         messages. Format is `projects/{project}/topics/{topic}`. The value of this
         field will be `_deleted-topic_` if the topic has been deleted.
         
        string topic = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Specified by:
        getTopicBytes in interface SubscriptionOrBuilder
        Returns:
        The bytes for topic.
      • setTopic

        public Subscription.Builder setTopic​(String value)
         Required. The name of the topic from which this subscription is receiving
         messages. Format is `projects/{project}/topics/{topic}`. The value of this
         field will be `_deleted-topic_` if the topic has been deleted.
         
        string topic = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Parameters:
        value - The topic to set.
        Returns:
        This builder for chaining.
      • clearTopic

        public Subscription.Builder clearTopic()
         Required. The name of the topic from which this subscription is receiving
         messages. Format is `projects/{project}/topics/{topic}`. The value of this
         field will be `_deleted-topic_` if the topic has been deleted.
         
        string topic = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Returns:
        This builder for chaining.
      • setTopicBytes

        public Subscription.Builder setTopicBytes​(com.google.protobuf.ByteString value)
         Required. The name of the topic from which this subscription is receiving
         messages. Format is `projects/{project}/topics/{topic}`. The value of this
         field will be `_deleted-topic_` if the topic has been deleted.
         
        string topic = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
        Parameters:
        value - The bytes for topic to set.
        Returns:
        This builder for chaining.
      • hasPushConfig

        public boolean hasPushConfig()
         If push delivery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.PushConfig push_config = 4;
        Specified by:
        hasPushConfig in interface SubscriptionOrBuilder
        Returns:
        Whether the pushConfig field is set.
      • getPushConfig

        public PushConfig getPushConfig()
         If push delivery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.PushConfig push_config = 4;
        Specified by:
        getPushConfig in interface SubscriptionOrBuilder
        Returns:
        The pushConfig.
      • setPushConfig

        public Subscription.Builder setPushConfig​(PushConfig value)
         If push delivery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.PushConfig push_config = 4;
      • setPushConfig

        public Subscription.Builder setPushConfig​(PushConfig.Builder builderForValue)
         If push delivery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.PushConfig push_config = 4;
      • mergePushConfig

        public Subscription.Builder mergePushConfig​(PushConfig value)
         If push delivery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.PushConfig push_config = 4;
      • clearPushConfig

        public Subscription.Builder clearPushConfig()
         If push delivery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.PushConfig push_config = 4;
      • getPushConfigBuilder

        public PushConfig.Builder getPushConfigBuilder()
         If push delivery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.PushConfig push_config = 4;
      • hasBigqueryConfig

        public boolean hasBigqueryConfig()
         If delivery to BigQuery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
        Specified by:
        hasBigqueryConfig in interface SubscriptionOrBuilder
        Returns:
        Whether the bigqueryConfig field is set.
      • getBigqueryConfig

        public BigQueryConfig getBigqueryConfig()
         If delivery to BigQuery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
        Specified by:
        getBigqueryConfig in interface SubscriptionOrBuilder
        Returns:
        The bigqueryConfig.
      • setBigqueryConfig

        public Subscription.Builder setBigqueryConfig​(BigQueryConfig value)
         If delivery to BigQuery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
      • setBigqueryConfig

        public Subscription.Builder setBigqueryConfig​(BigQueryConfig.Builder builderForValue)
         If delivery to BigQuery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
      • mergeBigqueryConfig

        public Subscription.Builder mergeBigqueryConfig​(BigQueryConfig value)
         If delivery to BigQuery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
      • clearBigqueryConfig

        public Subscription.Builder clearBigqueryConfig()
         If delivery to BigQuery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
      • getBigqueryConfigBuilder

        public BigQueryConfig.Builder getBigqueryConfigBuilder()
         If delivery to BigQuery is used with this subscription, this field is
         used to configure it.
         
        .google.pubsub.v1.BigQueryConfig bigquery_config = 18;
      • hasCloudStorageConfig

        public boolean hasCloudStorageConfig()
         If delivery to Google Cloud Storage is used with this subscription, this
         field is used to configure it.
         
        .google.pubsub.v1.CloudStorageConfig cloud_storage_config = 22;
        Specified by:
        hasCloudStorageConfig in interface SubscriptionOrBuilder
        Returns:
        Whether the cloudStorageConfig field is set.
      • getCloudStorageConfig

        public CloudStorageConfig getCloudStorageConfig()
         If delivery to Google Cloud Storage is used with this subscription, this
         field is used to configure it.
         
        .google.pubsub.v1.CloudStorageConfig cloud_storage_config = 22;
        Specified by:
        getCloudStorageConfig in interface SubscriptionOrBuilder
        Returns:
        The cloudStorageConfig.
      • setCloudStorageConfig

        public Subscription.Builder setCloudStorageConfig​(CloudStorageConfig value)
         If delivery to Google Cloud Storage is used with this subscription, this
         field is used to configure it.
         
        .google.pubsub.v1.CloudStorageConfig cloud_storage_config = 22;
      • setCloudStorageConfig

        public Subscription.Builder setCloudStorageConfig​(CloudStorageConfig.Builder builderForValue)
         If delivery to Google Cloud Storage is used with this subscription, this
         field is used to configure it.
         
        .google.pubsub.v1.CloudStorageConfig cloud_storage_config = 22;
      • mergeCloudStorageConfig

        public Subscription.Builder mergeCloudStorageConfig​(CloudStorageConfig value)
         If delivery to Google Cloud Storage is used with this subscription, this
         field is used to configure it.
         
        .google.pubsub.v1.CloudStorageConfig cloud_storage_config = 22;
      • clearCloudStorageConfig

        public Subscription.Builder clearCloudStorageConfig()
         If delivery to Google Cloud Storage is used with this subscription, this
         field is used to configure it.
         
        .google.pubsub.v1.CloudStorageConfig cloud_storage_config = 22;
      • getCloudStorageConfigBuilder

        public CloudStorageConfig.Builder getCloudStorageConfigBuilder()
         If delivery to Google Cloud Storage is used with this subscription, this
         field is used to configure it.
         
        .google.pubsub.v1.CloudStorageConfig cloud_storage_config = 22;
      • getAckDeadlineSeconds

        public int getAckDeadlineSeconds()
         The approximate amount of time (on a best-effort basis) Pub/Sub waits for
         the subscriber to acknowledge receipt before resending the message. In the
         interval after the message is delivered and before it is acknowledged, it
         is considered to be _outstanding_. During that time period, the
         message will not be redelivered (on a best-effort basis).
        
         For pull subscriptions, this value is used as the initial value for the ack
         deadline. To override this value for a given message, call
         `ModifyAckDeadline` with the corresponding `ack_id` if using
         non-streaming pull or send the `ack_id` in a
         `StreamingModifyAckDeadlineRequest` if using streaming pull.
         The minimum custom deadline you can specify is 10 seconds.
         The maximum custom deadline you can specify is 600 seconds (10 minutes).
         If this parameter is 0, a default value of 10 seconds is used.
        
         For push delivery, this value is also used to set the request timeout for
         the call to the push endpoint.
        
         If the subscriber never acknowledges the message, the Pub/Sub
         system will eventually redeliver the message.
         
        int32 ack_deadline_seconds = 5;
        Specified by:
        getAckDeadlineSeconds in interface SubscriptionOrBuilder
        Returns:
        The ackDeadlineSeconds.
      • setAckDeadlineSeconds

        public Subscription.Builder setAckDeadlineSeconds​(int value)
         The approximate amount of time (on a best-effort basis) Pub/Sub waits for
         the subscriber to acknowledge receipt before resending the message. In the
         interval after the message is delivered and before it is acknowledged, it
         is considered to be _outstanding_. During that time period, the
         message will not be redelivered (on a best-effort basis).
        
         For pull subscriptions, this value is used as the initial value for the ack
         deadline. To override this value for a given message, call
         `ModifyAckDeadline` with the corresponding `ack_id` if using
         non-streaming pull or send the `ack_id` in a
         `StreamingModifyAckDeadlineRequest` if using streaming pull.
         The minimum custom deadline you can specify is 10 seconds.
         The maximum custom deadline you can specify is 600 seconds (10 minutes).
         If this parameter is 0, a default value of 10 seconds is used.
        
         For push delivery, this value is also used to set the request timeout for
         the call to the push endpoint.
        
         If the subscriber never acknowledges the message, the Pub/Sub
         system will eventually redeliver the message.
         
        int32 ack_deadline_seconds = 5;
        Parameters:
        value - The ackDeadlineSeconds to set.
        Returns:
        This builder for chaining.
      • clearAckDeadlineSeconds

        public Subscription.Builder clearAckDeadlineSeconds()
         The approximate amount of time (on a best-effort basis) Pub/Sub waits for
         the subscriber to acknowledge receipt before resending the message. In the
         interval after the message is delivered and before it is acknowledged, it
         is considered to be _outstanding_. During that time period, the
         message will not be redelivered (on a best-effort basis).
        
         For pull subscriptions, this value is used as the initial value for the ack
         deadline. To override this value for a given message, call
         `ModifyAckDeadline` with the corresponding `ack_id` if using
         non-streaming pull or send the `ack_id` in a
         `StreamingModifyAckDeadlineRequest` if using streaming pull.
         The minimum custom deadline you can specify is 10 seconds.
         The maximum custom deadline you can specify is 600 seconds (10 minutes).
         If this parameter is 0, a default value of 10 seconds is used.
        
         For push delivery, this value is also used to set the request timeout for
         the call to the push endpoint.
        
         If the subscriber never acknowledges the message, the Pub/Sub
         system will eventually redeliver the message.
         
        int32 ack_deadline_seconds = 5;
        Returns:
        This builder for chaining.
      • getRetainAckedMessages

        public boolean getRetainAckedMessages()
         Indicates whether to retain acknowledged messages. If true, then
         messages are not expunged from the subscription's backlog, even if they are
         acknowledged, until they fall out of the `message_retention_duration`
         window. This must be true if you would like to [`Seek` to a timestamp]
         (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
         the past to replay previously-acknowledged messages.
         
        bool retain_acked_messages = 7;
        Specified by:
        getRetainAckedMessages in interface SubscriptionOrBuilder
        Returns:
        The retainAckedMessages.
      • setRetainAckedMessages

        public Subscription.Builder setRetainAckedMessages​(boolean value)
         Indicates whether to retain acknowledged messages. If true, then
         messages are not expunged from the subscription's backlog, even if they are
         acknowledged, until they fall out of the `message_retention_duration`
         window. This must be true if you would like to [`Seek` to a timestamp]
         (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
         the past to replay previously-acknowledged messages.
         
        bool retain_acked_messages = 7;
        Parameters:
        value - The retainAckedMessages to set.
        Returns:
        This builder for chaining.
      • clearRetainAckedMessages

        public Subscription.Builder clearRetainAckedMessages()
         Indicates whether to retain acknowledged messages. If true, then
         messages are not expunged from the subscription's backlog, even if they are
         acknowledged, until they fall out of the `message_retention_duration`
         window. This must be true if you would like to [`Seek` to a timestamp]
         (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
         the past to replay previously-acknowledged messages.
         
        bool retain_acked_messages = 7;
        Returns:
        This builder for chaining.
      • hasMessageRetentionDuration

        public boolean hasMessageRetentionDuration()
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
        Specified by:
        hasMessageRetentionDuration in interface SubscriptionOrBuilder
        Returns:
        Whether the messageRetentionDuration field is set.
      • getMessageRetentionDuration

        public com.google.protobuf.Duration getMessageRetentionDuration()
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
        Specified by:
        getMessageRetentionDuration in interface SubscriptionOrBuilder
        Returns:
        The messageRetentionDuration.
      • setMessageRetentionDuration

        public Subscription.Builder setMessageRetentionDuration​(com.google.protobuf.Duration value)
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
      • setMessageRetentionDuration

        public Subscription.Builder setMessageRetentionDuration​(com.google.protobuf.Duration.Builder builderForValue)
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
      • mergeMessageRetentionDuration

        public Subscription.Builder mergeMessageRetentionDuration​(com.google.protobuf.Duration value)
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
      • clearMessageRetentionDuration

        public Subscription.Builder clearMessageRetentionDuration()
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
      • getMessageRetentionDurationBuilder

        public com.google.protobuf.Duration.Builder getMessageRetentionDurationBuilder()
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
      • getMessageRetentionDurationOrBuilder

        public com.google.protobuf.DurationOrBuilder getMessageRetentionDurationOrBuilder()
         How long to retain unacknowledged messages in the subscription's backlog,
         from the moment a message is published.
         If `retain_acked_messages` is true, then this also configures the retention
         of acknowledged messages, and thus configures how far back in time a `Seek`
         can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
         minutes.
         
        .google.protobuf.Duration message_retention_duration = 8;
        Specified by:
        getMessageRetentionDurationOrBuilder in interface SubscriptionOrBuilder
      • getLabelsCount

        public int getLabelsCount()
        Description copied from interface: SubscriptionOrBuilder
         See [Creating and managing
         labels](https://cloud.google.com/pubsub/docs/labels).
         
        map<string, string> labels = 9;
        Specified by:
        getLabelsCount in interface SubscriptionOrBuilder
      • containsLabels

        public boolean containsLabels​(String key)
         See [Creating and managing
         labels](https://cloud.google.com/pubsub/docs/labels).
         
        map<string, string> labels = 9;
        Specified by:
        containsLabels in interface SubscriptionOrBuilder
      • getLabelsOrThrow

        public String getLabelsOrThrow​(String key)
         See [Creating and managing
         labels](https://cloud.google.com/pubsub/docs/labels).
         
        map<string, string> labels = 9;
        Specified by:
        getLabelsOrThrow in interface SubscriptionOrBuilder
      • removeLabels

        public Subscription.Builder removeLabels​(String key)
         See [Creating and managing
         labels](https://cloud.google.com/pubsub/docs/labels).
         
        map<string, string> labels = 9;
      • getMutableLabels

        @Deprecated
        public Map<String,​String> getMutableLabels()
        Deprecated.
        Use alternate mutation accessors instead.
      • putLabels

        public Subscription.Builder putLabels​(String key,
                                              String value)
         See [Creating and managing
         labels](https://cloud.google.com/pubsub/docs/labels).
         
        map<string, string> labels = 9;
      • putAllLabels

        public Subscription.Builder putAllLabels​(Map<String,​String> values)
         See [Creating and managing
         labels](https://cloud.google.com/pubsub/docs/labels).
         
        map<string, string> labels = 9;
      • getEnableMessageOrdering

        public boolean getEnableMessageOrdering()
         If true, messages published with the same `ordering_key` in `PubsubMessage`
         will be delivered to the subscribers in the order in which they
         are received by the Pub/Sub system. Otherwise, they may be delivered in
         any order.
         
        bool enable_message_ordering = 10;
        Specified by:
        getEnableMessageOrdering in interface SubscriptionOrBuilder
        Returns:
        The enableMessageOrdering.
      • setEnableMessageOrdering

        public Subscription.Builder setEnableMessageOrdering​(boolean value)
         If true, messages published with the same `ordering_key` in `PubsubMessage`
         will be delivered to the subscribers in the order in which they
         are received by the Pub/Sub system. Otherwise, they may be delivered in
         any order.
         
        bool enable_message_ordering = 10;
        Parameters:
        value - The enableMessageOrdering to set.
        Returns:
        This builder for chaining.
      • clearEnableMessageOrdering

        public Subscription.Builder clearEnableMessageOrdering()
         If true, messages published with the same `ordering_key` in `PubsubMessage`
         will be delivered to the subscribers in the order in which they
         are received by the Pub/Sub system. Otherwise, they may be delivered in
         any order.
         
        bool enable_message_ordering = 10;
        Returns:
        This builder for chaining.
      • hasExpirationPolicy

        public boolean hasExpirationPolicy()
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
        Specified by:
        hasExpirationPolicy in interface SubscriptionOrBuilder
        Returns:
        Whether the expirationPolicy field is set.
      • getExpirationPolicy

        public ExpirationPolicy getExpirationPolicy()
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
        Specified by:
        getExpirationPolicy in interface SubscriptionOrBuilder
        Returns:
        The expirationPolicy.
      • setExpirationPolicy

        public Subscription.Builder setExpirationPolicy​(ExpirationPolicy value)
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
      • setExpirationPolicy

        public Subscription.Builder setExpirationPolicy​(ExpirationPolicy.Builder builderForValue)
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
      • mergeExpirationPolicy

        public Subscription.Builder mergeExpirationPolicy​(ExpirationPolicy value)
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
      • clearExpirationPolicy

        public Subscription.Builder clearExpirationPolicy()
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
      • getExpirationPolicyBuilder

        public ExpirationPolicy.Builder getExpirationPolicyBuilder()
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
      • getExpirationPolicyOrBuilder

        public ExpirationPolicyOrBuilder getExpirationPolicyOrBuilder()
         A policy that specifies the conditions for this subscription's expiration.
         A subscription is considered active as long as any connected subscriber is
         successfully consuming messages from the subscription or is issuing
         operations on the subscription. If `expiration_policy` is not set, a
         *default policy* with `ttl` of 31 days will be used. The minimum allowed
         value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
         but `expiration_policy.ttl` is not set, the subscription never expires.
         
        .google.pubsub.v1.ExpirationPolicy expiration_policy = 11;
        Specified by:
        getExpirationPolicyOrBuilder in interface SubscriptionOrBuilder
      • getFilter

        public String getFilter()
         An expression written in the Pub/Sub [filter
         language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
         then only `PubsubMessage`s whose `attributes` field matches the filter are
         delivered on this subscription. If empty, then no messages are filtered
         out.
         
        string filter = 12;
        Specified by:
        getFilter in interface SubscriptionOrBuilder
        Returns:
        The filter.
      • getFilterBytes

        public com.google.protobuf.ByteString getFilterBytes()
         An expression written in the Pub/Sub [filter
         language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
         then only `PubsubMessage`s whose `attributes` field matches the filter are
         delivered on this subscription. If empty, then no messages are filtered
         out.
         
        string filter = 12;
        Specified by:
        getFilterBytes in interface SubscriptionOrBuilder
        Returns:
        The bytes for filter.
      • setFilter

        public Subscription.Builder setFilter​(String value)
         An expression written in the Pub/Sub [filter
         language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
         then only `PubsubMessage`s whose `attributes` field matches the filter are
         delivered on this subscription. If empty, then no messages are filtered
         out.
         
        string filter = 12;
        Parameters:
        value - The filter to set.
        Returns:
        This builder for chaining.
      • clearFilter

        public Subscription.Builder clearFilter()
         An expression written in the Pub/Sub [filter
         language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
         then only `PubsubMessage`s whose `attributes` field matches the filter are
         delivered on this subscription. If empty, then no messages are filtered
         out.
         
        string filter = 12;
        Returns:
        This builder for chaining.
      • setFilterBytes

        public Subscription.Builder setFilterBytes​(com.google.protobuf.ByteString value)
         An expression written in the Pub/Sub [filter
         language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
         then only `PubsubMessage`s whose `attributes` field matches the filter are
         delivered on this subscription. If empty, then no messages are filtered
         out.
         
        string filter = 12;
        Parameters:
        value - The bytes for filter to set.
        Returns:
        This builder for chaining.
      • hasDeadLetterPolicy

        public boolean hasDeadLetterPolicy()
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
        Specified by:
        hasDeadLetterPolicy in interface SubscriptionOrBuilder
        Returns:
        Whether the deadLetterPolicy field is set.
      • getDeadLetterPolicy

        public DeadLetterPolicy getDeadLetterPolicy()
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
        Specified by:
        getDeadLetterPolicy in interface SubscriptionOrBuilder
        Returns:
        The deadLetterPolicy.
      • setDeadLetterPolicy

        public Subscription.Builder setDeadLetterPolicy​(DeadLetterPolicy value)
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
      • setDeadLetterPolicy

        public Subscription.Builder setDeadLetterPolicy​(DeadLetterPolicy.Builder builderForValue)
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
      • mergeDeadLetterPolicy

        public Subscription.Builder mergeDeadLetterPolicy​(DeadLetterPolicy value)
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
      • clearDeadLetterPolicy

        public Subscription.Builder clearDeadLetterPolicy()
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
      • getDeadLetterPolicyBuilder

        public DeadLetterPolicy.Builder getDeadLetterPolicyBuilder()
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
      • getDeadLetterPolicyOrBuilder

        public DeadLetterPolicyOrBuilder getDeadLetterPolicyOrBuilder()
         A policy that specifies the conditions for dead lettering messages in
         this subscription. If dead_letter_policy is not set, dead lettering
         is disabled.
        
         The Cloud Pub/Sub service account associated with this subscriptions's
         parent project (i.e.,
         service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
         permission to Acknowledge() messages on this subscription.
         
        .google.pubsub.v1.DeadLetterPolicy dead_letter_policy = 13;
        Specified by:
        getDeadLetterPolicyOrBuilder in interface SubscriptionOrBuilder
      • hasRetryPolicy

        public boolean hasRetryPolicy()
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
        Specified by:
        hasRetryPolicy in interface SubscriptionOrBuilder
        Returns:
        Whether the retryPolicy field is set.
      • getRetryPolicy

        public RetryPolicy getRetryPolicy()
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
        Specified by:
        getRetryPolicy in interface SubscriptionOrBuilder
        Returns:
        The retryPolicy.
      • setRetryPolicy

        public Subscription.Builder setRetryPolicy​(RetryPolicy value)
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
      • setRetryPolicy

        public Subscription.Builder setRetryPolicy​(RetryPolicy.Builder builderForValue)
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
      • mergeRetryPolicy

        public Subscription.Builder mergeRetryPolicy​(RetryPolicy value)
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
      • clearRetryPolicy

        public Subscription.Builder clearRetryPolicy()
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
      • getRetryPolicyBuilder

        public RetryPolicy.Builder getRetryPolicyBuilder()
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
      • getRetryPolicyOrBuilder

        public RetryPolicyOrBuilder getRetryPolicyOrBuilder()
         A policy that specifies how Pub/Sub retries message delivery for this
         subscription.
        
         If not set, the default retry policy is applied. This generally implies
         that messages will be retried as soon as possible for healthy subscribers.
         RetryPolicy will be triggered on NACKs or acknowledgement deadline
         exceeded events for a given message.
         
        .google.pubsub.v1.RetryPolicy retry_policy = 14;
        Specified by:
        getRetryPolicyOrBuilder in interface SubscriptionOrBuilder
      • getDetached

        public boolean getDetached()
         Indicates whether the subscription is detached from its topic. Detached
         subscriptions don't receive messages from their topic and don't retain any
         backlog. `Pull` and `StreamingPull` requests will return
         FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
         the endpoint will not be made.
         
        bool detached = 15;
        Specified by:
        getDetached in interface SubscriptionOrBuilder
        Returns:
        The detached.
      • setDetached

        public Subscription.Builder setDetached​(boolean value)
         Indicates whether the subscription is detached from its topic. Detached
         subscriptions don't receive messages from their topic and don't retain any
         backlog. `Pull` and `StreamingPull` requests will return
         FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
         the endpoint will not be made.
         
        bool detached = 15;
        Parameters:
        value - The detached to set.
        Returns:
        This builder for chaining.
      • clearDetached

        public Subscription.Builder clearDetached()
         Indicates whether the subscription is detached from its topic. Detached
         subscriptions don't receive messages from their topic and don't retain any
         backlog. `Pull` and `StreamingPull` requests will return
         FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
         the endpoint will not be made.
         
        bool detached = 15;
        Returns:
        This builder for chaining.
      • getEnableExactlyOnceDelivery

        public boolean getEnableExactlyOnceDelivery()
         If true, Pub/Sub provides the following guarantees for the delivery of
         a message with a given value of `message_id` on this subscription:
        
         * The message sent to a subscriber is guaranteed not to be resent
         before the message's acknowledgement deadline expires.
         * An acknowledged message will not be resent to a subscriber.
        
         Note that subscribers may still receive multiple copies of a message
         when `enable_exactly_once_delivery` is true if the message was published
         multiple times by a publisher client. These copies are  considered distinct
         by Pub/Sub and have distinct `message_id` values.
         
        bool enable_exactly_once_delivery = 16;
        Specified by:
        getEnableExactlyOnceDelivery in interface SubscriptionOrBuilder
        Returns:
        The enableExactlyOnceDelivery.
      • setEnableExactlyOnceDelivery

        public Subscription.Builder setEnableExactlyOnceDelivery​(boolean value)
         If true, Pub/Sub provides the following guarantees for the delivery of
         a message with a given value of `message_id` on this subscription:
        
         * The message sent to a subscriber is guaranteed not to be resent
         before the message's acknowledgement deadline expires.
         * An acknowledged message will not be resent to a subscriber.
        
         Note that subscribers may still receive multiple copies of a message
         when `enable_exactly_once_delivery` is true if the message was published
         multiple times by a publisher client. These copies are  considered distinct
         by Pub/Sub and have distinct `message_id` values.
         
        bool enable_exactly_once_delivery = 16;
        Parameters:
        value - The enableExactlyOnceDelivery to set.
        Returns:
        This builder for chaining.
      • clearEnableExactlyOnceDelivery

        public Subscription.Builder clearEnableExactlyOnceDelivery()
         If true, Pub/Sub provides the following guarantees for the delivery of
         a message with a given value of `message_id` on this subscription:
        
         * The message sent to a subscriber is guaranteed not to be resent
         before the message's acknowledgement deadline expires.
         * An acknowledged message will not be resent to a subscriber.
        
         Note that subscribers may still receive multiple copies of a message
         when `enable_exactly_once_delivery` is true if the message was published
         multiple times by a publisher client. These copies are  considered distinct
         by Pub/Sub and have distinct `message_id` values.
         
        bool enable_exactly_once_delivery = 16;
        Returns:
        This builder for chaining.
      • hasTopicMessageRetentionDuration

        public boolean hasTopicMessageRetentionDuration()
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        hasTopicMessageRetentionDuration in interface SubscriptionOrBuilder
        Returns:
        Whether the topicMessageRetentionDuration field is set.
      • getTopicMessageRetentionDuration

        public com.google.protobuf.Duration getTopicMessageRetentionDuration()
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getTopicMessageRetentionDuration in interface SubscriptionOrBuilder
        Returns:
        The topicMessageRetentionDuration.
      • setTopicMessageRetentionDuration

        public Subscription.Builder setTopicMessageRetentionDuration​(com.google.protobuf.Duration value)
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • setTopicMessageRetentionDuration

        public Subscription.Builder setTopicMessageRetentionDuration​(com.google.protobuf.Duration.Builder builderForValue)
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • mergeTopicMessageRetentionDuration

        public Subscription.Builder mergeTopicMessageRetentionDuration​(com.google.protobuf.Duration value)
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • clearTopicMessageRetentionDuration

        public Subscription.Builder clearTopicMessageRetentionDuration()
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getTopicMessageRetentionDurationBuilder

        public com.google.protobuf.Duration.Builder getTopicMessageRetentionDurationBuilder()
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
      • getTopicMessageRetentionDurationOrBuilder

        public com.google.protobuf.DurationOrBuilder getTopicMessageRetentionDurationOrBuilder()
         Output only. Indicates the minimum duration for which a message is retained
         after it is published to the subscription's topic. If this field is set,
         messages published to the subscription's topic in the last
         `topic_message_retention_duration` are always available to subscribers. See
         the `message_retention_duration` field in `Topic`. This field is set only
         in responses from the server; it is ignored if it is set in any requests.
         
        .google.protobuf.Duration topic_message_retention_duration = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getTopicMessageRetentionDurationOrBuilder in interface SubscriptionOrBuilder
      • getStateValue

        public int getStateValue()
         Output only. An output-only field indicating whether or not the
         subscription can receive messages.
         
        .google.pubsub.v1.Subscription.State state = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getStateValue in interface SubscriptionOrBuilder
        Returns:
        The enum numeric value on the wire for state.
      • setStateValue

        public Subscription.Builder setStateValue​(int value)
         Output only. An output-only field indicating whether or not the
         subscription can receive messages.
         
        .google.pubsub.v1.Subscription.State state = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Parameters:
        value - The enum numeric value on the wire for state to set.
        Returns:
        This builder for chaining.
      • getState

        public Subscription.State getState()
         Output only. An output-only field indicating whether or not the
         subscription can receive messages.
         
        .google.pubsub.v1.Subscription.State state = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Specified by:
        getState in interface SubscriptionOrBuilder
        Returns:
        The state.
      • setState

        public Subscription.Builder setState​(Subscription.State value)
         Output only. An output-only field indicating whether or not the
         subscription can receive messages.
         
        .google.pubsub.v1.Subscription.State state = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Parameters:
        value - The state to set.
        Returns:
        This builder for chaining.
      • clearState

        public Subscription.Builder clearState()
         Output only. An output-only field indicating whether or not the
         subscription can receive messages.
         
        .google.pubsub.v1.Subscription.State state = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final Subscription.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<Subscription.Builder>
      • mergeUnknownFields

        public final Subscription.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<Subscription.Builder>