resource "cloudru_evolution_data_platform_spark" "resource_spark" {# Поле cluster_id является неизменяемым. При изменении значения ресурс будет пересоздан.cluster_id = "0000-0000-0000-0000-0000"# Поле project_id является неизменяемым. При изменении значения ресурс будет пересоздан.project_id = "0000-0000-0000-0000-0000"compute_configuration = {flavor_id = "0000-0000-0000-0000-0000"min_nodes = 1max_nodes = 5}name = "spark-instance"description = "Spark cluster description"enabled_external_host = true# Поле log_group_id является неизменяемым. При изменении значения ресурс будет пересоздан.log_group_id = "0000-0000-0000-0000-0000"# Поле internal_s3_config является неизменяемым. При изменении значения ресурс будет пересоздан.internal_s3_config = {# Поле tenant_id является неизменяемым. При изменении значения ресурс будет пересоздан.tenant_id = "0000-0000-0000-0000-0000"# Поле bucket является неизменяемым. При изменении значения ресурс будет пересоздан.bucket = "bucket"}external_s3_config = {# Поле bucket является неизменяемым. При изменении значения ресурс будет пересоздан.bucket = "bucket"# Поле endpoint является неизменяемым. При изменении значения ресурс будет пересоздан.endpoint = "https://s3.cloud.ru"access_key_secret_id = "0000-0000-0000-0000-0000"secret_key_secret_id = "0000-0000-0000-0000-0000"region = "ru-central-1"}# Поле network_configuration является неизменяемым. При изменении значения ресурс будет пересоздан.network_configuration = {# Поле subnet_id является неизменяемым. При изменении значения ресурс будет пересоздан.subnet_id = "0000-0000-0000-0000-0000"# Поле zone_id является неизменяемым. При изменении значения ресурс будет пересоздан.zone_id = "0000-0000-0000-0000-0000"}user = {username = "spark-user"password_secret_id = "0000-0000-0000-0000-0000"}version_id = "0000-0000-0000-0000-0000"# Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.timeouts {create = "60m"update = "30m"delete = "20m"}# Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации# Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментироватьlifecycle {ignore_changes = [timeouts]}}
cluster_id (String) Идентификатор кластера.
compute_configuration (Attributes) Параметры конфигурации вычислительных ресурсов. (see below for nested schema)
enabled_external_host (Boolean) Подключение через внешний хост: * true — подключение через внешний хост разрешено. * false — подключение через внешний хост запрещено.
log_group_id (String) Идентификатор группы логирования.
name (String) Название.
network_configuration (Attributes) Конфигурация сети. (see below for nested schema)
project_id (String) Идентификатор проекта.
user (Attributes) Пользователь Managed Spark для доступа к Spark History. (see below for nested schema)
description (String) Описание.
external_s3_config (Attributes) Конфигурация параметров внешнего хранилища S3. (see below for nested schema)
internal_s3_config (Attributes) Конфигурация параметров Object Storage. (see below for nested schema)
timeouts (Block, Optional) (see below for nested schema)
version_id (String) Идентификатор версии Managed Spark.
created_at (String) Время создания.
created_by (String) Идентификатор создавшего пользователя.
hs_external_host (String) URL внешнего хоста Spark History.
hs_internal_host (String) URL внутреннего хоста Spark History.
id (String) Идентификатор инстанса Managed Spark.
s3_eventlog_url (String) URL директории с логами Spark в хранилище S3.
spark_connect_id (String) Идентификатор Spark Connect.
status (String) Статус инстанса Managed Spark: * SPARK_STATUS_PENDING — инстанс находится в ожидании. * SPARK_STATUS_CREATING — инстанс создается. * SPARK_STATUS_RUNNING — инстанс готов к работе. * SPARK_STATUS_RESUMING — инстанс возобновляет работу. * SPARK_STATUS_UPDATING — инстанс обновляется. * SPARK_STATUS_DELETED — инстанс удален. * SPARK_STATUS_DELETING — инстанс удаляется. * SPARK_STATUS_ERROR — инстанс находится в состоянии ошибки. * SPARK_STATUS_SUSPENDING — инстанс приостанавливается. * SPARK_STATUS_SUSPENDED — инстанс приостановлен. * SPARK_STATUS_FAILED — ошибка в работе инстанса. * SPARK_STATUS_STOPPING — инстанс останавливается. * SPARK_STATUS_STOPPED — инстанс остановлен.
updated_at (String) Время обновления.
updated_by (String) Идентификатор обновившего пользователя.
version (Attributes) Версия Managed Spark. (see below for nested schema)
Required:
flavor_id (String) Идентификатор flavor.
max_nodes (Number) Максимальное количество узлов.
min_nodes (Number) Минимальное количество узлов.
Required:
subnet_id (String) Идентификатор подсети.
zone_id (String) Идентификатор зоны доступности.
Required:
password_secret_id (String) Пароль в формате secret manager secret_id.
username (String) Имя пользователя.
Required:
access_key_secret_id (String) Access key в формате secret manager secret_id.
bucket (String) Имя бакета.
endpoint (String) URL эндпоинта.
region (String) Регион, например, ru-central-1.
secret_key_secret_id (String) Secret key в формате secret manager secret_id.
Required:
bucket (String) Имя бакета.
tenant_id (String) Идентификатор арендатора.
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).
Read-Only:
description (String) Описание.
managed_spark_version (String) Номер версии Managed Spark.
name (String) Название.
version_id (String) Идентификатор версии.
Нужное значение для идентификатора проекта (project_id) можно получить из поля projects.id с помощью датасорса cloudru_evolution_organization_project_collection.
Нужное значение для идентификатора кластера (cluster_id) можно получить из поля clusters.id с помощью датасорса cloudru_evolution_data_platform_cluster_collection. Если нужного кластера не существует, его можно создать с помощью ресурса cloudru_evolution_data_platform_cluster.
Нужное значение для флейвора (compute_configuration.flavor_id) можно получить из поля flavors.id с помощью датасорса cloudru_evolution_data_platform_spark_flavor_collection.
Значения min_nodes и max_nodes должны находиться в диапазоне flavors.min_node_count–flavors.max_node_count выбранного флейвора.
Можно получить через консоль → раздел Мониторинг и логи → Лог-группы . В списке лог-групп будет отображаться UUID каждой.
В internal_s3_config.tenant_id указывается идентификатор арендатора Object Storage, который также используется в настройке провайдера object_storage_tenant_id.
В internal_s3_config.bucket указывается имя бакета Evolution Object Storage. Бакет можно создать с помощью ресурса cloudru_evolution_obs_bucket и использовать его атрибут bucket.
Нужное значение для подсети (network_configuration.subnet_id) можно получить из поля subnets.id с помощью датасорса cloudru_evolution_compute_subnet_collection.
Нужное значение для идентификатора зоны доступности (network_configuration.zone_id) находится в поле subnets.zone.id выбранной подсети. Список зон также можно получить из поля zones.id датасорса cloudru_evolution_compute_zone_collection.
Подсеть, зона доступности и флейвор должны быть доступны в проекте, в котором создается экземпляр Managed Spark.
В user.password_secret_id указывается идентификатор секрета из Secret Manager, содержащего пароль пользователя Spark History.
Для внешнего S3-хранилища в external_s3_config.access_key_secret_id и external_s3_config.secret_key_secret_id указываются идентификаторы секретов из Secret Manager, содержащих соответственно ключ доступа и секретный ключ. Идентификаторы секретов можно получить в консоли в разделе Secret Manager .
Нужное значение для версии (version_id) можно получить из поля spark_versions.version_id с помощью датасорса cloudru_evolution_data_platform_spark_version_collection.