diff --git a/07.18-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса.md b/07.18-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса.md new file mode 100644 index 0000000..0723116 --- /dev/null +++ b/07.18-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса.md @@ -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 сервиса, на базе которого будет создана группа
Используется при создании | +| compgroup_name | string | :heavy_check_mark: | Название вычислительной группы
Используется при создании и редактировании | +| comp_count | int | :heavy_check_mark: | Кол-во мощностей в группе
Используется при создании и редактировании
При редактировании используется вместе с полем mode | +| cpu | int | :heavy_check_mark: | Кол-во используемых ядер в каждой мощности
Используется при создании и редактировании | +| ram | int | :heavy_check_mark: | Размер RAM, МБ, каждой мощности
Используется при создании и редактировании | +| disk | int | :heavy_check_mark: | Размер диска, ГБ, каждой мощности
Используется при создании и редактировании | +| image_id | int | :heavy_check_mark: | ID образа каждой мощности
Используется при создании | +| driver | string | :heavy_check_mark: | Драйвер
Используется при создании | +| role | string | :x: | Роль(тег) группы
Используется при создании и редактировании | +| timeout_start | int | :x: | Таймаут начала работы групп
Используется при создании | +| vinses | []int | :x: | Список ID виртуальных сетей
Используется либо vinses, либо extnets
Используется при создании и редактировании | +| extnets | []int | :x: | Список ID внешних сетей
Используется либо vinses, либо extnets
Используется при создании и редактировании | +| start | bool | :x: | Флаг запуска групп
Используется при редактировании
По-умолчанию: false | +| force_stop | bool | :x: | Флаг принудительной остановки групп
Используется при редактировании
Используется вместе с флагом start | +| mode | string | :x: | Режим изменения числа групп
Используется при редактировании
Возможные значения: RELATIVE и ABSOLUTE | +| force_update | bool | :x: | Флаг принудительного обновления мощностей
Используется при редактировании
Используется при изменении полей: ram, disk, compgroup_name, cpu, role | +| remove_computes | []int | :x: | Список id вычислительных мощностей для удаления
Используется при редактировании | +| parents | []int | :x: | Список ID групп-родителей
Используется при редактировании | +| compgroup_id | id | :x: | ID вычислительной группы
Поле является **обязательным** при редактировании группы
Так же применяется для формирования .tfstate - файла, при наличии группы в платформе | + +## Возвращаемые значения +В случае успешного выполнения _data source_ функция **decort_bservice_group** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров: + +| Параметр | Тип | Описание | +| --- | --- | --- | +| account_id | int | ID аккаунта | +| account_name | string | Название аккаунта | +| computes | []Struct{
id int
ip_addresses []string
name string
os_users []Struct{
login string
password string
}
} | Вычислительные мощности
ID вычислительной мощности
Список IP-адресов
Название вычислительной мощности
Пользователи системы
Логин пользователя
Пароль пользователя
 
 
| +| 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` будут сохранены возвращаемые значения. \ No newline at end of file