mws_mkafka_cluster (Resource)
Заголовок раздела «mws_mkafka_cluster (Resource)»Кластер Managed Kafka — это группа узлов (брокеров), объединенных для приема, хранения и передачи потоков данных с помощью Apache Kafka. В облачной инфраструктуре кластер — единый интерфейс для управления потоками данных в реальном времени
Примеры использования
Заголовок раздела «Примеры использования»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 = { combined_with_broker = false 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 } } timeouts = { create = "1h" update = "1h" delete = "1h" }}
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"}Required
Заголовок раздела «Required»cluster(String) Название или идентификатор кластера.endpoints(Attributes List) Описание эндпойнтов в сетях пользователя (VPC) для подключения к брокерам кластера (see below for nested schema)instances(Attributes) Описание ресурсов хостов брокеров и контроллеров (see below for nested schema)version(String) Версия продукта
Optional
Заголовок раздела «Optional»active(Boolean) Состояние кластера — включен или выключенbalancer(Attributes) Настройка балансировщика кластера (see below for nested schema)kind(String)maintenance_window(Attributes) (see below for nested schema)metadata(Attributes) (see below for nested schema)product_config(String) Настройки Kafka. Если не указаны, будут использованы настройки по умолчаниюproject(String) Путь к проекту.region(String) Регион, которому принадлежит кластерschema_registry(Attributes) Настройка Schema Registry для кластера (see below for nested schema)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 endpoints
Заголовок раздела «Nested Schema for endpoints»Required:
broker_addresses(Attributes List) Список адресов в пользовательской сети, на которые “отображаются” брокеры (see below for nested schema)name(String) Имя эндпойнтаnetwork(String) Идентификатор пользовательской сети (VPC)
Optional:
external_access(Attributes) Настройка внешнего доступа к кластеру Kafka (see below for nested schema)
Nested Schema for endpoints.broker_addresses
Заголовок раздела «Nested Schema for endpoints.broker_addresses»Optional:
ref(String) Идентификатор существующего адресаspec(Attributes) Спецификация нового адреса. Адрес будет выделен в ходе реконсиляции кластера (see below for nested schema)
Nested Schema for endpoints.broker_addresses.spec
Заголовок раздела «Nested Schema for endpoints.broker_addresses.spec»Required:
subnet(String) Идентификатор подсети, в которой необходимо выделить адрес
Nested Schema for endpoints.external_access
Заголовок раздела «Nested Schema for endpoints.external_access»Required:
allowed(Boolean) Назначить внешние адреса для кластера Kafka
Optional:
broker_addresses(Attributes List) Список внешних адресов, используемых для настройки доступа к кластеру Kafka. Если флаг “allowed” установлен в true и адреса не указаны, внешние адреса будут выделены автоматически (see below for nested schema)
Nested Schema for endpoints.external_access.broker_addresses
Заголовок раздела «Nested Schema for endpoints.external_access.broker_addresses»Optional:
ref(String) Идентификатор существующего внешнего адресаspec(Attributes) Спецификация нового внешнего адреса. Адрес будет выделен в ходе реконсиляции кластера (see below for nested schema)
Nested Schema for endpoints.external_access.broker_addresses.spec
Заголовок раздела «Nested Schema for endpoints.external_access.broker_addresses.spec»Nested Schema for instances
Заголовок раздела «Nested Schema for instances»Required:
broker(Attributes) Параметры виртуальной машины, где будет работать брокер Кафки (see below for nested schema)controller(Attributes) Параметры виртуальной машины, где будет работать KRaft контроллер Кафки (see below for nested schema)
Nested Schema for instances.broker
Заголовок раздела «Nested Schema for instances.broker»Required:
disk(Attributes) Параметры диска с данными на узле кластера (see below for nested schema)vm_type(String) Тип виртуальной машины, описывающий ресурсы (vCPU, memory)
Optional:
allocation(Attributes List) Параметры размещения брокеров по зонам (see below for nested schema)
Nested Schema for instances.broker.disk
Заголовок раздела «Nested Schema for instances.broker.disk»Required:
size(String) Размер диска
Размер в байтах. Формат: <число> [единица измерения]. Допустимые единицы измерения: “B”, “KB”, “MB”, “GB”, “TB”, “PB”, “EB”, “ZB”, “YB”, “RB”, “QB”. По умолчанию: “B”. Допустимые значения — положительные целые числа и дробные числа с ненулевой целой частью. Значение базовой единицы измерения (в байтах) должно оставаться целым. Регистр и лишние пробелы перед строкой, после строки и между ее частями игнорируются
Optional:
iops(Number) Количество дисковых операций в секундуtype(String) Тип используемого диска:
- “NETWORK_STANDARD_SSD” — сетевой SSD
Nested Schema for instances.broker.allocation
Заголовок раздела «Nested Schema for instances.broker.allocation»Required:
count(Number) Количество брокеров в зоне/подсетиzone(String) Зона расположения узла
Nested Schema for instances.controller
Заголовок раздела «Nested Schema for instances.controller»Optional:
allocation(Attributes List) Параметры размещения контроллеров по зонам (see below for nested schema)combined_with_broker(Boolean) Размещать контроллеры на тех же виртуальных машинах, что и брокерыdisk(Attributes) Параметры диска с данными на узле кластера (see below for nested schema)vm_type(String) Тип виртуальной машины, описывающий ресурсы (vCPU, memory)
Nested Schema for instances.controller.allocation
Заголовок раздела «Nested Schema for instances.controller.allocation»Required:
count(Number) Количество брокеров в зоне/подсетиzone(String) Зона расположения узла
Nested Schema for instances.controller.disk
Заголовок раздела «Nested Schema for instances.controller.disk»Required:
size(String) Размер диска
Размер в байтах. Формат: <число> [единица измерения]. Допустимые единицы измерения: “B”, “KB”, “MB”, “GB”, “TB”, “PB”, “EB”, “ZB”, “YB”, “RB”, “QB”. По умолчанию: “B”. Допустимые значения — положительные целые числа и дробные числа с ненулевой целой частью. Значение базовой единицы измерения (в байтах) должно оставаться целым. Регистр и лишние пробелы перед строкой, после строки и между ее частями игнорируются
Optional:
iops(Number) Количество дисковых операций в секундуtype(String) Тип используемого диска:
- “NETWORK_STANDARD_SSD” — сетевой SSD
Nested Schema for balancer
Заголовок раздела «Nested Schema for balancer»Optional:
auto_rebalance(Boolean) Если включено - запускать автоматическую ребалансировку во время сервисного окнаenabled(Boolean) Состояние балансировщика — включен или выключен
Nested Schema for maintenance_window
Заголовок раздела «Nested Schema for maintenance_window»Required:
weekly(Attributes) (see below for nested schema)
Nested Schema for maintenance_window.weekly
Заголовок раздела «Nested Schema for maintenance_window.weekly»Required:
days(List of String) Дни недели, в которые будет запущено задание на тех. обслуживаниеhour(Number) Час, в который будет запущено задание на тех. обслуживание
Optional:
duration(String) Допустимая продолжительность процесса обновления. Если не указано, то не ограничено по времени. Принимается только формат в часах (h)
Период времени. Поддерживаются следующие форматы:
- ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
- Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
- Число в секундах
Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются
Nested Schema for metadata
Заголовок раздела «Nested Schema for metadata»Optional:
description(String) Описание ресурсаdisplay_name(String) Отображаемое имя. Необязательное поле, можно свободно задавать и изменять для удобства организации ресурсов
Read-Only:
create_time(String) Дата создания объекта
Дата в формате RFC3339. Пример: 2006-01-02T15:04:05Z07:00
delete_time(String) Время запроса на удаление ресурса (не фактическое время удаления)
Дата в формате RFC3339. Пример: 2006-01-02T15:04:05Z07:00
id(String) Ссылка на типизированный референсpurge_time(String) Дата в формате RFC3339. Пример: 2006-01-02T15:04:05Z07:00usages(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 schema_registry
Заголовок раздела «Nested Schema for schema_registry»Optional:
enabled(Boolean) Включить Schema Registry в кластере
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:
balancer(Attributes) Настройка балансировщика кластера (see below for nested schema)effective_kafka_config(Map of String) Конфигурация параметров кластера после валидации и преобразования из пользователского вводаendpoints(Attributes List) Описание эндпойнтов в сетях пользователя (VPC) для подключения к брокерам кластера (see below for nested schema)health(String) Работоспособность кластера:- “ALIVE” - Полностью работоспособен;
- “DEGRADED” - Деградирует (некоторые, но не все, экземпляры неработоспособны);
- “FAILED” - Неработоспособен;
- “UNKNOWN” - Не удаётся определить состояние (на этапе создания)
instances(Attributes) Описание ресурсов хостов брокеров и контроллеров (see below for nested schema)maintenance_window(Attributes) (see below for nested schema)message(String)ready(Attributes) Информация о статусе реконсиляции (see below for nested schema)region(String) Регион, которому принадлежит кластерschema_registry(Attributes) Настройка Schema Registry для кластера (see below for nested schema)state(String) Состояние кластера:- “CREATING” - Создаётся;
- “RUNNING” - Работает в штатном режиме;
- “STOPPING” - Останавливается;
- “STOPPED” - Остановлен;
- “STARTING” - Запуск ранее остановленного;
- “UPDATING” - Выполняется обновление;
- “ERROR” - Произошла ошибка, требуется участие команды поддержки;
- “DELETING” - Удаляется;
- “DELETED” - Удалён;
- “UNIDENTIFIED” - Не удаётся определить статус;
- “RESTORING” - Восстанавливается
Nested Schema for status.balancer
Заголовок раздела «Nested Schema for status.balancer»Optional:
auto_rebalance(Boolean) Если включено - запускать автоматическую ребалансировку во время сервисного окнаenabled(Boolean) Состояние балансировщика — включен или выключен
Nested Schema for status.endpoints
Заголовок раздела «Nested Schema for status.endpoints»Read-Only:
bootstrap_servers(String) Список адресов для первоначального подключения к кластеру внутри пользовательской (VPC)broker_addresses(Attributes List) Список адресов в пользовательской сети, на которые “отображаются” брокеры (see below for nested schema)external_access(Attributes) Настройка внешнего доступа к кластеру Kafka (see below for nested schema)name(String) Имя эндпойнтаnetwork(String) Идентификатор пользовательской сети (VPC)port(Number) Порт для доступа к кластеру Kafka внутри пользовательской сети (VPC)schema_registry(Attributes) Адреса Schema Registry во внутренней сети (VPC) (see below for nested schema)
Nested Schema for status.endpoints.broker_addresses
Заголовок раздела «Nested Schema for status.endpoints.broker_addresses»Read-Only:
dns(Attributes List) Доменные имена (see below for nested schema)ip_address(String) Выделенный адрес
IPv4- или IPv6-адрес
ref(String) Идентификатор адресаsubnet(String) Подсеть, в которой выделен адрес
Nested Schema for status.endpoints.broker_addresses.dns
Заголовок раздела «Nested Schema for status.endpoints.broker_addresses.dns»Read-Only:
name(String)
Nested Schema for status.endpoints.external_access
Заголовок раздела «Nested Schema for status.endpoints.external_access»Read-Only:
allowed(Boolean) Назначить внешние адреса для кластера Kafkabootstrap_servers(String) Список адресов для первоначального подключения к кластеру Apache Kafka из внешней сетиbroker_addresses(Attributes List) Список внешних адресов, выделенных для брокеров Kafka (see below for nested schema)port(Number) Порт, используемый для доступа к кластеру Kafka из внешней сетиschema_registry(Attributes) Внешние HTTPS-адреса Schema Registry (see below for nested schema)
Nested Schema for status.endpoints.external_access.broker_addresses
Заголовок раздела «Nested Schema for status.endpoints.external_access.broker_addresses»Read-Only:
ip_address(String) Выделенный адрес
IPv4- или IPv6-адрес
managed(Boolean) False если ссылка на внешний адрес был указана в спецификации, true если адрес был созданref(String) Идентификатор адреса
Nested Schema for status.endpoints.external_access.schema_registry
Заголовок раздела «Nested Schema for status.endpoints.external_access.schema_registry»Read-Only:
urls(List of String) Список HTTPS URL Schema Registry
Nested Schema for status.endpoints.schema_registry
Заголовок раздела «Nested Schema for status.endpoints.schema_registry»Read-Only:
urls(List of String) Список HTTPS URL Schema Registry
Nested Schema for status.instances
Заголовок раздела «Nested Schema for status.instances»Read-Only:
broker(Attributes) Параметры виртуальной машины, где работает брокер Кафки (see below for nested schema)controller(Attributes) Параметры виртуальной машины, где работает контроллер (see below for nested schema)
Nested Schema for status.instances.broker
Заголовок раздела «Nested Schema for status.instances.broker»Read-Only:
disk(Attributes) Параметры диска с данными на узле кластера Managed Kafka (see below for nested schema)
Nested Schema for status.instances.broker.disk
Заголовок раздела «Nested Schema for status.instances.broker.disk»Read-Only:
iops(Number) Количество дисковых операций в секунду
Nested Schema for status.instances.controller
Заголовок раздела «Nested Schema for status.instances.controller»Read-Only:
combined_with_broker(Boolean) Контроллеры размещаются на тех же виртуальных машинах, что и брокерыdisk(Attributes) Параметры диска с данными на узле кластера Managed Kafka (see below for nested schema)
Nested Schema for status.instances.controller.disk
Заголовок раздела «Nested Schema for status.instances.controller.disk»Read-Only:
iops(Number) Количество дисковых операций в секунду
Nested Schema for status.maintenance_window
Заголовок раздела «Nested Schema for status.maintenance_window»Required:
weekly(Attributes) (see below for nested schema)
Nested Schema for status.maintenance_window.weekly
Заголовок раздела «Nested Schema for status.maintenance_window.weekly»Required:
days(List of String) Дни недели, в которые будет запущено задание на тех. обслуживаниеhour(Number) Час, в который будет запущено задание на тех. обслуживание
Optional:
duration(String) Допустимая продолжительность процесса обновления. Если не указано, то не ограничено по времени. Принимается только формат в часах (h)
Период времени. Поддерживаются следующие форматы:
- ISO 8601: P(n)DT(n)H(n)M(n)S. Допустимые единицы измерения: дни (“D”), часы (“H”), минуты (“M”), секунды (“S”). Только секунды могут быть дробными
- Простой формат. Допустимые единицы измерения: “d”, “h”, “m”, “s”, “ms”, “us”, “ns”. Величины должны следовать по убыванию единиц измерения
- Число в секундах
Отрицательные значения обозначаются префиксом ”-”, в простом формате могут быть ограничены скобками. Регистр и пробелы игнорируются
Nested Schema for status.ready
Заголовок раздела «Nested Schema for status.ready»Read-Only:
message(String) Описание статусаstate(String) Состояние ресурса
Nested Schema for status.schema_registry
Заголовок раздела «Nested Schema for status.schema_registry»Optional:
enabled(Boolean) Включить Schema Registry в кластере