mws_mkafka_topic (Resource)
Заголовок раздела «mws_mkafka_topic (Resource)»Топик — это логический поток сообщений, который создается пользователем в кластере и обеспечивает группировку сообщений по темам
Пример использования
Заголовок раздела «Пример использования»resource "mws_vpc_network" "network" { network = var.network_name}
resource "mws_vpc_subnet" "subnet_a" { subnet = "${var.subnet_name}-a" network = mws_vpc_network.network.network cidr = var.subnet_cidr_a}
resource "mws_vpc_subnet" "subnet_b" { subnet = "${var.subnet_name}-b" network = mws_vpc_network.network.network cidr = var.subnet_cidr_b}
resource "mws_vpc_address" "broker_addr_1" { address = "${var.kafka_name}-broker-addr-1" network = mws_vpc_network.network.network subnet = mws_vpc_subnet.subnet_a.metadata.id}
resource "mws_vpc_address" "broker_addr_2" { address = "${var.kafka_name}-broker-addr-2" network = mws_vpc_network.network.network subnet = mws_vpc_subnet.subnet_b.metadata.id}
resource "mws_vpc_address" "broker_addr_3" { address = "${var.kafka_name}-broker-addr-3" network = mws_vpc_network.network.network subnet = mws_vpc_subnet.subnet_b.metadata.id}
resource "mws_mkafka_cluster" "example" { cluster = var.kafka_name version = "4.0"
metadata = { display_name = "Example Kafka Cluster" description = "Managed Kafka cluster example with VPC endpoints" }
active = true
endpoints = [ { name = "vpc-endpoint" network = mws_vpc_network.network.metadata.id broker_addresses = [ { ref = mws_vpc_address.broker_addr_1.id }, { ref = mws_vpc_address.broker_addr_2.id }, { ref = mws_vpc_address.broker_addr_3.id } ] } ]
instances = { broker = { vm_type = "compute/vmTypes/gen-2-4" disk = { size = "10Gb" type = "NETWORK_STANDARD_SSD" } allocation = [ { zone = "ru-central1-b" count = 3 } ] } controller = { vm_type = "compute/vmTypes/gen-2-4" disk = { size = "10Gb" type = "NETWORK_STANDARD_SSD" } allocation = [ { zone = "ru-central1-b" count = 3 } ] } }
maintenance_window = { weekly = { days = ["TUESDAY"] hour = 4 } }}
resource "mws_mkafka_topic" "example" { cluster = mws_mkafka_cluster.example.cluster topic = var.topic_name
metadata = { display_name = "Example Kafka Topic" description = "A sample Kafka topic with custom configuration" }
partitions = 6 replication_factor = 3
config = { "cleanup.policy" = "compact,delete" "retention.ms" = "604800000" # 7 days "segment.bytes" = "1073741824" # 1GB }}
variable "network_name" { type = string default = "kafka-vpc-network" description = "VPC network name"}
variable "subnet_name" { type = string default = "kafka-subnet" description = "Base name for subnets"}
variable "subnet_cidr_a" { type = string default = "192.168.1.0/24" description = "CIDR for subnet A"}
variable "subnet_cidr_b" { type = string default = "192.168.2.0/24" description = "CIDR for subnet B"}
variable "kafka_name" { type = string default = "kafka-cluster" description = "Kafka cluster name"}
variable "topic_name" { type = string default = "example-topic" description = "Kafka topic name"}Required
Заголовок раздела «Required»cluster(String) Название или идентификатор кластера.topic(String) Название топика.
Optional
Заголовок раздела «Optional»config(String) Дополнительные параметры.kind(String)metadata(Attributes) (see below for nested schema)partitions(Number) Количество партиций.project(String) Путь к проектуreplication_factor(Number) Фактор репликации.timeouts(Attributes) (see below for nested schema)
Read-Only
Заголовок раздела «Read-Only»id(String) The ID of this resource.status(Attributes) (see below for nested schema)
Nested Schema for metadata
Заголовок раздела «Nested Schema for metadata»Optional:
description(String) Описание ресурса.display_name(String) Отображаемое имя. Необязательное поле, можно свободно задавать и изменять для удобства организации ресурсов.
Read-Only:
create_time(String) Дата создания объекта.delete_time(String) Время запроса на удаление ресурса (не фактическое время удаления).id(String) ссылка на типизированный референсpurge_time(String)usages(Attributes List) Связи с другими ресурсами. В зависимости от типа связи, операции над ресурсом могут быть ограничены. (see below for nested schema)
Nested Schema for metadata.usages
Заголовок раздела «Nested Schema for metadata.usages»Read-Only:
name(String) Имя связи, требуется для модификации коллекцииresource(String) ссылка на ресурсusage_type(String) Тип связи. Помимо стандартных own и use могут быть добавлены специализированные типы для конкретных сервисов
Nested Schema for timeouts
Заголовок раздела «Nested Schema for timeouts»Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as ”30s” or “2h45m”. Valid time units are “s” (seconds), “m” (minutes), “h” (hours).
Nested Schema for status
Заголовок раздела «Nested Schema for status»Read-Only:
ready(Attributes) Информация о статусе реконсиляции (see below for nested schema)
Nested Schema for status.ready
Заголовок раздела «Nested Schema for status.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса