A named resource to which messages are sent by publishers.
To get more information about Topic, see:
resource "google_pubsub_lite_reservation" "example" {
name = "example-reservation"
project = data.google_project.project.number
throughput_capacity = 2
}
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
}
reservation_config {
throughput_reservation = google_pubsub_lite_reservation.example.name
}
}
data "google_project" "project" {
}
The following arguments are supported:
name
-
(Required)
Name of the topic.partition_config
-
(Optional)
The settings for this topic's partitions.
Structure is documented below.
retention_config
-
(Optional)
The settings for a topic's message retention.
Structure is documented below.
reservation_config
-
(Optional)
The settings for this topic's Reservation usage.
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 partition_config
block supports:
count
-
(Required)
The number of partitions in the topic. Must be at least 1.
capacity
-
(Optional)
The capacity configuration.
Structure is documented below.
publish_mib_per_sec
-
(Required)
Subscribe throughput capacity per partition in MiB/s. Must be >= 4 and <= 16.
subscribe_mib_per_sec
-
(Required)
Publish throughput capacity per partition in MiB/s. Must be >= 4 and <= 16.
The retention_config
block supports:
per_partition_bytes
-
(Required)
The provisioned storage, in bytes, per partition. If the number of bytes stored
in any of the topic's partitions grows beyond this value, older messages will be
dropped to make room for newer ones, regardless of the value of period.
period
-
(Optional)
How long a published message is retained. If unset, messages will be retained as
long as the bytes retained for each partition is below perPartitionBytes. A
duration in seconds with up to nine fractional digits, terminated by 's'.
Example: "3.5s".
The reservation_config
block supports:
throughput_reservation
-
(Optional)
The Reservation to use for this topic's throughput capacity.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}}/topics/{{name}}
This resource provides the following Timeouts configuration options:
create
- Default is 20 minutes.update
- Default is 20 minutes.delete
- Default is 20 minutes.Topic can be imported using any of these accepted formats:
projects/{{project}}/locations/{{zone}}/topics/{{name}}
{{project}}/{{zone}}/{{name}}
{{zone}}/{{name}}
{{name}}
In Terraform v1.5.0 and later, use an import
block to import Topic using one of the formats above. For example:
import {
id = "projects/{{project}}/locations/{{zone}}/topics/{{name}}"
to = google_pubsub_lite_topic.default
}
When using the terraform import
command, Topic can be imported using one of the formats above. For example:
$ terraform import google_pubsub_lite_topic.default projects/{{project}}/locations/{{zone}}/topics/{{name}}
$ terraform import google_pubsub_lite_topic.default {{project}}/{{zone}}/{{name}}
$ terraform import google_pubsub_lite_topic.default {{zone}}/{{name}}
$ terraform import google_pubsub_lite_topic.default {{name}}
This resource supports User Project Overrides.