Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Terraform in Yandex Cloud
  • Getting started
  • Solution library
    • Overview
    • Release notes
          • ydb_database_dedicated
          • ydb_database_iam_binding
          • ydb_database_serverless
          • ydb_table
          • ydb_table_changefeed
          • ydb_table_index
          • ydb_topic

In this article:

  • Example usage
  • Arguments & Attributes Reference
  • Import
  1. Terraform reference
  2. Resources
  3. Managed Service for YDB
  4. Resources
  5. ydb_topic

yandex_ydb_topic (Resource)

Written by
Yandex Cloud
Updated at April 9, 2026
  • Example usage
  • Arguments & Attributes Reference
  • Import

Manage a YDB Topic. For more information, see the official documentation.

Example usageExample usage

//
// Create a new YDB Topic.
//
resource "yandex_ydb_topic" "my_topic" {
  database_endpoint = yandex_ydb_database_serverless.database_name.ydb_full_endpoint
  name              = "topic-test"

  supported_codecs    = ["raw", "gzip"]
  partitions_count    = 1
  retention_period_ms = 2000000
  consumer {
    name                          = "consumer-name"
    supported_codecs              = ["raw", "gzip"]
    starting_message_timestamp_ms = 0
  }
}

resource "yandex_ydb_database_serverless" "database_name" {
  name        = "database-name"
  location_id = "ru-central1"
}

Arguments & Attributes ReferenceArguments & Attributes Reference

  • database_endpoint (Required)(String). YDB database endpoint.
  • description (String). Topic description.
  • id (String).
  • max_partitions_count (Number). Number of max active partitions. Default value 1.
  • metering_mode (String). Resource metering mode (reserved_capacity - based on the allocated resources or request_units - based on actual usage). This option applies to topics in serverless databases.
  • name (Required)(String). Topic name.
  • partition_write_speed_kbps (Number). Maximum allowed write speed per partition. If a write speed for a given partition exceeds this value, the write speed will be capped. Default value: 1024 (1MB).
  • partitions_count (Number). Number of min partitions. Default value 1.
  • retention_period_hours (Number). Data retention time. Default value 86400000.
  • retention_storage_mb (Number).
  • supported_codecs (Set Of String). Supported data encodings. Can be one of gzip, raw or zstd.
  • auto_partitioning_settings [Block].
    • auto_partitioning_strategy (String). The auto partitioning strategy to use
    • auto_partitioning_write_speed_strategy [Block].
      • down_utilization_percent (Number). The down utilization percentage threshold
      • stabilization_window (Number). The stabilization window in seconds
      • up_utilization_percent (Number). The up utilization percentage threshold
  • consumer [Block]. Topic Readers.
    • important (Bool). Defines an important consumer. No data will be deleted from the topic until all the important consumers read them. Default value false.
    • name (Required)(String). Reader's name.
    • starting_message_timestamp_ms (Number). Timestamp in UNIX timestamp format from which the reader will start reading data. Default value 0.
    • supported_codecs (Set Of String). Supported data encodings. Can be one of gzip, raw or zstd.
  • timeouts [Block].
    • create (String).
    • default (String).
    • delete (String).
    • read (String).
    • update (String).

ImportImport

The resource can be imported by using their resource ID. For getting it you can use Yandex Cloud Web Console or Yandex Cloud CLI.

# terraform import yandex_ydb_topic.<resource Name> <resource Id>
terraform import yandex_ydb_topic.my_topic ...

Was the article helpful?

Previous
ydb_table_index
Next
kubernetes_cluster
© 2026 Direct Cursus Technology L.L.C.