|
|
# Модуль decort_bservice
|
|
|
|
|
|
## Обзор модуля decort_bservice
|
|
|
|
|
|
Базовая служба (Basic Service) это несколько групп виртуальных серверов (compute), создаваемых и управляемых как единое целое.
|
|
|
|
|
|
Все compute(s) в группе имеют одни и те же характеристики (cpu/ram/boot disk size/OS image + сетевые подключения). Для разных групп эти характеристики могут быть разными.
|
|
|
|
|
|
Группы в составе Basic Service могут иметь отношения parent-child с другими группами. Наличие таких отношений определяет последовательность запуска групп ("сначала parents").
|
|
|
|
|
|
На основе ресурсов, предоставляемых и управляемых через Basic Service, могут создаваться другие сервисы.
|
|
|
|
|
|
`Для взаимодействия с группами виртуальных серверов используется модуль decort_group.`
|
|
|
|
|
|
Модуль decort_bservice предназначен для управления базовыми службами, в которых находятся группы виртуальных серверов.
|
|
|
Данный модуль позволяет:
|
|
|
- Создавать Basic Service
|
|
|
- Удалять Basic Service (безвозвратно).
|
|
|
- Включать/выключать Basic Service
|
|
|
- Запускать Basic Service
|
|
|
- Запрашивать информацию о Basic Service.
|
|
|
|
|
|
|
|
|
## Параметры модуля decort_bservice
|
|
|
|
|
|
Ниже в алфавитном порядке приведен полный список параметров для модуля decort_bservice. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на Вашем Ansible-сервере, можно получить командой:
|
|
|
`ansible-doc -t module decort_bservice`
|
|
|
|
|
|
|
|
|
| Параметр | Тип, допустимые значения | Описание |
|
|
|
| ------ | ------ | ------ |
|
|
|
| account_id | (int) | Уникальный целочисленный идентификатор аккаунта, которому принадлежит ресурсная группа. При идентификации базовой службы и ресурсной группы по именам (см. параметры `name` и `rg_name`) должен быть задан либо идентификатор, либо имя аккаунта (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется.|
|
|
|
|account_name | (string) | Имя аккаунта, которому принадлежит ресурсная группа. При идентификации базовой службы и ресурсной группы по именам (см. параметры `name` и `rg_name`) должен быть задан либо идентификатор (см. `account_id`), либо имя аккаунта. Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
|
|
|
| app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_APP_ID`.|
|
|
|
|app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения `DECORT_APP_SECRET`.|
|
|
|
| authenticator | Значения:<br/>`oauth2`<br/>`jwt` | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. Данный параметр является обязательным. |
|
|
|
|controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должна быть создана (или уже существует) данная базовая служба. Данный параметр является обязательным.|
|
|
|
| jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt`<br/>Данный параметр является обязательным для указанного режима.<br/>Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в _playbook_.<br/>Если этот параметр не определен в _playbook_, то модуль будет использовать значение переменной окружения `DECORT_JWT`. |
|
|
|
|oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`.|
|
|
|
|state | Значения: `absent`, `disabled`, `enabled`, `present`, `check`. <br> Default: `present`| Целевое состояние базовой службы. Значения `present` и `enabled` равнозначны.|
|
|
|
| started | (bool) <br> Default: `true` | Параметр, определяющий состояние добавленных виртуальных серверов в Basic Service. Запускать их, или нет. |
|
|
|
| name | (string) | Имя базовой службы. Данный параметр является обязательным при создании базовой службы и при изменении если не задан `id`. |
|
|
|
| sshuser | (string) | Имя пользователя, который будет создан на всех виртуальных серверах базовой службы. Используется в паре с `sshkey`. |
|
|
|
| sshkey | (string) | SSH ключ, который будет загружен на все виртуальные сервера базовой службы. Используется в паре с `sshuser`. |
|
|
|
| id | (int) | Уникальный целочисленный идентификатор базовой службы. Используется для поиска, изменения и удаления базовой службы. |
|
|
|
| rg_id | (int) | Уникальный целочисленный идентификатор ресурсной группы базовой службы. |
|
|
|
| rg_name | (string) | Имя ресурсной группы базовой службы. |
|
|
|
| verify_ssl | (bool)<br/>Default: `true` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.<br/>Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
|
|
|
|
|
|
## Возвращаемые значения модуля decort_bservice
|
|
|
|
|
|
Модуль decort_bservice возвращает информацию о базовой службе в виде словаря facts со следующими ключами:
|
|
|
|
|
|
|
|
|
|Ключ | Тип данных | Описание|
|
|
|
| ------ | ------ | ------ |
|
|
|
|id | int | Уникальный целочисленный идентификатор базовой службы.|
|
|
|
|name | string | Имя базовой службы.|
|
|
|
| techStatus | string | Технический статус базовой службы. |
|
|
|
|state | string | Статус базовой службы.|
|
|
|
| rg_id | int | Уникальный целочисленный идентификатор ресурсной группы, в которой находится базовая служба.|
|
|
|
| account_id | int | Уникальный целочисленный идентификатор аккаунта, в котором находится ресурсная группа.|
|
|
|
| groups | list | Список словарей с информацией о группах базовой службы.|
|
|
|
|
|
|
|
|
|
## Пример использования модуля decort_bservice
|
|
|
|
|
|
Данный пример создаёт базовую службу с именем databases.
|
|
|
|
|
|
```
|
|
|
- name: Create Basic Service
|
|
|
decort_bservice:
|
|
|
authenticator: jwt
|
|
|
controller_url: "{{ controller_url }}"
|
|
|
jwt: "{{ auth_token }}"
|
|
|
name: databases
|
|
|
rg_id: "{{ rg_id }}"
|
|
|
register: db_bservice
|
|
|
```
|
|
|
|
|
|
Данный пример удаляет базовую службу с названием databases.
|
|
|
```
|
|
|
- name: Delete Basic Service
|
|
|
decort_bservice:
|
|
|
authenticator: jwt
|
|
|
controller_url: "{{ controller_url }}"
|
|
|
jwt: "{{ auth_token }}"
|
|
|
state: absent
|
|
|
name: databases
|
|
|
rg_id: "{{ rg_id }}"
|
|
|
register: db_bservice
|
|
|
``` |