# Модуль 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 | Значения: `absent`, `disabled`, `enabled`, `present`, `check`.
Default: `present`| Целевое состояние базовой службы. Значения `present` и `enabled` равнозначны.| | started | (bool)
Default: `true` | Параметр, определяющий состояние добавленных виртуальных серверов в Basic Service. Запускать их, или нет. | | name | (string) | Имя базовой службы. Данный параметр является обязательным при создании базовой службы и при изменении если не задан `id`. | | sshuser | (string) | Имя пользователя, который будет создан на всех виртуальных серверах базовой службы. Используется в паре с `sshkey`. | | sshkey | (string) | SSH ключ, который будет загружен на все виртуальные сервера базовой службы. Используется в паре с `sshuser`. | | id | (int) | Уникальный целочисленный идентификатор базовой службы. Используется для поиска, изменения и удаления базовой службы. | | rg_id | (int) | Уникальный целочисленный идентификатор ресурсной группы базовой службы. | | rg_name | (string) | Имя ресурсной группы базовой службы. | ## Возвращаемые значения модуля 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 ```