16 KiB
Модуль 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 (за исключением общих параметров):
| Параметр | Тип, допустимые значения | Описание |
|---|---|---|
| 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 игнорируется. |
| state | (str) Значения: absentdisabledenabledpresentstartedstopped |
Целевое состояние базовой службы.absent - безвозвратно удалена.disabled - выключена. Если включена, то будет выключена. Если удалена в корзину, то будет восстановлена из корзины и выключена.enabled - включена. Если выключена, то будет включена. Если удалена в корзину, то будет восстановлена из корзины и включена.present - существует и не удалена. Если удалена в корзину, то будет восстановлена из корзины.started - запущена. Если остановлена, то будет запущена. Если удалена в корзину, то будет восстановлена из корзины и запущена.stopped - остановлена. Если запущена, то будет остановлена. Если удалена в корзину, то будет восстановлена из корзины и остановлена.Значение по умолчанию, если объект не найден или безвозвратно удалён: present |
| name | (string) | Имя базовой службы. Данный параметр является обязательным при создании базовой службы и при изменении если не задан id. |
| sshuser | (string) | Имя пользователя, который будет создан на всех виртуальных серверах базовой службы. Используется в паре с sshkey. |
| sshkey | (string) | SSH ключ, который будет загружен на все виртуальные сервера базовой службы. Используется в паре с sshuser. |
| id | (int) | Уникальный целочисленный идентификатор базовой службы. Используется для поиска, изменения и удаления базовой службы. |
| rg_id | (int) | Уникальный целочисленный идентификатор ресурсной группы базовой службы. |
| rg_name | (string) | Имя ресурсной группы базовой службы. |
| zone_id | (int) | Идентификатор зоны. |
Возвращаемые значения модуля decort_bservice
Модуль decort_bservice возвращает информацию о базовой службе в виде словаря facts со следующими ключами:
| Ключ |
Тип
данных |
Описание | |||||
|---|---|---|---|---|---|---|---|
| account_id | int | Уникальный целочисленный идентификатор аккаунта, в котором находится ресурсная группа. | |||||
| account_name | str | Имя аккаунта. | |||||
| base_domain | str | ||||||
| cpu_count_total | int | Количество виртуальных процессоров. | |||||
| created_by | str | Имя пользователя, создавшего базовую службу. | |||||
| created_timestamp | int | Unix-время создания. | |||||
| deleted_by | str | Имя пользователя, удалившего базовую службу. | |||||
| deleted_timestamp | int | Unix-время удаления. | |||||
| disk_size_total_gb | int | Объём дисков в ГБ. | |||||
| grid_id | int | Идентификатор ЦОДа. | |||||
| groups | list[dict[str, any]] | Список словарей, описывающих группы базовой службы. | |||||
| id | int | Уникальный целочисленный идентификатор группы. | |||||
| name | str | Имя группы. | |||||
| status | str | Статус группы. | |||||
| tech_status | str | Технический статус группы. | |||||
| consistency | bool | ||||||
| vm_count | int | Количество ВМ. | |||||
| guid | int | Идентификатор. | |||||
| id | int | Уникальный целочисленный идентификатор базовой службы. | |||||
| milestones | int | Количество событий. | |||||
| name | str | Имя базовой службы. | |||||
| parent_service_id | int | ||||||
| parent_service_type | str | ||||||
| ram_size_total_mb | int | Объём оперативной памяти в МБ. | |||||
| rg_id | int | Уникальный целочисленный идентификатор ресурсной группы, в которой находится базовая служба | |||||
| rg_name | str | Имя ресурсной группы. | |||||
| snapshots | list[dict[str, any]] | Снимки. | |||||
| timestamp | int | Unix-время создания. | |||||
| label | str | Имя снимка. | |||||
| valid | bool | ||||||
| guid | str | Идентификатор снимка. | |||||
| ssh_public_key | str | SSH ключ. | |||||
| ssh_user_name | str | SSH имя пользовотеля. | |||||
| status | str | Статус базовой службы. | |||||
| tech_status | str | Технический статус базовой службы. | |||||
| updated_by | str | Имя пользователя, обновившего базовую службу. | |||||
| updated_timestamp | int | Unix-время обновления. | |||||
| user_managed | bool | Управляется ли пользователем. | |||||
| vms | list[dict[str, any]] | Список, описывающий ВМ, к которым подключена базовая служба. | |||||
| id | int | Идентификатор ВМ. | |||||
| name | str | Имя ВМ. | |||||
| bsgroup_id | int | Идентификатор группы базовой службы. | |||||
| arch | str | Архитектура ВМ. | |||||
| account_id | int | Идентификатор аккаунта. | |||||
| rg_id | int | Идентификатор ресурсной группы. | |||||
| status | str | Статус ВМ. | |||||
| tech_status | str | Технический статус ВМ. | |||||
| node_id | int | None | Идентификатор физического узла. | |||||
| bsgroup_name | str | Имя группы базовой службы. | |||||
| bsgroup_role | str | Тег роли. | |||||
| zone_id | int | Идентификатор зоны. | |||||
Пример использования модуля 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