Перенос ветки для демо1 из док-ии Vega
This commit is contained in:
@@ -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` - -->
|
||||
@@ -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 |
|
||||
Reference in New Issue
Block a user