ackDeadlineSeconds = $ackDeadlineSeconds; } /** * @return int */ public function getAckDeadlineSeconds() { return $this->ackDeadlineSeconds; } /** * Output only. Information about the associated Analytics Hub subscription. * Only set if the subscription is created by Analytics Hub. * * @param AnalyticsHubSubscriptionInfo $analyticsHubSubscriptionInfo */ public function setAnalyticsHubSubscriptionInfo(AnalyticsHubSubscriptionInfo $analyticsHubSubscriptionInfo) { $this->analyticsHubSubscriptionInfo = $analyticsHubSubscriptionInfo; } /** * @return AnalyticsHubSubscriptionInfo */ public function getAnalyticsHubSubscriptionInfo() { return $this->analyticsHubSubscriptionInfo; } /** * Optional. If delivery to BigQuery is used with this subscription, this * field is used to configure it. * * @param BigQueryConfig $bigqueryConfig */ public function setBigqueryConfig(BigQueryConfig $bigqueryConfig) { $this->bigqueryConfig = $bigqueryConfig; } /** * @return BigQueryConfig */ public function getBigqueryConfig() { return $this->bigqueryConfig; } /** * Optional. If delivery to Bigtable is used with this subscription, this * field is used to configure it. * * @param BigtableConfig $bigtableConfig */ public function setBigtableConfig(BigtableConfig $bigtableConfig) { $this->bigtableConfig = $bigtableConfig; } /** * @return BigtableConfig */ public function getBigtableConfig() { return $this->bigtableConfig; } /** * Optional. If delivery to Google Cloud Storage is used with this * subscription, this field is used to configure it. * * @param CloudStorageConfig $cloudStorageConfig */ public function setCloudStorageConfig(CloudStorageConfig $cloudStorageConfig) { $this->cloudStorageConfig = $cloudStorageConfig; } /** * @return CloudStorageConfig */ public function getCloudStorageConfig() { return $this->cloudStorageConfig; } /** * Optional. 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 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. * * @param DeadLetterPolicy $deadLetterPolicy */ public function setDeadLetterPolicy(DeadLetterPolicy $deadLetterPolicy) { $this->deadLetterPolicy = $deadLetterPolicy; } /** * @return DeadLetterPolicy */ public function getDeadLetterPolicy() { return $this->deadLetterPolicy; } /** * Optional. 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. * * @param bool $detached */ public function setDetached($detached) { $this->detached = $detached; } /** * @return bool */ public function getDetached() { return $this->detached; } /** * Optional. 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 acknowledgment 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. * * @param bool $enableExactlyOnceDelivery */ public function setEnableExactlyOnceDelivery($enableExactlyOnceDelivery) { $this->enableExactlyOnceDelivery = $enableExactlyOnceDelivery; } /** * @return bool */ public function getEnableExactlyOnceDelivery() { return $this->enableExactlyOnceDelivery; } /** * Optional. 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. * * @param bool $enableMessageOrdering */ public function setEnableMessageOrdering($enableMessageOrdering) { $this->enableMessageOrdering = $enableMessageOrdering; } /** * @return bool */ public function getEnableMessageOrdering() { return $this->enableMessageOrdering; } /** * Optional. 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. * * @param ExpirationPolicy $expirationPolicy */ public function setExpirationPolicy(ExpirationPolicy $expirationPolicy) { $this->expirationPolicy = $expirationPolicy; } /** * @return ExpirationPolicy */ public function getExpirationPolicy() { return $this->expirationPolicy; } /** * Optional. 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. * * @param string $filter */ public function setFilter($filter) { $this->filter = $filter; } /** * @return string */ public function getFilter() { return $this->filter; } /** * Optional. See [Creating and managing * labels](https://cloud.google.com/pubsub/docs/labels). * * @param string[] $labels */ public function setLabels($labels) { $this->labels = $labels; } /** * @return string[] */ public function getLabels() { return $this->labels; } /** * Optional. 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 31 days or less than 10 minutes. * * @param string $messageRetentionDuration */ public function setMessageRetentionDuration($messageRetentionDuration) { $this->messageRetentionDuration = $messageRetentionDuration; } /** * @return string */ public function getMessageRetentionDuration() { return $this->messageRetentionDuration; } /** * Optional. Transforms to be applied to messages before they are delivered to * subscribers. Transforms are applied in the order specified. * * @param MessageTransform[] $messageTransforms */ public function setMessageTransforms($messageTransforms) { $this->messageTransforms = $messageTransforms; } /** * @return MessageTransform[] */ public function getMessageTransforms() { return $this->messageTransforms; } /** * Required. Identifier. 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"`. * * @param string $name */ public function setName($name) { $this->name = $name; } /** * @return string */ public function getName() { return $this->name; } /** * Optional. If push delivery is used with this subscription, this field is * used to configure it. * * @param PushConfig $pushConfig */ public function setPushConfig(PushConfig $pushConfig) { $this->pushConfig = $pushConfig; } /** * @return PushConfig */ public function getPushConfig() { return $this->pushConfig; } /** * Optional. 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. * * @param bool $retainAckedMessages */ public function setRetainAckedMessages($retainAckedMessages) { $this->retainAckedMessages = $retainAckedMessages; } /** * @return bool */ public function getRetainAckedMessages() { return $this->retainAckedMessages; } /** * Optional. 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 * acknowledgment deadline exceeded events for a given message. * * @param RetryPolicy $retryPolicy */ public function setRetryPolicy(RetryPolicy $retryPolicy) { $this->retryPolicy = $retryPolicy; } /** * @return RetryPolicy */ public function getRetryPolicy() { return $this->retryPolicy; } /** * Output only. An output-only field indicating whether or not the * subscription can receive messages. * * Accepted values: STATE_UNSPECIFIED, ACTIVE, RESOURCE_ERROR * * @param self::STATE_* $state */ public function setState($state) { $this->state = $state; } /** * @return self::STATE_* */ public function getState() { return $this->state; } /** * Optional. Input only. Immutable. Tag keys/values directly bound to this * resource. For example: "123/environment": "production", "123/costCenter": * "marketing" See * https://{$universe.dns_names.final_documentation_domain}/pubsub/docs/tags * for more information on using tags with Pub/Sub resources. * * @param string[] $tags */ public function setTags($tags) { $this->tags = $tags; } /** * @return string[] */ public function getTags() { return $this->tags; } /** * 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. * * @param string $topic */ public function setTopic($topic) { $this->topic = $topic; } /** * @return string */ public function getTopic() { return $this->topic; } /** * 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. * * @param string $topicMessageRetentionDuration */ public function setTopicMessageRetentionDuration($topicMessageRetentionDuration) { $this->topicMessageRetentionDuration = $topicMessageRetentionDuration; } /** * @return string */ public function getTopicMessageRetentionDuration() { return $this->topicMessageRetentionDuration; } } // Adding a class alias for backwards compatibility with the previous class name. class_alias(Subscription::class, 'Google_Service_Pubsub_Subscription');