Перенос ветки для демо1 из док-ии Vega

This commit is contained in:
Elena Rechkina
2025-03-27 13:43:31 +06:00
parent 5863c6af9d
commit dd15812268
128 changed files with 9520 additions and 89 deletions
@@ -0,0 +1,45 @@
---
page_title: "beecloud: beecloud_affinity_groups"
description: "Get information about multiple beecloud affinity groups"
---
# Источник данных: beecloud_affinity_groups
Получение информации обо всех аффинити-группах проекта.
## Пример конфигурации
Получение всех аффинити-групп проекта
```hcl
data "beecloud_affinity_groups" "all" {}
output "beecloud_affinity_groups_all" {
value = data.beecloud_affinity_groups.all
}
```
Дополнительная фильтрация по ID региона
```hcl
data "beecloud_affinity_groups" "by_region" {
region = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
output "beecloud_affinity_groups_by_region" {
value = data.beecloud_affinity_groups.by_region
}
```
## Возвращаемые поля
- `id` - Проект в beecloud, к которому относятся сервера (ID/Slug).
- `affinity_groups` - Список аффинити-групп.
- `affinity_group_id` - ID в системе TF. Соответствует ID группы.
- `project_id` - ID проекта.
- `name` - Наименование сервера.
- `policy` - Политика группы (affinity/soft-affinity/anti-affinity/soft-anti-affinity).
- `region` - Данные о регионе.
- `id` - ID региона
- `slug` - Слаг региона.
- `name` - Наименование региона.
- `condition` - Состояние группы (статус) (готовность к использованию).
@@ -0,0 +1,97 @@
---
page_title: "beecloud: beecloud_flavors"
description: "Get information about multiple beecloud Flavors of project"
---
# Источник данных: beecloud_flavors
Получение информации обо всех тарифах, доступных проекту.
## Пример конфигурации
```hcl
data "beecloud_flavors" "all" {}
output "beecloud_flavors_all" {
value = data.beecloud_flavors.all
}
```
## Список доступных тарифов
```hcl
data "beecloud_flavors" "all_slug" {}
output "flavors_slug" {
value = data.beecloud_flavors.all_slug.flavors[*].slug
}
```
## Варианты фильтрации
Поиск по CPU и RAM
> RAM указывается в Мегабайтах пример (2048 Мб = 2 Гб)
```hcl
data "beecloud_flavors" "cpu2" {
filters {
vcpu = 2
}
}
output "flavors_cpu2" {
value = data.beecloud_flavors.cpu2
}
data "beecloud_flavors" "cpu2ram2" {
filters {
vcpu = 2
ram = 2 * 1024
}
}
output "flavors_cpu2ram2" {
value = data.beecloud_flavors.cpu2ram2
}
```
## Возвращаемые поля
- `id` - TF ID. Соответствует ID/Slug проекта.
- `filters` - параметры фильтра
- `ram` - значение заданного фильтра для ОЗУ
- `vcpu` - значение заданного фильтра для ЦПУ
- `flavors` - Список доступных тарифов.
- `flavor_id` - ID тарифа.
- `group` - Тарифная группа.
- `name` - Наименование тарифа.
- `ram` - Параметр ram тарифа.
- `regions` - Доступен для регионов. Список.
- `slug` - Slug тарифа.
- `vcpu` - Параметр vcpu тарифа.
# beecloud_flavor
Получение информации о тарифе
```hcl
data "beecloud_flavor" "cpu2_ram2" {
slug = "cpu2ram2"
}
output "flavor_id" {
value = data.beecloud_flavor.cpu2_ram2.flavor_id
}
```
## Возвращаемые поля
- `flavor_id` - ID тарифа.
- `slug` - Slug тарифа.
- `name` - Наименование тарифа.
- `vcpu` - Параметр vcpu тарифа.
- `ram` - Параметр ram тарифа.
- `group` - Тарифная группа.
- `regions` - Доступен для регионов. Список.
@@ -0,0 +1,30 @@
---
page_title: "beecloud: beecloud_images"
description: "Get information about multiple beecloud Images of project"
---
# Источник данных: beecloud_images
Получение информации обо всех образах, доступных проекту.
## Пример конфигурации
```hcl
data "beecloud_images" "all" {}
output "beecloud_images_all" {
value = data.beecloud_images.all
}
```
## Возвращаемые поля
- `id` - TF ID. Соответствует ID/Slug проекта.
- `images` - Список доступных образов.
- `image_id` - ID образа.
- `slug` - Slug образа.
- `name` - Наименование образа.
- `distribution` - Дистрибутив образа.
- `version` - Версия образа.
- `min_disk` - Минимальный размер диска.
- `regions` - Доступен для регионов. Список.
@@ -0,0 +1,37 @@
---
page_title: "beecloud: beecloud_regions"
description: "Get information about multiple beecloud Regions of project"
---
# Источник данных: beecloud_regions
Получение информации обо всех регионах, доступных проекту.
## Пример конфигурации
```hcl
data "beecloud_regions" "all" {}
output "beecloud_regions_all" {
value = data.beecloud_regions.all
}
```
## Возвращаемые поля
- `id` - TF ID. Соответствует ID/Slug проекта.
- `regions` - Список доступных регионов.
- `region_id` - ID региона.
- `slug` - Slug региона.
- `name` - Наименование региона.
- `hypervisor` - Гипервизор.
- `location` - Местонахождение.
- `priority` - Приоритет.
- `zone` - Зона региона.
- `volumes_type` - Доступные типы дисков. Список.
- `features` - Сетевой периметр (?)
- `limits` - Лимиты региона.
- `instance` - Количество инстансов.
- `ram` - Ограничение по RAM.
- `vcpu` - Ограничение по VCPU.
- `volumes_size` - Объект типа "key:value". Размеры для каждого типа диска (hhd/ssd/nvme/..)
@@ -0,0 +1,55 @@
---
page_title: "beecloud: beecloud_server"
description: "Get information about beecloud Instance"
---
# Источник данных: beecloud_server
Получение информации о сервере.
## Пример конфигурации
```hcl
data "beecloud_server" "server_by_id" {
server_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
output "server_beecloud" {
value = data.beecloud_server.server_by_id
}
```
## Аргументы
- `server_id` - ID сервера.
## Возвращаемые поля
- `id` - ID TF. Соответствует ID сервера.
- `name` - Наименование сервера.
- `image` - Параметры образа сервера.
- `id` - ID образа сервера.
- `slug` - Slug образа.
- `name` - Наименование образа.
- `region` - Регион, где создан сервер.
- `id` - ID региона.
- `slug` - Slug региона.
- `name` - Наименование региона.
- `flavor` - Тариф.
- `id` - ID тарифа.
- `slug` - Slug тарифа.
- `name` - Наименование тарифа.
- `volumes` - Список дисков.
- `id` - ID диска.
- `size` - Размер диска.
- `type` - Тип диска (hhd/ssd/nvme).
- `is_boot` - Загрузочный/дополнительный (`true`, `false`).
- `name` - Наименование диска.
- `addresses` - Список адресов.
- `type` - Тип адреса.
- `address` - IP адрес.
- `version` - Версия IP адреса (4/6).
- `status` - Статус сервера (Создан/Создается/...)
- `fqdn` - Полный домен.
- `tags` - Список тэгов.
- `wait_completed` - Ключ ожидания состояния сервера (Создан/Создается...).
@@ -0,0 +1,55 @@
---
page_title: "beecloud: beecloud_servers"
description: "Get information about multiple beecloud Instances of project"
---
# Источник данных: beecloud_servers
Получение информации обо всех серверах проекта.
## Пример конфигурации
```hcl
data "beecloud_servers" "all" {}
output "beecloud_servers_all" {
value = data.beecloud_servers.all
}
```
## Возвращаемые поля
- `id` - Проект в beecloud, к которому относятся серверыы (ID/Slug).
- `servers` - Список серверов.
- `server_id` - ID сервера.
- `name` - Наименование сервера.
- `image` - Параметры образа сервера.
- `id` - ID образа сервера.
- `slug` - Slug образа.
- `name` - Наименование образа.
- `region` - Регион, где создан сервер.
- `id` - ID региона.
- `slug` - Slug региона.
- `name` - Наименование региона.
- `flavor` - Тариф.
- `id` - ID тарифа.
- `slug` - Slug тарифа.
- `name` - Наименование тарифа.
- `volumes` - Список дисков.
- `id` - ID диска.
- `size` - Размер диска.
- `type` - Тип диска (hhd/ssd/nvme).
- `is_boot` - Загрузочный/дополнительный (`true`, `false`).
- `name` - Наименование диска.
- `addresses` - Список адресов.
- `type` - Тип адреса.
- `address` - IP адрес.
- `version` - Версия IP адреса (4/6).
- `status` - Статус сервера (Создан/Создается/...)
- `fqdn` - Полный домен.
- `tags` - Список тэгов.
- `wait_completed` - Ключ ожидания состояния сервера (Создан/Создается...).
@@ -0,0 +1,34 @@
---
page_title: "beecloud: beecloud_volume"
description: "Get information about beecloud Volume"
---
# Источник данных: beecloud_volume
Получение информации о диске.
## Пример конфигурации
```hcl
data "beecloud_volume" "vlm_by_id" {
volume_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
output "beecloud_volume_by_id" {
value = data.beecloud_volume.vlm_by_id
}
```
## Аргументы
- `volume_id` - ID диска.
## Возвращаемые поля
- `id` - ID TF. Соответствует ID диска.
- `project_id` - ID проекта.
- `region_id` - ID региона.
- `name` - Наименование диска.
- `size` - Размер диска.
- `type` - Тип диска.
- `is_boot` - Загрузочный/дополнительный (`true`, `false`).
- `attached_to` - ID сервера, к которому примонтирован.
- `last_updated` - Время последнего обновления ресурса.
@@ -0,0 +1,31 @@
---
page_title: "beecloud: beecloud_volumes"
description: "Get information about multiple beecloud Volumes of project"
---
# Источник данных: beecloud_volumes
Получение информации обо всех дисках проекта.
## Пример конфигурации
```hcl
data "beecloud_volumes" "all" {}
output "beecloud_volumes_all" {
value = data.beecloud_volumes.all
}
```
## Возвращаемые поля
- `id` - ID TF. Соответствует ID/Slug проекта.
- `volumes` - Список дисков.
- `volume_id` - ID диска.
- `project_id` - ID проекта.
- `region_id` - ID региона.
- `name` - Наименование диска.
- `size` - Размер диска.
- `type` - Тип диска.
- `is_boot` - Загрузочный/дополнительный (`true`, `false`).
- `attached_to` - ID сервера, к которому примонтирован.
- `last_updated` - Время последнего обновления ресурса.
@@ -0,0 +1,35 @@
---
page_title: "beecloud: beecloud_address_ip"
description: "Manages beecloud Address IPs"
---
# Ресурс: beecloud_address_ip
Получение информации об адресах.
Создание и управление адресами проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/vps/swagger/index.html#/).
Ресурс может быть создан/прочитан/удален.
```hcl
resource "beecloud_address_ip" "server_ip" {
region_id = "xxxx-xxxx-xxxx-xxxx"
}
```
## Аргументы
- `region` - (Обязательно) Данные о регионе.
- `id` - (Обязательно) ID региона.
## В дополнение к приведенным выше аргументам, возвращаются следующие параметры:
- `id` - ID в системе TF. Соответствует ID адреса.
- `project_id` - ID проекта.
- `name` - наименование адреса.
- `address` - значение IP адреса.
- `version` - версия адреса (UNKNOWN/4/6).
- `status` - статус адреса (UNKNOWN/FREE/USED/RESERVED).
- `purpose` - назначение адреса.
- `type` - тип адреса (UNKNOWN/EXTERNAL/INTERNAL).
- `metadata` - дополнительные управляющие параметры.
@@ -0,0 +1,45 @@
---
page_title: "beecloud: beecloud_affinity_group"
description: "Manages Affinity Groups of servers"
---
# Ресурс: beecloud_affinity_group
Управление Аффинити-группами (группами размещения) серверов.
Поддерживается создание/удаление/чтение/обновление (согласно API beecloud обновление поддерживается только для именования группы, остальные изменения повлекут пересоздание группы)
Политики (согласно API beecloud): **affinity/soft-affinity/anti-affinity/soft-anti-affinity**
## Примеры конфигураций
### Основное
```hcl
resource "beecloud_affinity_group" "affinity_policy" {
region {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
name = "tf-affinity-group"
policy = "affinity"
}
output "beecloud_affinity_group_policy" {
value = beecloud_affinity_group.affinity_policy
}
```
## Аргументы
- `name` - (Обязательно) Наименование сервера.
- `policy` - (Обязательно) Политика группы (affinity/soft-affinity/anti-affinity/soft-anti-affinity).
- `region` - (Обязательно) Данные о регионе.
- `id` - (Обязательно) ID региона.
## В дополнение к приведенным выше аргументам, возвращаются следующие параметры:
- `id` - ID в системе TF. Соответствует ID группы.
- `affinity_group_id` - ID в системе TF. Соответствует ID группы.
- `project_id` - ID проекта.
- `region` - Данные о регионе.
- `id` - ID региона
- `slug` - Слаг региона.
- `name` - Наименование региона
- `condition` - Состояние группы (статус) (готовность к использованию)
@@ -0,0 +1,245 @@
---
page_title: "beecloud: beecloud_server"
description: "Manages beecloud Instances"
---
# Ресурс: beecloud_server
Создание и управление серверами проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/vps/swagger/index.html).
Ресурс может быть создан/прочитан/обновлен/удален.
Обновляется только при монтировании/демонтировании доп.дисков или изменении тэгов, в остальных случаях - пересоздание.
Для защиты от случайного пересоздания можно использовать `lifecycle`:
```hcl
resource "beecloud_server" "test" {
...
lifecycle {
prevent_destroy = true
}
}
```
Посмотреть текущее состояние ресурса:
```bash
$ terraform state show beecloud_server.test
```
## Примеры конфигураций
```hcl
resource "beecloud_server" "test" {
flavor {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
image {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
region {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
name = "tf-create-server-test"
root_volume {
size = 40
type = "hdd"
}
}
output "beecloud_server_test" {
value = beecloud_server.test
}
```
### С дополнительными дисками
```hcl
resource "beecloud_server" "test" {
flavor {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
image {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
region {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
name = "tf-create-server-test"
root_volumes {
size = 40
type = "hdd"
}
additional_volume_ids = ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]
}
```
> Note: Поле с дисками может изменить состояние после использования ресурса `beecloud_volume`. Необходимо будет синхронизировать состояние.
### С тэгами
```hcl
resource "beecloud_server" "test" {
flavor {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
image {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
region {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
name = "tf-create-server-test"
root_volumes {
size = 40
type = "hdd"
}
additional_volume_ids = ["XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"]
tags = ["dev", "test"]
}
```
### С управлением адресом
Передается UUID адреса. Он может быть заранее создан ресурсом "beecloud_address_ip".
```hcl
resource "beecloud_server" "test" {
flavor {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
image {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
region {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
name = "tf-create-server-test"
root_volumes {
size = 40
type = "hdd"
}
address = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
```
### С аффинити-группой
Передается UUID группы. Он может быть заранее создан ресурсом "beecloud_affinity_group".
```hcl
resource "beecloud_server" "test" {
flavor {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
image {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
region {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
name = "tf-create-server-test"
root_volumes {
size = 40
type = "hdd"
}
affinity {
id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
}
```
>
>~> **На заметку**: Для примонтирования/демонтирования есть два способа:
>1. Использовать поле `additional_volume_ids`
>2. Использовать ресурс `beecloud_volume_bind`
>
><span style="color:red">Не использовать вместе!</span>
>
## Аргументы
- `name` - (Обязательно) Наименование сервера (должно быть уникальным).
- `image` - (Обязательно) Данные об образе.
- `id` - (Обязательно) ID образа.
- `region` - (Обязательно) Данные о регионе.
- `id` - (Обязательно) ID региона.
- `flavor` - (Обязательно) Данные о тарифе.
- `id` - (Обязательно) ID тарифа.
- `root_volume` - (Обязательно) Диски. Минимум один экземпляр для загрузочного диска.
- `size` - (Обязательно) Размер диска.
- `type` - (Обязательно) Тип диска.
- `additional_volume_ids` - (Опционально) Список дополнительных (примонтированных) дисков.
- `address` - (Опционально) Данные об адресе (Если нужно управлять адресом - лучше его отдельно выделить как ресурс и прописать его ID в сервере)
- `id` - ID адреса, с которым будет создан сервер
- `tags` - (Опционально) Список тэгов.
- `wait_completed` - (Опционально) По умолчанию: `true`. Этот ключ отвечает за ожидание полного создания сервера. Если переключить его в `false`, то ресурс не будет дожидаться полного создания сервера, сервер будет в статусе "Создается".
- `affinity` - (Опционально) Данные об аффинити-группе
- `id` - ID аффинити-группы, с учетом правила которой будет создан сервер. Изменение ID повлечет пересоздание сервера.
## В дополнение к приведенным выше аргументам, возвращаются следующие параметры:
- `id` - ID в системе TF. Соответствует ID сервера.
- `server_id` - ID созданного сервера.
- `image` - Данные об образе.
- `slug` - Слаг образа.
- `name` - Имя образа.
- `region` - Данные о регионе.
- `slug` - Слаг региона.
- `name` - Имя региона.
- `flavor` - Данные о тарифе.
- `slug`- Слаг тарифа.
- `name` - Имя тарифа.
- `root_volume` - (Обязательно) Диски. Минимум один экземпляр для загрузочного диска.
- `id` - ID загрузочного сервера.
- `is_boot` - Определение типа: загрузочный диск (`true`) или дополнительный (`false`). Загрузочный может быть только один.
- `name` - Имя диска (для загрузочных - наименование диска будет **`server_name`**`-boot`).
- `addresses` - Адрес сервера.
- `id` - ID в системе TF. Соответствует ID адреса.
- `project_id` - ID проекта.
- `name` - наименование адреса.
- `address` - значение IP адреса.
- `version` - версия адреса (UNKNOWN/4/6).
- `status` - статус адреса (UNKNOWN/USED/RESERVED).
<!-- - `purpose` - назначение адреса. -->
<!-- - `type` - тип адреса (UNKNOWN/EXTERNAL/INTERNAL). -->
- `metadata` - дополнительные управляющие параметры.
- `status` - Статус сервера (ACTIVE/BUILD/ERROR..).
- `fqdn` - Имя домена.
- `tags` - Список тэгов.
- `affinity` - Данные об аффинити-группе
- `id` - ID аффинити-группы.
- `name` - Наименование группы
- `project_id` - ID проекта
- `policy` - политика группы (affinity/soft-affinity/anti-affinity/soft-anti-affinity)
- `condition` - Текущее состояние группы(статус)
## Импорт
Задаем конфигурацию, которая будет управлять импортом
```
resource "beecloud_server" "import_server" {}
```
Передаем ID существующего сервера, состояние которого хотим импортировать "75429417-2a18-435c-92fa-dae26dac4e3e":
```bash
$ terraform import beecloud_server.import_server 75429417-2a18-435c-92fa-dae26dac4e3e
```
Затем все параметры состояния записываем в конфигурацию и синхронизируем.
@@ -0,0 +1,56 @@
---
page_title: "beecloud: beecloud_volume"
description: "Manages beecloud Volumes"
---
# Ресурс: beecloud_volume
Создание и управление дисками проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/core/swagger/index.html).
Ресурс может быть создан/прочитан/обновлен/удален.
## Примеры конфигураций
```hcl
resource "beecloud_volume" "vlm" {
name = "vlm-added"
region_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
size = 34
type = "hdd"
}
output "beecloud_vlm" {
value = beecloud_volume.vlm
}
```
## Параметры
- `region_id` - (Обязательно) Данные о регионе.
- `name` - Наименование диска.
- `size` - Размер диска.
- `type` - Тип диска.
## В дополнение к приведенным выше параметрам, возвращаются следующие поля:
- `id` - ID TF. Соответствует ID диска.
- `volume_id` - ID диска.
- `project_id` - ID проекта.
- `is_boot` - Загрузочный/дополнительный (`true`, `false`).
- `attached_to` - ID сервера, к которому примонтирован.
- `last_updated` - Время последнего обновления ресурса.
## Импорт
Задаем конфигурацию, которая будет управлять импортом
```
resource "beecloud_volume" "import_volume" {}
```
Передаем ID существующего сервера, состояние которого хотим импортировать "75429417-2a18-435c-92fa-dae26dac4e3e":
```bash
$ terraform import beecloud_volume.import_volume 75429417-2a18-435c-92fa-dae26dac4e3e
```
@@ -0,0 +1,53 @@
---
page_title: "beecloud: beecloud_volume_bind"
description: "Manages beecloud Volumes (Attach/Detach to server)"
---
# Ресурс: beecloud_volume_bind
Управление дисками проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/core/swagger/index.html).
Примонтировать/отмонтировать диск к/от сервера.
Примонтировать диск к серверу:
```bash
$ terraform apply
```
Отмонтировать диск:
```bash
$ terraform destroy
```
## Примеры конфигураций
```hcl
resource "beecloud_volume_bind" "attach" {
volume_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
server_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
}
output "attach_beecloud_volume" {
value = beecloud_volume_bind.attach
}
```
## Параметры
- `volume_id` - ID диска.
- `server_id` - ID сервера.
## В дополнение к приведенным выше параметрам, возвращаются следующие поля:
- `id` - ID TF. Соответствует ID диска.
- `region_id` - ID региона.
- `project_id` - ID проекта.
- `name` - Наименование диска.
- `size` - Размер диска.
- `type` - Тип диска.
- `is_boot` - Загрузочный/дополнительный (`true`, `false`).
- `attached_to` - ID сервера, к которому примонтирован.
- `last_updated` - Время последнего обновления ресурса.
@@ -0,0 +1 @@
# Источник данных: vega_dns_records
@@ -0,0 +1,30 @@
# Источник данных: vega_dns_zones
Получение информации обо всех доступных зонах проекта
## Пример конфигурации
Получение всех зон
```hcl
data "vega_dns_zones" "all" {}
output "vega_affinity_groups_all" {
value = data.vega_dns_zones.all
}
```
<!--
## Возвращаемые поля
- `id` - Проект в Vega, к которому относятся сервера (ID/Slug).
- `affinity_groups` - Список аффинити-групп.
- `affinity_group_id` - ID в системе TF. Соответствует ID группы.
- `project_id` - ID проекта.
- `name` - Наименование сервера.
- `policy` - Политика группы (affinity/soft-affinity/anti-affinity/soft-anti-affinity).
- `region` - Данные о регионе.
- `id` - ID региона
- `slug` - Слаг региона.
- `name` - Наименование региона.
- `condition` - Состояние группы (статус) (готовность к использованию).
-->
@@ -0,0 +1,47 @@
---
page_title: "beecloud: beecloud_dns_record"
description: "Manages beecloud DNS records"
---
# Ресурс: beecloud_dns_record
Управление dns записями.
Создание и управление DNS записями проекта в beecloud. Больше информации в [swagger](https://beecloud.vimpelcom.ru/api/v1/dns/swagger/index.html#/).
Ресурс может быть создан/прочитан/обновлен/удален.
```hcl
// Получение списка доступных зон
data "beecloud_dns_zones" "local" {}
locals {
// uuid первой зоны из списка
dns_zone_id = data.beecloud_dns_zones.local.dns_zones.0.zone_id
}
resource "beecloud_dns_record" "my-name" {
name = "service1"
ttl = 600
type = "CNAME"
zone_id = local.dns_zone_id
data = ["10.0.0.2"]
tags = ["tag1", "tag2"]
}
```
## Аргументы
- `zone_id` - (Обязательно) ID DNS зоны.
- `name` - (Обязательно) Наименование.
- `type` - (Обязательно) Тип записи `A`, `AAAA`, `CNAME`,`PTR`.
- `data` - (Обязательно)
- `ttl` - (Опционально) По умолчанию: 600.
- `tags` - (Опционально) Набор тегов.
## В дополнение к приведенным выше аргументам, возвращаются следующие параметры:
- `id` - ID в системе TF. Соответствует ID адреса.
- `project_id` - ID проекта.
- `server_id` - ID сервера, к которому относится запись.
<!-- - `is_disabled` - -->
<!-- - `is_system` - -->
+80
View File
@@ -0,0 +1,80 @@
---
page_title: "Provider: BeeCloud"
description: |-
The BeeCloud provider is used to manage BeeCloud resources. The provider needs to be configured with the proper credentials before it can be used.
---
# BeeCloud Provider
BeeCloud провайдер используется для управления ресурсами облака.
Перед использованием провайдер должен быть настроен.
## Terraform v.1.3.7 and later
```
terraform {
required_providers {
beecloud = {
source = "console.cloud.dfcloud.ru/beeline/beecloud"
}
}
}
```
## Пример конфигурации
```
terraform {
required_providers {
beecloud = {
source = "console.cloud.dfcloud.ru/beeline/beecloud"
}
}
}
provider "beecloud" {
project = "my-project"
token = "eafJKHnldkfbs.....sLbldfblhb"
}
```
## Аутентификация и Конфигурация
Конфигурация провайдера BeeCloud может быть получена из нескольких источников, которые применяются в следующем порядке:
* Параметры из конфигурации провайдера
* Из переменных среды
* Файлы общей конфигурации
### Конфигурация провайдера
Используя сервисный токен проекта:
> Получить JWT токен(роль DevOps-инженер) https://console.cloud.dfcloud.ru/projects/{PROJECT}/service-token
```hcl
provider "beecloud" {
token = "eafJKHnldkfbs.....sLbldfblhb"
project = "my-project"
}
```
### Переменные окружения
```hcl
provider "beecloud" {}
```
Используя сервисный токен проекта:
```sh
$ export BEECLOUD_TOKEN="eafJKHnldkfbs.....sLbldfblhb"
$ export BEECLOUD_PROJECT="my-project"
```
## Параметры конфигурации
| Настройка | В провайдере | Переменная окружения |
|------------------------------------------------------------------------|--------------|----------------------|
| Идентификатор проекта | project | BEECLOUD_PROJECT |
| Сервисный токен проекта | token | BEECLOUD_TOKEN |
| URL платформы значение по умолчанию "https://console.cloud.dfcloud.ru" | url | BEECLOUD_API |