# Модуль 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** (за исключением [общих параметров](./введение.md#общие-параметры-модулей)): | Параметр | Тип, допустимые значения | Описание | | ------ | ------ | ------ | | 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)
Значения:
`absent`
`disabled`
`enabled`
`present`
`started`
`stopped`| Целевое состояние базовой службы.
`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 ```