Create resource bservice_group page

stSolo
2022-06-07 16:31:46 +03:00
parent 1bc725bd52
commit 77f3782164

@@ -0,0 +1,104 @@
Функция доступна в провайдере версии 2.3 и выше.
_Resource_ функция **decort_bservice_group** служит для управления группой базового (basic service). Базовый сервис служит шаблоном для создания вычислительных мощностей (computes) по заданным правилам. Все вычислительные мощности объединяются в вычислительные группы, с помощью которых мощностями можно управлять.
## Аргументы
После создания ресурса, необходимо **обязательно** в файле .tf, в котором описана группа, заполнить поле compgroup_id, чтобы продолжить работу с группами.
_Resource_ функция **decort_bservice_group** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | :---: | --- |
| service_id | int | :heavy_check_mark: | ID сервиса, на базе которого будет создана группа<br/>Используется при создании |
| compgroup_name | string | :heavy_check_mark: | Название вычислительной группы<br/>Используется при создании и редактировании |
| comp_count | int | :heavy_check_mark: | Кол-во мощностей в группе<br/>Используется при создании и редактировании<br/>При редактировании используется вместе с полем mode |
| cpu | int | :heavy_check_mark: | Кол-во используемых ядер в каждой мощности<br/>Используется при создании и редактировании |
| ram | int | :heavy_check_mark: | Размер RAM, МБ, каждой мощности<br/>Используется при создании и редактировании |
| disk | int | :heavy_check_mark: | Размер диска, ГБ, каждой мощности<br/>Используется при создании и редактировании |
| image_id | int | :heavy_check_mark: | ID образа каждой мощности<br/>Используется при создании |
| driver | string | :heavy_check_mark: | Драйвер<br/>Используется при создании |
| role | string | :x: | Роль(тег) группы<br/>Используется при создании и редактировании |
| timeout_start | int | :x: | Таймаут начала работы групп<br/>Используется при создании |
| vinses | []int | :x: | Список ID виртуальных сетей<br/>Используется либо vinses, либо extnets<br/>Используется при создании и редактировании |
| extnets | []int | :x: | Список ID внешних сетей<br/>Используется либо vinses, либо extnets<br/>Используется при создании и редактировании |
| start | bool | :x: | Флаг запуска групп<br/>Используется при редактировании<br/>По-умолчанию: false |
| force_stop | bool | :x: | Флаг принудительной остановки групп<br/>Используется при редактировании<br/>Используется вместе с флагом start |
| mode | string | :x: | Режим изменения числа групп<br/>Используется при редактировании<br/>Возможные значения: RELATIVE и ABSOLUTE |
| force_update | bool | :x: | Флаг принудительного обновления мощностей<br/>Используется при редактировании<br/>Используется при изменении полей: ram, disk, compgroup_name, cpu, role |
| remove_computes | []int | :x: | Список id вычислительных мощностей для удаления<br/>Используется при редактировании |
| parents | []int | :x: | Список ID групп-родителей<br/>Используется при редактировании |
| compgroup_id | id | :x: | ID вычислительной группы<br/>Поле является **обязательным** при редактировании группы<br/>Так же применяется для формирования .tfstate - файла, при наличии группы в платформе |
## Возвращаемые значения
В случае успешного выполнения _data source_ функция **decort_bservice_group** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
| Параметр | Тип | Описание |
| --- | --- | --- |
| account_id | int | ID аккаунта |
| account_name | string | Название аккаунта |
| computes | []Struct{<br/>id int<br/>ip_addresses []string<br/>name string<br/>os_users []Struct{<br/>login string<br/>password string<br/>} <br/>} | Вычислительные мощности<br/>ID вычислительной мощности<br/>Список IP-адресов<br/>Название вычислительной мощности<br/>Пользователи системы<br/>Логин пользователя<br/>Пароль пользователя<br/>&nbsp;<br/>&nbsp;<br/> |
| compgroup_id | int | ID вычислительной группы |
| compgroup_name | string | Название вычислительной группы |
| consistency | bool | Флаг, последовательность |
| cpu | int | Кол-во ядер |
| created_by | string | Кем создан сервис |
| created_time | int | Время создания сервиса |
| deleted_by | string | Кем удален сервис |
| deleted_time | int | Время удаления сервиса |
| disk | int | Кол-во используемого места на дисках, ГБ |
| driver | string | Используемый драйвер |
| extnets | []int | Список ID внешних сетей |
| gid | int | Grid id |
| guid | int | Внутренний ID группы |
| image_id | int | ID образа, который используется в вычислительной группе |
| milestones | int | Вехи |
| service_id | int | ID сервиса |
| parents | []int | Список родительских групп |
| ram | int | Кол-во RAM, МБ |
| rg_id | int | ID ресурсной группы |
| rg_name | string | Название ресурсной группы |
| role | string | Роль(тег) группы |
| sep_id | int | ID sep |
| seq_no | int | Номер последовательности |
| status | string | Статус сервиса |
| tech_status | string | Технический статус сервиса |
| timeout_start | int | Таймаут перед стартом |
| updated_by | string | Кем сервис был обновлен |
| updated_time | int | Время последнего обновления |
| vinses | []int | Список ID виртуальных сетей |
## Пример использования
Пример вызова _resource_ функции **decort_bservice**:
```terraform
resource "decort_bservice_group" "bsg" {
service_id = 444444
compgroup_name = "tf_group_rename"
#применяется при редактировании группы, либо при создании .tfstate - файла, если группа имеется в плафторме
#compgroup_id = 33333
comp_count = 1
cpu = 2
ram = 256
disk = 11
image_id = 2222
driver = "kvm_x86"
#extnets = [1111]
vinses = [1111, 2222]
#timeout_start = 0
#role = "tf_test_changed"
#parents = [2222]
#force_update = true
#start = false
#force_stop = false
#remove_computes = [31111]
#mode = "RELATIVE"
}
# once the above directive completes, bservice group will be accessible
# as decort_bservice_group.bsg
```
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://github.com/rudecs/terraform-provider-decort/wiki/05.-%D0%98%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-Terraform-%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B9%D0%B4%D0%B5%D1%80%D0%B0-DECORT.)).
После успешного завершения такого вызова **decort_bservice_group** в переменной `decort_bservice_group.bsg` будут сохранены возвращаемые значения.