You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decort-ansible/wiki/5.2.6/модуль-decort_bservice.md

13 KiB

03.08 Модуль 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_disk предназначен для управления basic сервисами, в которых находятся группы виртуальных серверов. Данный модуль позволяет:

  • Создавать Basic Service.
  • Удалять Basic Service.
  • Включать/выключать Basic Service.
  • Запрашивать информацию о Basic Service.

Параметры модуля decort_bservice

Ниже в алфавитном порядке приведен полный список параметров для модуля decort_bservice. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на Вашем Ansible-сервере, можно получить командой: ansible-doc -t module decort_bservice

Параметр Тип, допустимые значения Описание
account_id (int) Уникальный целочисленный идентификатор учётной записи (account), которой принадлежит данный диск. При идентификации диска по имени (см. параметр name) должно быть задан либо идентификатор, либо имя учётной записи (см. параметр account_name). Если одновременно заданы и account_id, и account_name, то account_name игнорируется.
account_name (string) Имя учётной записи (account), которой принадлежит данный диск. При идентификации диска по имени (см. параметр name) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр account_id). Если одновременно заданы и account_id, и account_name, то account_name игнорируется.
annotation (string) Текстовое описание диска. Данный аргумент является опциональным и учитывается только при создании диска, а при всех прочих операциях игнорируется.
app_id (string) Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_APP_ID.
app_secret (string) Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения DECORT_APP_SECRET.
authenticator Значения:
legacy
oauth2
jwt <- default
Режим аутентификации при подключении к контроллеру облачной платформы DECORT.
controller_url (string) URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным.
jwt (string) JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме authenticator: jwt
Данный параметр является обязательным для указанного режима.
Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook.
Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения DECORT_JWT.
oauth2_url (string) URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_OAUTH2_URL.
state Значения: absent, disabled, enabled, present, check Состояние Basic сервиса.
started (bool) Параметр, определяющий состояние добавленных виртуальных серверов в Basic Service. Запускать их, или нет. По умолчанию: False.
name (string) Имя, с которым будет создан Basic сервис. Также используется для поиска ID Basic сервиса.
sshuser (string) Имя пользователя, который будет создан на всех виртуальных серверах в группе basic сервиса. Используется в паре с sshkey.
sshkey (string) SSH ключ, который будет загружен на все виртуальные сервера в группе basic сервиса. Используется в паре с sshuser.
id (int) Уникальный целочисленный идентификатор Basic сервиса, используется для поиска, взаимодействия и удаления Basic сервиса.
rg_id (int) Уникальный целочисленный идентификатор ресурсной группы, в которой будет работать модуль.
rg_name (string) Имя ресурсной группы, в которой будет работать модуль.
description (string) Описание. По умолчанию: Created by decort ansible module
verify_ssl (bool)
True <- default
False
Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах.
workflow_callback (string) URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения.
Данный параметр является опциональным.
Функциональность callbacks в текущей версии модуля не реализована.
workflow_context (string) Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к workflow_callback URL.
Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов workflow_callback данные со своим внутренним состоянием и отслеживать инициированные им задачи.
Параметр является опциональным и имеет значение только при условии, что также задан workflow_callback.
Функциональность callbacks в текущей версии модуля не реализована.

Возвращаемые значения модуля decort_bservice

Модуль decort_bservice возвращает информацию о диске в виде словаря facts со следующими ключами:

Ключ Тип данных Описание
id int Уникальный целочисленный идентификатор данного Basic сервиса.
name string Имя Basic сервиса.
techStatus string Технический статус Basic сервиса.
state string Текущий статус Basic сервиса. Корректные состояния:MODELED, DISABLING, ENABLING, DELETING, DELETED, "DESTROYING, DESTROYED, RESTORYNG, RECONFIGURING
rg_id int Уникальный целочисленный идентификатор ресурсной группы, в котором находится Basic сервис.
account_id int Уникальный целочисленный идентификатор пользователя, к которому привязан данный Basic сервис.
groupsName string Имена групп виртуальных серверов, которые находятся в данном Basic сервисе.
groupsIds string Уникальные целочисленные идентификаторы групп виртуальных серверов, которые находятся в данном Basic сервисе.

Пример использования модуля decort_bservice

Данный пример создаёт Basic сервис с названием databases.

  - name: Manage bservice at RG
    decort_bservice:
      account_id: 98
      verify_ssl: false
      authenticator: jwt
      jwt: "{{ my_jwt.jwt }}"
      controller_url: "https://ds1.digitalenergy.online"
      rg_id: 1629
      state: present
      name: databases
      started: True
    register: db_bservice

Данный пример удаляет Basic сервис с названием databases.

  - name: Manage bservice at RG
    decort_bservice:
      account_id: 98
      verify_ssl: false
      authenticator: jwt
      jwt: "{{ my_jwt.jwt }}"
      controller_url: "https://ds1.digitalenergy.online"
      rg_id: 1629
      state: absent
      name: databases
      started: False
    register: db_bservice