9.8 KiB
Функция доступна в провайдере версии 2.3 и выше.
Resource функция decort_bservice служит для управления базовым сервисом (basic service). Базовый сервис служит шаблоном для создания вычислительных мощностей (computes) по заданным правилам.
Аргументы
Resource функция decort_bservice принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
|---|---|---|---|
| service_name | string | ✔️ | Название сервиса Используется при создании сервиса |
| rg_id | int | ✔️ | ID ресурсной группы Используется при создании сервиса |
| ssh_key | string | ❌ | Ключ пользователя для подключения по ssh Используется при создании сервиса |
| ssh_user | string | ❌ | Имя пользователя для подключения по ssh Используется при создании сервиса |
| enable | bool | ❌ | Флаг доступности Используется при редактировании сервиса по умолчанию: false |
| start | bool | ❌ | Флаг старта/остановки сервиса Используется при редактировании по умолчанию: false |
| snapshots | Struct{ label string rollback bool } |
❌ | Снимки состояния сервиса Название снимка. Обязательное поле для создания снимка Восстановление по этому снимку. true - для активации |
| restore | bool | ❌ | Флаг восстановления сервиса Используется при редактировании по умолчанию: true |
| permanently | bool | ❌ | Флаг моментального удаления сервиса Если true - сервис и все его зависимости мгновенно удаляется из платформы без возможности восстановления Если false - сервис попадает в "корзину", из которой его можно восстановить Используется при удалении по умолчанию: false |
Возвращаемые значения
В случае успешного выполнения data source функция decort_bservice возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
| Параметр | Тип | Описание |
|---|---|---|
| account_id | int | ID аккаунта |
| account_name | string | Название аккаунта |
| base_domain | string | Базовый домен |
| computes | []Struct см. ниже | Список компьютов |
| cpu_total | int | Кол-во ядер |
| created_by | string | Кем создан сервис |
| created_time | int | Время создания сервиса |
| deleted_by | string | Кем удален сервис |
| deleted_time | int | Время удаления сервиса |
| disk_total | int | Кол-во используемого места на дисках, ГБ |
| gid | int | Grid id |
| groups | []Struct см. ниже | Список вычислительных групп сервиса |
| groups_name | []string | Список вычислительных групп поименно |
| guid | int | Внутренний ID сервиса |
| milestones | int | Вехи |
| service_id | int | ID сервиса |
| service_name | string | Название сервиса |
| parent_srv_id | int | ID родительского сервисе |
| parent_srv_name | string | Название родительского сервиса |
| ram_total | int | Общее кол-во RAM, МБ |
| rg_id | int | ID ресурсной группы |
| rg_name | string | Название ресурсной группы |
| snapshots | []Struct{ guid string label string timestamp int valid bool } |
Список снимков состояний guid снимка Название снимка Время создания снимка Флаг, валидность снимка состояния |
| ssh_key | string | Ключ пользователя для подключения по ssh |
| ssh_user | string | Имя пользователя для подключения по ssh |
| status | string | Статус сервиса |
| tech_status | string | Технический статус сервиса |
| updated_by | string | Кем сервис был обновлен |
| updated_time | int | Время последнего обновления |
| user_managed | bool | Флаг, управляется ли пользователем |
Описание структуры compute
| Параметр | Тип | Описание |
|---|---|---|
| account_id | int | ID аккаунта |
| architecture | string | Архитектура |
| compgroup_id | int | ID группы |
| compgroup_name | string | Наименование группы |
| compgroup_role | string | Роль компьюта в группе |
| id | int | ID компьюта |
| name | string | Наименование компьюта |
| rg_id | int | ID ресурсной группы |
| stack_id | int | Stack ID |
| status | string | Статус |
| tech_status | string | Тех. статус |
Описание структуры group
| Параметр | Тип | Описание |
|---|---|---|
| computes | int | Кол-во компьютов |
| consistency | bool | Последовательность |
| id | int | ID группы |
| name | string | Наименование группы |
| status | string | Статус |
| tech_status | string | Тех. статус |
Пример использования
Пример вызова resource функции decort_bservice:
resource "decort_bservice" "b" {
#имя сервиса
#обязательный параметр
#тип - строка
#используется при создании
service_name = "my_test_bservice_sn"
#id ресурсной группы
#обязательный параметр
#тип - целое число
#используется при создании
rg_id = 11111
#доступность сервиса
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#по умолчанию - false
#enable = true
#снимок состояния
#опциональный параметр
#тип - объект
#используется при обновлении
#может быть несколько в ресурсе
#snapshots {
#имя снимка состояния
#обязательный параметр
#тип - строка
#label = "test_snapshot"
#восстановление сервиса из снимка состояния
#опциональный параметр
#тип - булев
#по умолчанию - false
#восстановление происходит только при переключении с false на true
#rollback = false
#}
#старт сервиса
#опциональный параметр
#тип - булев
#используется при создании и обновлении
#по умолчанию - false
#start = false
#восстановление сервиса после удаления
#опциональный параметр
#тип - булев
#используется при обновлении
#по умолчанию - false
#restore = true
#мгновенное удаление сервиса без права восстановления
#опциональный параметр
#тип - булев
#используется при удалении
#по умолчанию - false
#permanently = true
#id сервиса, позволяет сформировать .tfstate, если сервис есть на платформе
#опциональный параметр
#тип - булев
#используется при создании
#service_id = 11111
}
Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий раздел).
После успешного завершения такого вызова decort_bservice в переменной decort_bservice.b будут сохранены возвращаемые значения.