A named resource representing the stream of messages from a single, specific topic, to be delivered to the subscribing application.
To get more information about Subscription, see:
resource "google_pubsub_lite_topic" "example" {
name = "example-topic"
project = data.google_project.project.number
partition_config {
count = 1
capacity {
publish_mib_per_sec = 4
subscribe_mib_per_sec = 8
}
}
retention_config {
per_partition_bytes = 32212254720
}
}
resource "google_pubsub_lite_subscription" "example" {
name = "example-subscription"
topic = google_pubsub_lite_topic.example.name
delivery_config {
delivery_requirement = "DELIVER_AFTER_STORED"
}
}
data "google_project" "project" {
}
The following arguments are supported:
topic
-
(Required)
A reference to a Topic resource.
name
-
(Required)
Name of the subscription.
delivery_config
-
(Optional)
The settings for this subscription's message delivery.
Structure is documented below.
region
-
(Optional)
The region of the pubsub lite topic.
zone
-
(Optional)
The zone of the pubsub lite topic.
project
- (Optional) The ID of the project in which the resource belongs.
If it is not provided, the provider project is used.
The delivery_config
block supports:
delivery_requirement
-
(Required)
When this subscription should send messages to subscribers relative to messages persistence in storage.
Possible values are: DELIVER_IMMEDIATELY
, DELIVER_AFTER_STORED
, DELIVERY_REQUIREMENT_UNSPECIFIED
.In addition to the arguments listed above, the following computed attributes are exported:
id
- an identifier for the resource with format projects/{{project}}/locations/{{zone}}/subscriptions/{{name}}
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Subscription can be imported using any of these accepted formats:
projects/{{project}}/locations/{{zone}}/subscriptions/{{name}}
{{project}}/{{zone}}/{{name}}
{{zone}}/{{name}}
{{name}}
In Terraform v1.5.0 and later, use an import
block to import Subscription using one of the formats above. For example:
import {
id = "projects/{{project}}/locations/{{zone}}/subscriptions/{{name}}"
to = google_pubsub_lite_subscription.default
}
When using the terraform import
command, Subscription can be imported using one of the formats above. For example:
$ terraform import google_pubsub_lite_subscription.default projects/{{project}}/locations/{{zone}}/subscriptions/{{name}}
$ terraform import google_pubsub_lite_subscription.default {{project}}/{{zone}}/{{name}}
$ terraform import google_pubsub_lite_subscription.default {{zone}}/{{name}}
$ terraform import google_pubsub_lite_subscription.default {{name}}
This resource supports User Project Overrides.