Облачная платформаEvolution

cloudru_evolution_kafka_cluster (Resource)

Эта статья полезна?

Example Usage

resource "cloudru_evolution_kafka_cluster" "resource_cluster" {
# Поле name является неизменяемым. При изменении значения ресурс будет пересоздан.
name = "name-of-cluster_1"
# Поле description является неизменяемым. При изменении значения ресурс будет пересоздан.
description = "Some short text."
# Поле version_id является неизменяемым. При изменении значения ресурс будет пересоздан.
version_id = "00000000-0000-0000-0000-000000000000"
specification_id = "00000000-0000-0000-0000-000000000000"
# Поле brokers является неизменяемым. При изменении значения ресурс будет пересоздан.
brokers = 3
storage_gib = 40
# Поле logging является неизменяемым. При изменении значения ресурс будет пересоздан.
logging = {
enabled = true
log_group_id = "00000000-0000-0000-0000-000000000000"
}
parameters = {
"auto.create.topics.enable" = "true",
"default.replication.factor" = "2"
}
# Поле subnet_id является неизменяемым. При изменении значения ресурс будет пересоздан.
subnet_id = "00000000-0000-0000-0000-000000000000"
# Поле project_id является неизменяемым. При изменении значения ресурс будет пересоздан.
project_id = "00000000-0000-0000-0000-000000000000"
# Поле ui_enabled является неизменяемым. При изменении значения ресурс будет пересоздан.
ui_enabled = false
# Поле cruise_control_enabled является неизменяемым. При изменении значения ресурс будет пересоздан.
cruise_control_enabled = false
# Поле cruise_control_rebalance_auto_enabled является неизменяемым. При изменении значения ресурс будет пересоздан.
cruise_control_rebalance_auto_enabled = false
# Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.
timeouts {
create = "60m"
update = "30m"
delete = "20m"
}
# Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации
# Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментировать
lifecycle {
ignore_changes = [timeouts]
}
}

Schema

Required

  • brokers (Number) Количество брокеров в кластере.

  • cruise_control_enabled (Boolean) Укажите true, чтобы включить Cruise Control для управления кластером.

  • cruise_control_rebalance_auto_enabled (Boolean) Укажите true, чтобы включить автоматическое перераспределение партиций в кластере.

  • name (String) Имя кластера.

  • project_id (String) Идентификатор проекта.

  • specification_id (String) Идентификатор спецификации кластера.

  • storage_gib (Number) Размер диска в гигабайтах.

  • subnet_id (String) Идентификатор подсети.

  • ui_enabled (Boolean) Включен ли визуальный интерфейс кластера.

  • version_id (String) Идентификатор версии кластера.

Optional

  • description (String) Описание кластера.

  • logging (Attributes) Параметры интеграции с сервисом Клиентского логирования. (see below for nested schema)

  • parameters (Map of String) Параметры кластера <имя параметра, значение>. Список поддерживаемых параметров и их описание доступны в разделе документации Параметры кластера.

  • timeouts (Block, Optional) (see below for nested schema)

Read-Only

  • created_at (String) Дата создания кластера.

  • health (String) Состояние здоровья кластера.

  • id (String) Идентификатор кластера.

  • in_sync_replicas (Number) Количество реплик, синхронизированных с лидером.

  • kafka_hosts (List of String) Адреса кластера.

  • kafka_ui_host (String) Адрес UI-интерфейса кластера.

  • status (String) Статус кластера.

  • topic_partitions (Number) Количество партиций.

Nested Schema for logging

Optional:

  • enabled (Boolean) Признак отправки логов кластера. По умолчанию false — логи не отправляются.

  • log_group_id (String) Идентификатор лог-группы, в которую отправляются логи. Если значение не задано, будет использоваться лог-группа проекта по умолчанию — default.

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).

Зависимости

Version ID

Нужное значение для идентификатора версии (version_id) можно получить из поля versions.id датасорса cloudru_evolution_kafka_version_collection.

Specification ID

Нужное значение для идентификатора спецификации (specification_id) можно получить из поля specifications.id с помощью датасорса cloudru_evolution_kafka_specification_collection.

Log group ID

Можно получить через консоль → раздел Мониторинг и логи → Лог-группы . В списке лог-групп будет отображаться UUID каждой.

Subnet ID

Нужное значение для подсети (subnet_id) можно получить из поля subnets.id с помощью датасорса cloudru_evolution_compute_subnet_collection.