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

cloudru_evolution_data_platform_metastore (Resource)

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

Example Usage

resource "cloudru_evolution_data_platform_metastore" "resource_metastore" {
# Поле cluster_id является неизменяемым. При изменении значения ресурс будет пересоздан.
cluster_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
# Поле project_id является неизменяемым. При изменении значения ресурс будет пересоздан.
project_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
name = "my-metastore"
description = "Metastore description"
# Поле network_configuration является неизменяемым. При изменении значения ресурс будет пересоздан.
network_configuration = {
subnet_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
zone_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
}
compute_configuration = {
# Поле flavor_id является неизменяемым. При изменении значения ресурс будет пересоздан.
flavor_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
min_nodes = 1
max_nodes = 3
}
# Поле log_group_id является неизменяемым. При изменении значения ресурс будет пересоздан.
log_group_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
# Нужно заполнить одно из значений - fs_internal_s_3, fs_external_s_3
fs_internal_s3 = {
tenant_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
bucket = "my-bucket"
bucket_dir = "/"
s3_region = "ru-central-1"
}
# Поле version_id является неизменяемым. При изменении значения ресурс будет пересоздан.
version_id = "8fcc33c4-4580-4146-9b7f-e58943de078e"
# Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.
timeouts {
create = "60m"
update = "30m"
delete = "20m"
}
# Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации
# Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментировать
lifecycle {
ignore_changes = [timeouts]
}
}

Schema

Required

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

  • compute_configuration (Attributes) Параметры конфигурации вычислительных ресурсов. (see below for nested schema)

  • log_group_id (String) Идентификатор группы логирования.

  • name (String) Название Metastore.

  • network_configuration (Attributes) Конфигурация сети. (see below for nested schema)

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

Optional

  • description (String) Описание Metastore.

  • fs_external_s3 (Attributes) Параметры файловой системы. Внешний пользователький s3. (see below for nested schema)

  • fs_internal_s3 (Attributes) Параметры файловой системы. Внутреннее объектное хранилище s3. (see below for nested schema)

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

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

Read-Only

  • created_at (String) Время создания Metastore.

  • created_by (String) Идентификатор пользователя, который создал метастор.

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

  • status (String) Статус показывающий текущее состояние Metastore.

  • thrift_url (String) Thrift адрес, по которому доступен метастор.

  • updated_at (String) Время последнего обновления Metastore.

  • updated_by (String) Идентификатор пользователя, который последним обновил метастор.

  • version (Attributes) Версии продукта. (see below for nested schema)

Nested Schema for compute_configuration

Required:

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

  • max_nodes (Number) Максимальное количество узлов.

  • min_nodes (Number) Минимальное количество узлов.

Nested Schema for network_configuration

Required:

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

  • zone_id (String) Идентификатор зоны доступности.

Nested Schema for fs_external_s3

Required:

  • access_key_secret_id (String) Идентификатор секрета из сервиса Secret Manager, в котором хранится значение access_key для внешнего S3 хранилища.

  • s3_a_endpoint (String) S3 эндпоинт.

  • s3_region (String) S3 регион.

  • secret_key_secret_id (String) Идентификатор секрета из сервиса Secret Manager, в котором хранится значение secret_key для внешнего S3 хранилища.

Optional:

  • warehouse_dir (String) Путь до хранилища, в котором будут храниться метаданные. Пример: s3a://dev-bucket/test-data-sample. Если значение не указано, то будет использоваться корень, переданного s3 бакета bucket.

Nested Schema for fs_internal_s3

Required:

  • bucket (String) Название S3 бакета.

  • bucket_dir (String) Директория внутри бакета (по умолчанию /).

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

Optional:

  • s3_region (String) S3 регион.

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 version

Read-Only:

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

  • managed_version (String) Managed версия продукта в рамках cloud.ru.

  • oss_version (String) Opensource версия продукта.

Зависимости

Project ID

Нужное значение для идентификатора проекта (project_id) можно получить из поля projects.id с помощью датасорса cloudru_evolution_organization_project_collection.

Cluster ID

Нужное значение для идентификатора кластера (cluster_id) можно получить из поля clusters.id с помощью датасорса cloudru_evolution_data_platform_cluster_collection. Если нужного кластера не существует, его можно создать с помощью ресурса cloudru_evolution_data_platform_cluster.

Network configuration

  • Нужное значение для подсети (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.

Подсеть, зона доступности и флейвор должны быть доступны в проекте, в котором создается Metastore.

Compute configuration

  • Нужное значение для флейвора (compute_configuration.flavor_id) можно получить из поля flavors.id с помощью датасорса cloudru_evolution_data_platform_metastore_flavor_collection.

  • Значения min_nodes и max_nodes должны находиться в диапазоне flavors.min_node_count–flavors.max_node_count выбранного флейвора.

Log group ID

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

Version ID

Если требуется явно выбрать версию Metastore, значение для version_id можно посмотреть в консоли при создании или изменении экземпляра. Идентификатор текущей версии существующего экземпляра также доступен в поле metastores.version.id датасорса cloudru_evolution_data_platform_metastore_collection.