diff --git a/01.-Введение.md b/01.-Введение.md
deleted file mode 100644
index 991e0d0..0000000
--- a/01.-Введение.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Модули Ansible для управления облачными ресурсами в платформе DECORT
-1
-## Введение
-Настоящая документация содержит руководство пользователя по библиотеке модулей _decort_ для Ansible. С помощью этих модулей вы сможете управлять созданием и конфигурированием облачных ресурсов в платформе DECORT (Digital Energy Cloud Orchestration Technology).
-
-В состав библиотеки модулей DECORT для Ansible на текущий момент входят:
-* _decort_kvmvm_ - модуль для управления жизненным циклом виртуальных серверов (экземпляров _compute_). Платформа DECORT поддерживает виртуальные серверы на базе технологии KVM и аппаратных архитектур Intel x86 и IBM PowerPC.
-* _decort_disk_ - модуль для управления жизненным циклом дисковых ресурсов, которые можно подключать к экземплярам _compute_.
-* _decort_rg_ - модуль для управления жизненным циклом ресурсных групп (Resource Groups, RG).
-* _decort_vins_ - модуль для управления жизненным циклом виртуальных сетевых сегментов (Virtual Network Segment, ViNS). Экземпляры _compute_ (напр., виртуальные серверы) могут быть подключены к нескольким виртуальным сетевым сегментам.
-* _decort_pfw_ - модуль для настройки правил трансляции сетевых портов виртуальных серверов.
-* _decort_osimage_ - модуль для получения идентификатора образа ОС, который можно использовать при массовом создании экземпляров _compute_ (напр., виртуальных серверов) для ускорения работы _playbook_-а. Подробности см. в разделе [«Как получить идентификатор образа ОС»]().
-* _decort_account_ - модуль для получения информации об учётной записи (account), в рамках которой планирует работать данный пользователь.
-* _decort_jwt_ - модуль для получения авторизационного токена (JWT - JSON Web Token), который можно использовать при массовом создании экземпляров _compute_ для ускорения работы _playbook_-а. Подробности см. в соответствующем [разделе]().
-
-Если вы хорошо знакомы с системой Ansible и хотите максимально быстро начать использовать виртуальные серверы на платформе DECORT в своих Ansible playbooks, то можете сразу перейти к разделу [«Короче, Склифосовский!»](). Если у вас все же возникнут вопросы по облачной платформе DECORT и порядку авторизации в ней, то обратитесь к главе [«Обзор облачной платформы DECORT»](), разделы «Основные понятия» и «Способы авторизации».
-
-Если вы только начинаете использовать систему Ansible и облачную платформу DECORT, то рекомендуем вам начать с главы [«Обзор облачной платформы DECORT»](), после чего ознакомиться с практическими примерами в главе
-[«Типовые сценарии и примеры использования модулей decort»]().
-
-
-
-
-
diff --git a/02.-Короче,-Склифософский!.md b/02.-Короче,-Склифософский!.md
deleted file mode 100644
index 1de5de5..0000000
--- a/02.-Короче,-Склифософский!.md
+++ /dev/null
@@ -1,117 +0,0 @@
-# «Короче, Склифосовский!»
-Данный раздел предназначен для тех, кто хорошо знаком с системой Ansible, а также имеет представление об основных концепциях и способах авторизации в облачной платформе DECORT.
-
-Ниже приведен пример Ansible playbook, который создает виртуальный сервер, дополняет _in-memory inventory_ информацией о только что созданном сервере и выполняет простейшую команду на уровне его гостевой ОС.
-
-```
----
-- hosts: ansible_master
- tasks:
- - name: obtain access token to streamline further module's execution
- decort_jwt:
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- validity: 1200
- delegate_to: localhost
- register: token
-
- - name: obtain OS image to use for the new VM
- decort_osimage:
- authenticator: jwt
- jwt: "{{ token.jwt }}"
- controller_url: "https://cloud.digitalenergy.online"
- image_name: "Ubuntu 18.04 v1.2.3"
- account_name: "MyMainAccount"
- delegate_to: localhost
- register: my_img
-
- - name: obtain resource group, where new VM will be created
- decort_rg:
- authenticator: jwt
- jwt: "{{ token.jwt }}"
- controller_url: "https://cloud.digitalenergy.online"
- account_name: "MyMainAccount"
- rg_name: "MyRg01"
- state: present
- delegate_to: localhost
- register: my_rg
-
- - name: obtain virtual network segment, where new VM will be connected to
- decort_vins:
- authenticator: jwt
- jwt: "{{ token.jwt }}"
- controller_url: "https://cloud.digitalenergy.online"
- name: "MyVins01"
- rg_id: "{{ my_rg.facts.id }}"
- state: present
- delegate_to: localhost
- register: my_vins
-
- - name: provision extra data disk for the new VM
- decort_disk:
- authenticator: jwt
- jwt: "{{ token.jwt }}"
- controller_url: "https://cloud.digitalenergy.online"
- account_name: "MyMainAccount"
- name: "MyVM-disk01"
- size: 50
- place_with: "{{ my_img.facts.id }}"
- delegate_to: localhost
- register: my_disk01
-
- - name: provision x86 KVM VM with one extra data disk attached and connected to two networks
- decort_kvmvm:
- authenticator: jwt
- jwt: "{{ token.jwt }}"
- controller_url: "https://cloud.digitalenergy.online"
- name: MyFirstVM
- arch: KVM_X86
- state: present
- cpu: 2
- ram: 4096
- boot_disk: 10
- image_id: "{{ my_img.facts.id }}"
- data_disks:
- - id: "{{ my_disk01.facts.id }}"
- networks:
- - type: VINS
- id: "{{ my_vins.facts.id }}"
- - type: EXTNET
- id: 2
- rg_id: "{{ my_rg.facts.id }}"
- annotation: "My 1st VM created and managed with DECORT KVMVM module"
- delegate_to: localhost
- register: new_vm
-
- - name: configure network port forward rules for the newly created VM
- decort_pfw:
- authenticator: jwt
- jwt: "{{ token.jwt }}"
- controller_url: "https://cloud.digitalenergy.online"
- vins_id: "{{ my_vins.facts.id }}"
- compute_id: "{{ new_vm.facts.id }}"
- rules:
- - ext_port_start: 30022
- int_base_port: 22
- proto: tcp
- - ext_port_start: 8443
- int_base_port: 443
- proto: tcp
- delegate_to: localhost
-
- - name: add new VM to the in-memory inventory into group just_created
- add_host:
- groups: just_created
- hostname: "{{ new_vm.facts.name }}"
- ansible_host: "{{ my_vins.facts.ext_ip }}"
- ansible_port: 30022
- ansible_user: "{{ new_vm.facts.username }}"
- ansible_password: "{{ new_vm.facts.password }}"
-
-- hosts: just_created
- tasks:
- - name: check connectivity to the new VM by running a remote command on it
- command: uname –a
-...
-```
\ No newline at end of file
diff --git a/04.-Модуль-decort_kvmvm.md b/04.-Модуль-decort_kvmvm.md
deleted file mode 100644
index 17251af..0000000
--- a/04.-Модуль-decort_kvmvm.md
+++ /dev/null
@@ -1,111 +0,0 @@
-# Модуль decort_kvmvm
-## 04.1 Обзор модуля _decort_kvmvm_
-Модуль _decort_kvmvm_ предназначен для предназначен для выполнения следующих действий над виртуальными серверами, созданными на базе технологии виртуализации KVM, в облачной платформе DECORT:
-1. Создание нового виртуального сервера указанной аппаратной архитектуры. Платформа поддерживает виртуальные сервера архитектуры Intel x86 и IBM PowerPC.
-2. Изменение конфигурации существующего виртуального сервера:
- - Изменение количества выделенных CPU и виртуальной ОЗУ. Следует иметь ввиду, что изменение этих параметров в меньшую сторону может потребовать перезагрузки гостевой ОС.
- - Увеличение размера загрузочного диска.
- - Подключение / отключение дополнительных дисковых ресурсов.
- - Создание / удаление сетевых подлкючений.
-3. Изменение состояния существующего виртуального сервера:
- - Выключение / включение.
- - Перезагрузка, приостановка / возобновление работы гостевой ОС.
-4. Удаление существующего виртуального сервера.
-5. Получение информации о существующем виртуальном сервере без изменения его конфигурации.
-
-
-## 04.2 Параметры модуля _decort_kvmvm_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_kvmvm_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_kvmvm`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| account_id | int | Уникальный цифровой идентификатор подписчика, владеющего данным виртуальным сервером.
Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией `account_id` и `rg_name`.
Если задан `account_id`, то `account_name` игнорируется. |
-| account_name | (string) | Имя подписчика, которому будет принадлежать новый виртуальный сервер (или уже принадлежит существующий).
Параметр должен задаваться в точном соответствии с тем, как назван нужный подписчик в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов).
Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией `account_name` и `rg_name`.
Если задан `account_id`, то `account_name` игнорируется. |
-| annotation | (string) | Опциональное описание виртуального сервера. Этот параметр используется только в момент создания нового виртуального сервера и игнорируется при любых действиях над существующими серверами. |
-| app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль _decort_kvmvm_ будет использовать значение переменной окружения _DECORT_APP_ID_. |
-| app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DCORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в _playbook_.
Если параметр не задан в _playbook_, то модуль _decort_kvmvm_ будет использовать значение переменной окружения _DECORT_APP_SECRET_. |
-| arch | Значения:
`KVM_X86` <- default
`KVM_PPC`
| Аппаратная архитектура виртуального сервера. Данный параметр является обязательным при создании нового вирутального сервера и игнорируется для уже существующего сервера.
Платформа DECORT поддерживает виртуальные серверы KVM аппаратных архитектур Intel x86 и IBM PowerPC. |
-| authenticator | Значения:
`legacy`
`oauth2`
`jwt` <- default | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. |
-| boot_disk | (int) | Размер загрузочного диска виртуального сервера в ГБ. Загрузочный диск всегда создаётся на той же системе хранения и в том же пуле, где размещён образ ОС (см. параметры `image_name` или `image_id`), на базе которого создаётся данный виртуальный сервер.
Если данный параметр не указан на момент создания виртуального сервера, то размер загрузочного диска будет установлен равным размеру образа ОС. |
-| controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер.
Данный параметр является обязательным. |
-| cpu | (int) | Количество виртуальных CPU, выделенных виртуальному серверу.
Параметр является обязательным при создании нового сервера, во всех других случаях он опциональный. Если указать его для уже существующего сервера, то будет выполнена попытка изменить количество CPU.
Следует иметь ввиду, что _уменьшение_ количества CPU у работающего сервера, как правило, потребует его перезагрузки. |
-| data_disks | (list) | Список идентификаторов дисков, которые следует подключить к данному виртуальному серверу как дополнительные (помимо загрузочного диска, который создаётся автоматически вместе с виртуальным сервером). |
-| id | (int) | Уникальный цифровой идентификатор виртуального сервера внутри платформы.
Этот параметр используется как один из методов идентификации существующего сервера (альтернатива – по комбинации `name`, `rg_name` и `account_name`) и игнорируется при создании нового сервера, так как для нового сервера облачная платформа назначает этот идентификатор автоматически.
Если при вызове модуля _decort_kvmvm_ существующий виртуальный сервер идентифицируется по своему `id`, то параметры `account_id`, `account_name`, `rg_id` и `rg_name` игнорируются. |
-| image_id | (int)| Уникальный цифровой идентификатор образа ОС, на базе которого следует создать виртуальный сервер.
При создании нового виртуального сервера требуется задать этот параметр или параметр `image_name`. При любых других операциях данные параметры игнорируются.
Если заданы оба этих параметра (`image_id` и `image_name`), то `image_name` игнорируется. Для получения `image_id` по `image_name` можно использовать модуль _decort_osimage_. |
-| image_name | (string) | Название образа ОС, на базе которого следует создать виртуальный сервер.
При создании нового виртуального сервера требуется задать этот параметр или параметр `image_id`. При любых других операциях данные параметры игнорируются.
Параметр `image_name` должен задаваться в точном соответствии с тем, как назван нужный образ ОС в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов). |
-| jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt`
Данный параметр является обязательным для указанного режима.
Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в _playbook_.
Если этот параметр не определен в _playbook_, то модуль _decort_kvmvm_ будет использовать значение переменной окружения _DECORT_JWT_. |
-| name | (string) | Название виртуального сервера.
Чтобы модуль _decort_kvmvm_ мог управлять сервером по его названию, также необходимо задать комбинацию `account_name` и `rg_name` или идентификатор `rg_id`.
Параметр должен задаваться в точном соответствии с тем, как назван сервер в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов).
Если для существующего виртуального сервера указаны и `name`, и `id`, то параметр `name` игнорируется и идентификация сервера выполняется по его `id`. |
-| networks | (list of dicts) | Опциональный список словарей, задающих сетевые подключения для данного виртуального сервера. Структура словаря:
- (string) `type` - тип сетевого подключения, одно из `VINS` или `EXTNET`;
- (int) `id` - идентификатор сетевого сегмента данного подключения; для `type: VINS` это VINS ID, для `type: EXTNET` это ID внешнего сетевого сегмента;
- (string) `ip_addr` - опциональный IP адрес, который надлежит присвоить данному подключению; если данный параметр не указан, то платформа назначит свободный IP адрес из нужного диапазона автоматически.
Если этот параметр не задан, то будет создан сервер без сетевых подключений, а если модуль вызван для уже существуюшего сервера, то все его сетевые подключения будут удалены. |
-| oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу _Oauth2_, который должен использоваться в режиме `authenticator: oauth2`.
Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль _decort_kvmvm_ будет использовать значение переменной окружения _DECORT_OAUTH2_URL_. |
-| password | (string) | Пароль для подключения к контроллеру облачной инфраструктуры DECORT в режиме `authenticator: legacy`.
Данный параметр является обязательным для указанного режима.
Так как он содержит секретную информацию, то его не рекомендуется задавать в _playbook_.
Если параметр не задан в _playbook_, то модуль _decort_kvmvm_ будет использовать значение переменной окружения _DECORT_PASSWORD_. |
-| ram | (int) | Объем оперативной памяти (RAM) в MB, выделенной данному виртуальному серверу.
Параметр является обязательным при создании нового сервера. Если указать его для уже существующего сервера, то будет выполнена попытка изменить объем выделенной серверу памяти.
Следует иметь ввиду, что уменьшение объема памяти работающего сервера в большинстве случаев потребует его перезагрузки. |
-| rg_id | (int) | Уникальный цифровой идентификатор уже существующей ресурсной группы (RG), в которой будет создан новый или находится уже существующий виртуальный сервер.
Данный параметр является одним из методов идентификации существующей RG (альтернативой является задание комбинации `account_name` и `rg_name`). |
-| rg_name | (string) | Имя уже существующей ресурсной группы (RG), в которой будет создан новый или находится уже существующий виртуальный сервер.
Данный параметр является одним из методов идентификации существующей RG, когда задается пара `account_name` и `rg_name` (альтернативой является задание `rg_id`, который можно получить с помощью модуля _decort_rg_).
Параметр должен задаваться в точном соответствии с тем, как нужная ресурсная группа названа в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов).
Если заданы и `rg_id`, и `rg_name`, то параметр `rg_name` игнорируется. |
-| ssh_key | (string) | Открытая часть SSH ключа, который необходимо авторизовать на создаваемом виртуальном сервере для пользователя, заданного параметром `ssh_key_user`.
Данный параметр применим только для Linux серверов, является опциональным, используется только при создании нового сервера и игнорируется при других операциях. |
-| ssh_key_user | (string) | Имя пользователя на уровне гостевой ОС (только для Linux серверов) для которого авторизуется SSH ключ, заданный параметром `ssh_key`.
Данный параметр является обязательным, если задан `ssh_key`, используется только при создании нового сервера и игнорируется при других операциях. |
-| state | Значения:
`present` <- default
`absent`
`poweredon`
`poweredoff`
`halted`
`paused`
`check` | Целевое состояние виртуального сервера на выходе из модуля _decort_kvmvm_.
Значение 'halted' - синоним к 'poweredoff'.
Значение 'check' вызывает модуль в _read-only_ режиме и считывает характеристики существующего виртуального сервера. |
-| tags | (string) | Строка, содержащая набор текстовых меток, которые надлежит присвоить данному виртуальному серверу.
Данные текстовые метки представляют собой произвольный текст, который можно использовать для группировки и индексирования виртуальных серверов во внешних приложениях.
Параметр является опциональным.|
-| user | (string) | Имя пользователя, непосредственно зарегистрированного на контроллере облачной инфраструктуры DECORT, которое используется для подключения к контроллеру в режиме `authenticator: legacy`.
Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль _decort_kvmvm_ будет использовать значение переменной окружения _DECORT_USER_.|
-| 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_kvmvm_ не реализована.|
-
-
-## 04.3 Возвращаемые значения модуля _decort_kvmvm_
-Модуль _decort_kvmvm_ возвращает информацию о виртуальном сервере в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| account_id | int | Цифровой идентификатор подписчика, владеющего данным виртуальным сервером. |
-| account_name | string | Имя подписчика, владеющего данным виртуальным сервером. |
-| acrh | string | Аппаратная архитектура данного виртуального сервера. Допустимые значения: `KVM_X86` для Intel x86 и `KVM_PPC` для IBM PowerPC. |
-| cpu | int | Количество виртуальных CPU, выделенных данному виртуальному серверу. |
-| data_disks | list of ints | Список идентификаторов data-дисков, в настоящий момент подключенных к данному серверу. |
-| disk_size | int | Размер загрузочного диска в ГБ. |
-| id | int | Уникальный цифровой идентификатор данного виртуального сервера (экземпляра _compute_) в платформе DECORT. |
-| name | string | Имя виртуального сервера.
Имя уникально только в рамках одной и той же ресурсной группы. |
-| password | string | Пароль системного пользователя по умолчанию. |
-| private_ips | list of strings | Список IP адресов на сетевых интерфейсах сервера, которые подключены к виртуальным сетевым сегментам (Virtual Network Segments, ViNS). |
-| public_ips | list of strings | Список IP адресов на сетевых интерфейсах сервера, которые подключены непосредственно к внешним сетевым сегментам (external network segments). |
-| ram | int | Объём ОЗУ в МБ, выделенный виртуальному серверу. |
-| rg_id | int | Уникальный цифровой идентификатор ресурсной группы (_RG_), к которой принадлежит данный сервер. |
-| state | string | Состояние виртуального сервера. |
-| username | string | Имя системного пользователя по умолчанию. |
-
-
-
-## 04.4 Пример использования модуля _decort_kvmvm_
-В данном примере создается виртуальный сервер KVM VM по имени _MyFirstVM_ с аппаратной архитектурой Intel x86.
-
-```
-- name: create new x86 KVM VM according to the specs
- decort_kvmvm:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
- name: MyFirstVM
- arch: KVM_X86
- state: present
- cpu: 2
- ram: 4096
- boot_disk: 10
- image_id: "{{ my_img.facts.id }}"
- networks:
- - type: VINS
- id: "{{ my_vins.facts.id }}"
- rg_id: "{{ my_rg.facts.id }}"
- annotation: "My 1st VM created and managed with DECORT KVMVM module"
- delegate_to: localhost
- register: new_vm
-```
-
-Виртуальный сервер создаётся на базе некоторого системного образа (дискового ресурса, содержащего операционную систему). В данном примере системный образ задаётся по его идентификатору (` image_id: "{{ my_img.facts.id }}" `). Для получения такого идентификатора можно использовать модуль [decort_osimage](https://github.com/rudecs/decort-ansible/wiki/05.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_osimage).
-
-Виртуальный сервер всегда создаётся в принадлежности к некоторой ресурсной группе. В данном примере соответствующая ресурсная группа задаётся по её идентификатору (` rg_id: "{{ my_rg.facts.id }}" `). Для управления ресурсными группами предназначен модуль [decort_rg](https://github.com/rudecs/decort-ansible/wiki/08.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_rg). С помощью этого модуля можно также получит идентификатор ресурсной группы, чтобы использовать его при создании виртуального сервера.
-
-Для управления сетевыми подключениями виртуального сервера в модуле _decort_kvmvm_ используется параметр `networks`, представляющий собой список с описанием требующихся подключений. В данном примере задано одно подключение в виртуальному сетевому сегменту (` type: VINS `) с указанным идентификатором (` id: "{{ my_vins.facts.id }}" `). Для управления виртуальными сетевыми сегментами и получения их идентификаторов служит модуль [decort_vins](https://github.com/rudecs/decort-ansible/wiki/09.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_vins).
-
diff --git a/05.-Модуль-decort_osimage.md b/05.-Модуль-decort_osimage.md
deleted file mode 100644
index 4cff406..0000000
--- a/05.-Модуль-decort_osimage.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# Модуль decort_osimage
-
-## 05.1 Обзор модуля _decort_osimage_
-
-Модуль _decort_osimage_ предназначен для получения информации об образе ОС (в первую очередь, его цифрового идентификатора) по имени образа.
-
-Данный модуль может быть полезен при массовом создании экземпляров _compute_ (напр., виртуальных серверов) на базе одного и того же образа, так как позволяет оптимизировать количество API вызовов, инициируемых в адрес контроллера облачной платформы.
-
-По сути, данный модуль является провайдером информации и не изменяет состояния облачных ресурсов (всегда возвращает `changed: False`).
-
-## 05.2 Параметры модуля _decort_osimage_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_osimage_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_osimage`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| 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_. |
-| 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 в текущей версии модуля не реализована.|
-
-
-## 05.3 Возвращаемые значения модуля _decort_osimage_
-Модуль _decort_osimage_ возвращает информацию о XXX в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| arch | string | Аппаратная архитектура, с которой совместим данный образ. Возможные значения: `X86_64` (Intel x86), `PPC64_LE` (IBM PowerPC). |
-| id | int | Уникальный целочисленный идентификатор данного образа. |
-| name | string | Имя образа. Обратите внимание, что имя образа может содержать пробелы. |
-| pool | string | Пул на системе хранения данных, в котором находится данный образ. |
-| sep_id | int | Идентификатор системы хранения (Storage Endpoint Provider), на которой хранится данный образ. |
-| size | int | Размер образа в ГБ. Загрузочный диск экземпляра _compute_, создаваемого на базе данного образа, должен иметь как минимум такой же размер. |
-| state | string | Текущий статус образа. Возможные значения: `CREATED`, `DISABLED`, `DESTROYED`.
Экземпляры _compute_ можно создавать только на базе образов, которые находятся в статусе `CREATED`. |
-| type | string | Тип операционной системы внутри данного образа. Возможные значения: `Linux`, `Windows`. |
-
-
-## 05.4 Пример использования модуля _decort_osimage_
-В данном примере XXX.
-
-```
-- name: obtain OS image information to use for consequent KVM VM creation
- decort_osimage:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
- image_name: "Ubuntu 18.04 v1.2.1"
- register: my_image
- delegate_to: localhost
-
-- name: create new VM in a new private network segment
- decort_kvmvm:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.decs.online"
- controller_url: "https://cloud.digitalenergy.online"
- name: "NewVM01"
- state: present
- arch: "KVM_X86"
- cpu: 1
- ram: 2048
- boot_disk:
- size: 10
- image_id: "{{ my_image.facts.id }}"
- << дальнейшие детали опущены >>
-...
-```
-
-Обратите внимание, как используется идентификатор образа ОС при создании нового виртуального сервера (в предположении, что результат выполнения _task_ для модуля _decort_osimage_ был сохранен в переменной `my_image`):
-
-` image_id: "{{ my_image.facts.id }}"`
diff --git a/06.-Модуль-decort_disk.md b/06.-Модуль-decort_disk.md
deleted file mode 100644
index f794cbd..0000000
--- a/06.-Модуль-decort_disk.md
+++ /dev/null
@@ -1,89 +0,0 @@
-# Модуль decort_disk
-## 06.1 Обзор модуля _decort_disk_
-Модуль _decort_disk_ предназначен для управления дисковыми ресурсами в платформе DECORT:
-1. создание / удаление диска;
-2. изменение размера диска.
-
-Обратите внимание:
-- загрузочный диск для виртуального сервера создаётся и подключается автоматически в процессе создания этого сервера. Модуль _decort_disk_ служит для управления дополнительными дисками (т.н. _data_-дисками);
-- подключение дополнительных дисков, созданных посредством _decort_disk_, к виртуальным серверам выполняется с помощью модулей управления _compute_-ресурсами (например, подробнее см. модуль [decort_kvmvm](https://github.com/rudecs/decort-ansible/wiki/04.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_kvmvm), параметр _data_disks_).
-
-## 06.2 Параметры модуля _decort_disk_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_disk_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_disk`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| 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, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер.
Данный параметр является обязательным. |
-| id | (int) | Уникальный целочисленный идентификатор диска. Соответствующий диск должен существовать (таким образом, с помощью `id` нельзя создать новый диск, а только управлять уже имеющимися).
Если задан данный параметр, то параметры `name`, `account_name` и `account_id` игнорируются.|
-| force_detach | (bool)
`True`
`False` <- default | Задаёт поведение платформы при попытке удалить диск, подключённый к экземпляру _compute_.
По умолчанию, удаление подключённых дисков не разрешается, и попытка удалить такой диск приведёт к аварийному завершению модуля. Чтобы изменить это поведение, явно установите `force_detach: True`. |
-| jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt`
Данный параметр является обязательным для указанного режима.
Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в _playbook_.
Если этот параметр не определен в _playbook_, то модуль будет использовать значение переменной окружения _DECORT_JWT_. |
-| name | (string) | Имя диска.
Для идентификации диска требуется либо его имя `name` и информация об учётной записи (`account_id` или `account_name`), которой принадлежит диск, либо его `id`. |
-| oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу _Oauth2_, который должен использоваться в режиме `authenticator: oauth2`.
Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль будет использовать значение переменной окружения _DECORT_OAUTH2_URL_. |
-| place_with | (int) | Идентификатор образа ОС, из которого следует взять параметр `sep_id`, чтобы разместить данный диск на той же системе хранения данных, что и указанный образ ОС.
Данный параметр является опциональным и используется только на стадии создания диска. Если задан `place_with`, то `sep_id` игнорируется. |
-| pool | (string) | Название пула на системе хранения данных, в рамках которой следует создать данный диск. Этот параметр используется только на стадии создания диска и игнорируется при операциях над уже существующими дисками. Параметр является опциональным, значение по умолчанию - пустая строка (в этом случае платформа использует пул, который сконфигурирован на целевой системе хранения как пул по умолчанию). |
-| sep_id | (int) | Идентификатор провайдера системы хранения данных (Storage End-point Provider). Данный параметр определяет систему хранения данных, на ресурсах которой создаётся диск. Используется только при создании диска и игнорируется при прочих операциях. Альтернативой данному параметру является `place_with`, позволяющий разместить диск на той же системе хранения, что и указанный загрузочный образ, на базе которого создаётся экземпляр _compute_. |
-| size | (int) | Размер диска в ГБ. Этот параметр является обязательным при создании диска.
Если он задан для уже существующих дисков, а текущий размер диска меньше заданного, то будет предпринята попытка увеличить размер диска. При прочих операциях данный параметр игнорируется. |
-| state | Значения:
`present` <- default
`absent`
| Целевое состояние диска. |
-| 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 в текущей версии модуля не реализована.|
-
-
-## 06.3 Возвращаемые значения модуля _decort_disk_
-Модуль _decort_disk_ возвращает информацию о диске в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| account_id | int | Уникальный целочисленный идентификатор учётной записи (_account_), которой принадлежит диск. |
-| attached_to | int | Идентификатор экземпляра _Compute_ (напр., виртуального сервера), к которому в настоящий момент подключён диск.
Если диск не подключён, то `attached_to=0` |
-| gid | int | Идентификатор физического кластера (Grid ID), на ресурсах которого создан диск. |
-| id | int | Уникальный целочисленный идентификатор данного диска. |
-| name | string | Имя диска. Обратите внимание, что имя диска не является уникальным с точки зрения системы хранения данных, на которой этот диск расположен. |
-| pool | string | Имя пула на системе хранения данных, в котором размещаются ресурсы диска. |
-| sep_id | int | Идентификатор системы хранения (Storage Endpoint Provider), на которой размещаются ресурсы данного диска. |
-| size | int | Размер диска в ГБ. |
-| state | string | Текущий статус диска.
Корректные состояния: `CREATED`, `ASSIGNED`, `DELETED`, `DESTROYED`, `PURGED`.|
-
-
-## 06.4 Пример использования модуля _decort_disk_
-
-В данном примере создаётся диск размером 50ГБ (`size: 50`) на ресурсах системы хранения, доступной через Storage Endpoint provider под номером 1 (`sep_id: 1`) в пуле "data01".
-
-```
-- name: manage data disk
- decort_disk:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
- name: "DataDisk01"
- size: 50
- account_name: "MyAccount"
- sep_id: 1
- pool: data01
- state: present
- register: my_data_disk01
- delegate_to: localhost
-```
-
-Здесь результат работы модуля _decort_disk_ записывается в переменную `my_data_disk01`. Для получения идентификатора диска, например, при подключении его к виртуальному серверу, следует воспользоваться показанной ниже конструкцией:
-
-```
-- name: manage virtual server
- decort_kvmvm:
- << для краткости фрагмент опущен >>
- data_disks:
- - "{{ my_data_disk01.facts.id }}"
- << для краткости фрагмент опущен >>
-```
-
-
diff --git a/07.-Модуль-decort_pfw.md b/07.-Модуль-decort_pfw.md
deleted file mode 100644
index f09a4aa..0000000
--- a/07.-Модуль-decort_pfw.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# Модуль decort_pfw
-## 07.1 Обзор модуля _decort_pfw_
-Модуль _decort_pfw_ предназначен для управления правилами трансляции сетевых портов для указанного экземпляра _Compute_ (например, для виртуального сервера, созданного с помощью _decort_kvmvm_).
-
-## 07.2 Параметры модуля _decort_pfw_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_pfw_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_pfw`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| 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. |
-| compute_id | (int) | Идентификатор экземпляра _Compute_ (напр., виртуального сервера), для которого требуется настроит правила. |
-| 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_. |
-| rules | (list of dicts) | Список словарей, задающих правила трансляции сетевых портов. Правила могут задавать как трансляцию "один к одному", так и "диапазон в диапазон". Структура словаря:
(int) `public_port_start` - номер внешнего порта (на публичном интерфейсе ViNS, заданного параметром `vins_id`) для начала диапазона.
(int) `public_port_end` - номер внешнего порта для конца диапазона. Если требуется правило "один к одному", то `public_port_end` можно не указывать или указать равным `public_port_start`.
(int) `local_port` - номер порта на интерфейсе экземпляра _Compute_, заданного параметром `compute_id`. Если задаётся правило "диапазон в диапазон", то `local_port` становится началом диапазона для трансляции. В случае правила "один к одному" `public_port_start` просто транслируется в `local_port`.
(string) `proto` - протокол, `tcp` или `udp`. |
-| state | Значения:
`present` <- default
`absent`
`check`
| Целевое состояние правил.
Если `state=absent`, то будут удалены все правила для указанного `compute_id` независимо от содержания параметра `rules`. В противном случае набор правил на выходе из модуля будет соответствовать тому, который содержится в параметре `rules`.
Если задан `state=check`, то модуль запускается в режиме read-only и возвращает текущие настройки правил трансляции сетевых портов для указанных `compute_id` и `vins_id`. |
-| verify_ssl | (bool)
`True` <- default
`False` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
-| vins_id | (int) | Идентификатор виртуального сетевого сегмента (Virtual Network Segment, ViNS), в рамках которого настраиваются правила трансляции сетевых портов.
Экземпляр _Compute_, заданный в параметре `compute_id`, должен быть уже подключён к данному ViNS. |
-| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения.
Данный параметр является опциональным.
Функциональность callbacks в текущей версии модуля не реализована.|
-| workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL.
Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи.
Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`.
Функциональность callbacks в текущей версии модуля не реализована.|
-
-
-## 07.3 Возвращаемые значения модуля _decort_pfw_
-Модуль _decort_pfw_ возвращает информацию о правилах трансляции сетевых портов и сопутсвтующую информацию в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| compute_id | int | Идентификатор _compute_, для которого настроены перечисленные правила трансляции. |
-| public_ip | string | IP адрес на внешнем сетевом интерфейсе ViNS. Перечисленные ниже правила трансляции настраиваются на этом интерфейсе. |
-| rules | list of dict | Список словарей, описывающих правила трансляции сетевых портов. Структура словаря:
(int) `id` - идентификатор правила.
(int) `publicPortStart` - номер внешнего порта (на публичном интерфейсе ViNS, см. `public_ip`) для начала диапазона.
(int) `publicPortEnd` - номер внешнего порта для конца диапазона. Если требуется правило "один к одному", то `publicPortEnd` можно не указывать или указать равным `publicPortStart`.
(int) `localPort` - номер порта на интерфейсе экземпляра _Compute_, заданного параметром `compute_id`. Если задаётся правило "диапазон в диапазон", то `localPort` указывает начало диапазона для трансляции. В случае правила "один к одному" `publicPortStart` просто транслируется в `localPort`.
(string) `protocol` - протокол, `tcp` или `udp`.|
-| state | string | Статус правил. Для корректно отработавшего модуля это поле должно иметь значение "PRESENT". |
-| vins_id | int | Идентификатор виртуального сетевого сегмента (ViNS), в котором настроены перечисленные выше правила трансляции. |
-
-
-## 07.4 Пример использования модуля _decort_pfw_
-В данном примере для ранее созданного экземпляра KVM VM compute (идентифицируется по `compute_id`), подключённого к указанному виртуальному сетевому сегменту (идентифицируется по `vins_id`) настраиваются два правила трансляции сетевых портов:
-
-* Правило "один к одному": внешний порт 30022 -> внутренний порт 22, протокол tcp.
-* Правило "диапазон в диапазон": внешние порты с 30080 по 30085 включительно -> внутренние порты начиная с 30080, протокол tcp.
-
-```
-- name: manage port forwarding rules
- decort_pfw:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
- compute_id: "{{ my_kvmvm.facts.id }}"
- vins_id: "{{ my_vins01.facts.id }}"
- rules:
- - public_port_start: 30022
- local_port: 22
- proto: tcp
- - public_port_start: 30080
- public_port_end: 30085
- local_port: 30080
- proto: tcp
- state: present
- register: my_pfw
- delegate_to: localhost
-```
-
-В данном примере результат выполнения модуля _decort_pfw_ записывается в переменную `my_pfw`. Для доступа к списку правил используйте следующую конструкцию:
-
-```
-"{{ my_pfw.facts.rules }}"
-```
\ No newline at end of file
diff --git a/08.-Модуль-decort_rg.md b/08.-Модуль-decort_rg.md
deleted file mode 100644
index 4b93a18..0000000
--- a/08.-Модуль-decort_rg.md
+++ /dev/null
@@ -1,69 +0,0 @@
-# Модуль decort_rg
-
-## 08.1 Обзор модуля _decort_rg_
-
-Модуль _decort_rg_ предназначен для создания, редактирования и удаления ресурсных групп (Resource Group, RG) в облачной платформе DECORT, а также для получения информации об уже существующей ресурсной группе.
-
-## 08.2 Параметры модуля _decort_rg_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_rg_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_rg`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| account_id | (int) | Уникальный целочисленный идентификатор учётной записи (_account_), в рамках которой создаётся или уже существует данная ресурсная группа.
Должен быть задан либо идентификатор, либо имя учётной записи (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
-| account_name | (string) | Имя учётной записи (_account_), в рамках которой создаётся или уже существует данная ресурсная группа.
Должно быть задано либо имя, либо идентификатор учётной записи (см. параметр `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_. |
-| quotas | (dict) | Зарезервировано для будущих расширений, предназначено для задания или изменения квоты на ресурсы в составе данной ресурсной группы. |
-| rg_name | (string) | Имя ресурсной группы. Данный параметр является обязательным. |
-| state | Значения:
`present` <- default
`absent`
`enabled`
`disabled`
| Целевое состояние ресурсной группы. |
-| 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 в текущей версии модуля не реализована.|
-
-
-## 08.3 Возвращаемые значения модуля _decort_rg_
-Модуль _decort_rg_ возвращает информацию о XXX в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| account_id | int | Уникальный целочисленный идентификатор учётной записи (_account_), которому принадлежит данная ресурсная группа. |
-| gid | int | Идентификатор физического кластера (Grid ID), на базе которого развёрнута ресурсная группа. |
-| id | int | Уникальный целочисленный идентификатор ресурсной группы. |
-| name | string | Имя ресурсной группы. Обратите внимание, что это имя уникально только в рамках учётной записи, которой принадлежит данная ресурсная группа. |
-| state | string | Текущее состояние ресурсной группы.
Корректные состояния: `CREATED`, `DISABLED`, `DELETED`, `DESTROYED` |
-
-
-## 08.4 Пример использования модуля _decort_rg_
-
-В данном примере показано, как создать ресурсную группу по имени _MyRG_ в учётной записи _MyAccount_.
-
-```
-- name: manage resource group
- decort_rg:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
- account_name: "MyAccount"
- rg_name: "MyRG"
- state: present
- register: my_rg
- delegate_to: localhost
-```
-
-В данном примере результат работы модуля _decort_rg_ записывается в переменную `my_rg`.
-
-Модули DECORT, которым для работы требуется ресурсная группа, в качестве одного из параметров, как правило, принимают идентификатор `rg_id`. Так, например, используя модуль _decort_kvmvm_ для создания виртуального сервера необходимо указать ресурсную группу, к которой будет принадлежать этот виртуальный сервер. Сделать это можно следующим образом:
-
-```
- <прочие детали опущены>
- rg_id: "{{ my_rg.facts.id }}"
-```
\ No newline at end of file
diff --git a/09.-Модуль-decort_vins.md b/09.-Модуль-decort_vins.md
deleted file mode 100644
index 328aa67..0000000
--- a/09.-Модуль-decort_vins.md
+++ /dev/null
@@ -1,85 +0,0 @@
-# Модуль decort_vins
-
-## 09.1 Обзор модуля _decort_vins_
-
-Модуль _decort_vins_ предназначен для создания, изменения, получения текущих характеристик и удаления виртуального сетевого сегмента (Virtual Network Segment, ViNS).
-
-## 09.2 Параметры модуля _decort_vins_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_vins_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_vins`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| account_id | (int) | Уникальный целочисленный идентификатор учётной записи (_account_), которой принадлежит данный ViNS.
При идентификации виртуального сетевого сегмента по имени (см. параметр`vins_name`) должно быть задан либо идентификатор, либо имя учётной записи (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
-| account_name | (string) | Имя учётной записи (_account_), которой принадлежит данный ViNS.
При идентификации виртуального сетевого сегмента по имени (см. параметр `vins_name`) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр `account_id`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется. |
-| annotation | (string) | Текстовое описание виртуального сетевого сегмента. Данный аргумент является опциональным и учитывается только при создании ViNS, а при всех прочих операциях игнорируется. |
-| 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, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер.
Данный параметр является обязательным. |
-| ext_net_id | (int) | Данный аргумент контролирует подключение виртуального сетевого сегмента во внешнюю сеть:
* -1 (default) - ViNS не подключён ко внешней сети;
* 0 - ViNS подключён ко внешней сети, которую платформа выбирает по умолчанию;
* >0 - ViNS подключён ко внешней сети с заданным идентификатором;
|
-| ext_ip_addr | (string) | Данный аргумент позволяет выбрать IP адрес для подключения виртуального сетевого сегмента ко внешней сети (когда значение аргумента `ext_net_id` больше либо равно 0) и учитывается только при новых подключених - в рамках модуля _decort_vins_ вы не можете изменить внешний IP адрес не меняя идентификатор внешней сети.
Параметр является опциональным: если он не задан, то в случае ViNS, подключённого во внешнюю сеть, платформа назначит IP адрес автоматически.
При ручном задании данного параметра следует иметь ввиду, что если будет задан неверный или уже занятый IP адрес, то модуль вернёт ошибку.|
-| ipcidr | string | Адрес, которые надлежит присвоить внутренней сети сетевого сегмента.
Данный аргумент является опциональным и используется только при создании нового виртуального сетевого сегмента, а при всех прочих операциях игнорируется. Если этот аргумент не задан, то платформа назначит адрес автоматически.
Обратите внимание, что виртуальные сетевые сегменты, принадлежащие одной и той же учётной записи, не могут иметь пересекающихся диапазонов внутренних адресов. |
-| 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_. |
-| rg_id | (int) | Идентификатор ресурсной группы, в которой должен быть создан или уже существует ViNS. Если одновременно заданы `rg_id` и `rg_name`, то `rg_name` игнорируется. |
-| rg_name | (string) | Имя ресурсной группы, в которой должен быть создан или уже существует ViNS. Если одновременно заданы `rg_name` и `rg_id`, то `rg_name` игнорируется. |
-| state | Значения:
`present` <- default
`absent`
`enabled`
`disabled`
| Целевое состояние ViNS. |
-| verify_ssl | (bool)
`True` <- default
`False` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
-| vins_id | (int) | Идентификатор виртуального сетевого сегмента. Соответствующий сетевой сегмент должен существовать (таким образом, с помощью `vins_id` нельзя создать новый сегмент, а только управлять уже имеющимися.
Если задан данный параметр, то параметры `vins_name`, `account_name`, `account_id`, `rg_name` и `rg_id` игнорируются. |
-| vins_name | (string) | Имя виртуального сетевого сегмента.
Для идентификации виртуального сетевого сегмента требуется либо `vins_name` и информация об учётной записи/ресурсной группе, которой принадлежит сегмент, либо `vins_id`.
Обратите внимание, что это имя уникально только в рамках ресурсной группы или учетной записи, на уровне которой существует данный сетевой сегмент. |
-| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль _desc_vm_ будет оперативно передавать информацию о своем статусе и текущей фазе исполнения.
Данный параметр является опциональным.
Функциональность callbacks в текущей версии модуля не реализована.|
-| workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL.
Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи.
Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`.
Функциональность callbacks в текущей версии модуля не реализована.|
-
-
-## 09.3 Возвращаемые значения модуля _decort_vins_
-Модуль _decort_XXX_ возвращает информацию о виртуальном сетевом сегменте (Virtual Network Segment, ViNS) в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| account_id | int | Уникальный целочисленный идентификатор учётной записи (_account_), которой принадлежит ViNS. |
-| ext_ip_addr | (string) | IP адрес интерфейса, которым ViNS подключён во внешнюю сеть. Если ViNS не подключён к внешней сети, то пустая строка. |
-| ext_net_id | (int) | Идентификатор внешней сети, к которой подключён ViNS. -1 означает, что ViNS в данный момент не подключён к внешней сети. |
-| gid | (int) | Идентификатор физического кластера (Grid ID), на базе которого развёрнуты ресурсы данного ViNS. |
-| id | (int) | Уникальный целочисленный идентификатор ViNS. |
-| name | (string) | Имя ViNS. Обратите внимание, что это имя уникально только в рамках учётной записи или ресурсной группы, на уровне которых создан ViNS. |
-| int_net_addr | (string) | Адрес внутренней сети ViNS. Обратите внимание, что адреса внутренних сетей всех ViNS, принадлежащих одной и той же учётной записи (независимо от того, создан ли ViNS на уровне учётной записи или ресурсной группы), не пересекаются. |
-| rg_id | (int) | Уникальный целочисленный идентификатор учётной ресурсной группы, которой принадлежит данный ViNS. Если данный ViNS создан на уровне учётной записи, то `rg_id=0`. |
-| state | (string) | Текущее состояние ViNS.
Корректные состояния: `CREATED`, `ENABLED`, `DISABLED`, `DELETED`, `DESTROYED`. |
-
-
-## 09.4 Пример использования модуля _decort_vins_
-В данном примере создаётся виртуальный сетевой сегмент с именем "MyVins01" (`vins_name: "MyVins01"`).
-
-Сетевой сегмент создаётся на уровне ресурсной группы "MyRg01" (`rg_name: "MyRg01"`), принадлежащей учётной записи "MyMainAccount" (`account_name: "MyMainAccount"`). Виртуальный сетевой сегмент будет иметь подключение во внешнюю сеть по умолчанию (`ext_net_id: 0`).
-
-```
-- name: Manage ViNS at resource group level
- decort_vins:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
- vins_name: "MyVins01"
- account_name: "MyMainAccount"
- rg_name: "MyRg01"
- ext_net_id: 0
- state: present
- register: my_vins
- delegate_to: localhost
-...
-```
-
-Здесь результат исполнения модуля _decort_vins_ записывается в переменную `my_vins`, которую можно дальше использовать в _Ansible playbooks_. Ниже показано, как получить и использовать идентификатор ViNS для подключения к нему виртуального сервера.
-
-```
-- name: manage virtual server
- decort_kvmvm:
- << для краткости фрагмент опущен >>
- networks:
- - type: VINS
- id: "{{ my_vins.facts.id }}"
- << для краткости фрагмент опущен >>
-```
\ No newline at end of file
diff --git a/10.-Модуль-decort_jwt.md b/10.-Модуль-decort_jwt.md
deleted file mode 100644
index 7b71019..0000000
--- a/10.-Модуль-decort_jwt.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Вспомогательный модуль для получения авторизационного JWT токена decort_jwt
-
-## 10.1 Обзор модуля _decort_jwt_
-Модуль _decort_jwt_ предназначен для получения авторизационного токена JWT (JSON Web Token). Данный модуль может быть полезен при массовом создании виртуальных серверов на базе одного и того же образа, так как позволяет оптимизировать количество API вызовов, инициируемых в адрес контроллера облачной платформы.
-
-По сути, данный модуль является провайдером информации и не управляет облачными ресурсами (всегда возвращает `changed: False`).
-
-## 10.2 Параметры модуля _decort_jwt_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_jwt_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_jwt`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| app_id | (string) | Идентификатор приложения, использующийся для подключения к авторизационному серверу. Данный параметр является обязательным.
Если параметр не задан в _playbook_, модуль будет использовать значение переменной окружения _DECORT_APP_ID_. |
-| app_secret | (string) | Секретный ключ приложения, который используется для подключения к авторизационному серверу. Данный параметр является обязательным. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в _playbook_.
Если параметр не задан в _playbook_, то модуль будет использовать значение переменной окружения _DECORT_APP_SECRET_. |
-| oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу _Oauth2_, у которого запрашивается JWT.
Данный параметр является обязательным.
Если параметр не задан в _playbook_, модуль будет использовать значение переменной окружения _DECORT_OAUTH2_URL_. |
-| validity | (int) | Срок действия JWT в секундах.
Данный параметр является опциональным, значение по умолчанию - 3600 сек. |
-| 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 в текущей версии модуля не реализована.|
-
-## 10.3 Возвращаемые значения модуля _decort_jwt_
-При успешном выполнении модуль _decort_jwt_ возвращает словарь, в котором по ключу `jwt` находится значение JWT-токена (тип _string_).
-
-## 10.4 Пример использования модуля _decort_jwt_
-В данном примере сначала получается JWT со сроком действия 1200 сек., а затем этот JWT используется для создания виртуального сервера в режиме авторизации _jwt_ (подробнее о данном режиме см. в разделе [«Примеры различных режимов авторизации»]()).
-
-```
-- hosts: ansible_master
- tasks:
- - name: obtain JWT with validity of 1200 sec from the OAuth2 provider
- decort_jwt:
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- validity: 1200
- delegate_to: localhost
- register: my_token
-
- - name: manage KVM VM in JWT authorization mode
- decort_kvmvm:
- authenticator: jwt
- jwt: "{{ my_token.jwt }}"
- controller_url: "https://cloud.digitalenergy.online"
- name: NewVM01
- state: present
- cpu: 2
- ram: 4096
- <<<дальнейшие детали опущены>>>
-```
-
-Обратите внимание, как используется JWT при создании нового виртуального сервера (в предположении, что результат выполнения _task_ для модуля _decort_jwt_ был сохранен в переменной `my_token`):
-
-```
- jwt: "{{ my_token.jwt }}"
-```
-
-
diff --git a/Home.md b/Home.md
index 52387d3..bab9f1a 100644
--- a/Home.md
+++ b/Home.md
@@ -1,14 +1,20 @@
-# Содержание - Модули DECORT для Ansible
-1. [Введение]()
-2. ["Короче, Склифосовский!"](https://github.com/rudecs/decort-ansible/wiki/02.-%D0%9A%D0%BE%D1%80%D0%BE%D1%87%D0%B5,-%D0%A1%D0%BA%D0%BB%D0%B8%D1%84%D0%BE%D1%81%D0%BE%D1%84%D1%81%D0%BA%D0%B8%D0%B9!)
-3. [Обзор облачной платформы DECORT]()
- - [Основные понятия]()
-4. [Модуль _decort_kvmvm_](https://github.com/rudecs/decort-ansible/wiki/04.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_kvmvm) - управление виртуальными серверами KVM.
-5. [Модуль _decort_osimage_](https://github.com/rudecs/decort-ansible/wiki/05.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_osimage) - получение идентификатора образа ОС.
-6. [Модуль _decort_disk_](https://github.com/rudecs/decort-ansible/wiki/06.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_disk) - управление дисковыми ресурсами.
-7. [Модуль _decort_pfw_](https://github.com/rudecs/decort-ansible/wiki/07.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_pfw) - настройки правил трансляции сетевых портов для виртуального сервера.
-8. [Модуль _decort_rg_](https://github.com/rudecs/decort-ansible/wiki/08.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_rg) - управление ресурсными группами.
-9. [Модуль _decort_vins_](https://github.com/rudecs/decort-ansible/wiki/09.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_vins) - управление виртуальными сетевыми сегментами.
-10. [Модуль _decort_jwt_](https://github.com/rudecs/decort-ansible/wiki/10.-%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_jwt) - получение авторизационного токена.
-11. [Модуль _decort_account_]() - получение информации об учётной записи (account).
-
+1. [Введение](https://github.com/rudecs/decort-ansible/wiki/%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5)
+ - [Введение](https://github.com/rudecs/decort-ansible/wiki/%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5#%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5)
+ - [Системные требования](https://github.com/rudecs/decort-ansible/wiki/%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5#%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5-%D1%82%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
+ - [Подготовка к работе](https://github.com/rudecs/decort-ansible/wiki/%D0%B2%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5#%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0-%D0%BA-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B5)
+2. [Обзор облачной платформы DECORT.](https://github.com/rudecs/decort-ansible/wiki/%D0%9E%D0%B1%D0%B7%D0%BE%D1%80-%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B-DECORT)
+ - [Основные понятия](https://github.com/rudecs/decort-ansible/wiki/%D0%9E%D0%B1%D0%B7%D0%BE%D1%80-%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B-DECORT#%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F)
+ - [Способы авторизации](https://github.com/rudecs/decort-ansible/wiki/%D0%9E%D0%B1%D0%B7%D0%BE%D1%80-%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D0%BE%D0%B9-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D1%8B-DECORT#%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8)
+3. Ansible модули DECORT:
+ - [Модуль decort_kvmvm](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_kvmvm) - управление виртуальными серверами KVM.
+ - [Модуль decort_osimage](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_osimage) - получение идентификатора образа ОС.
+ - [Модуль decort_disk](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_disk) - управление дисковыми ресурсами.
+ - [Модуль decort_pfw](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_pfw) - настройки правил трансляции сетевых портов для виртуального сервера.
+ - [Модуль decort_rg](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_rg) - управление ресурсными группами.
+ - [Модуль decort_vins](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_vins) - управление виртуальными сетевыми сегментами.
+ - [Модуль decort_jwt](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_jwt) - получение авторизационного токена.
+ - [Модуль decort_bservice](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_bservice) - управление Basic сервисами.
+ - [Модуль decort_group](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_group)- управление группами виртуальных серверов.
+ - [Модуль decort_k8s](https://github.com/rudecs/decort-ansible/wiki/%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-decort_k8s)- управление кластерами Kubernetes.
+4. [Полезные советы](https://github.com/rudecs/decort-ansible/wiki/%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B)
+ - [Как хранить авторизационную информацию отдельно от плейбука.](https://github.com/rudecs/decort-ansible/wiki/%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D1%8B#41-%D0%BA%D0%B0%D0%BA-%D1%85%D1%80%D0%B0%D0%BD%D0%B8%D1%82%D1%8C-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%83%D1%8E-%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8E-%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE-%D0%BE%D1%82-%D0%BF%D0%BB%D0%B5%D0%B9%D0%B1%D1%83%D0%BA%D0%B0)
\ No newline at end of file
diff --git a/YY.-Модуль-decort_account.md b/YY.-Модуль-decort_account.md
deleted file mode 100644
index 3123243..0000000
--- a/YY.-Модуль-decort_account.md
+++ /dev/null
@@ -1,53 +0,0 @@
-**Раздел находится в разработке**
-
-# Модуль decort_account
-## XX.1 Обзор модуля _decort_account_
-Модуль _decort_account_ предназначен для
-1. text.
-2. text:
- - text.
- - text.
-3. text.
-
-## XX.2 Параметры модуля _decort_account_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_account_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_account`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль будет использовать значение переменной окружения _DECS_APP_ID_. |
-| app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в _playbook_.
Если параметр не задан в _playbook_, то модуль будет использовать значение переменной окружения _DECS_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_, то модуль будет использовать значение переменной окружения _DECS_JWT_. |
-| oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу _Oauth2_, который должен использоваться в режиме `authenticator: oauth2`.
Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль будет использовать значение переменной окружения _DECS_OAUTH2_URL_. |
-| state | Значения:
`present` <- default
`absent`
| Целевое состояние . |
-| 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 в текущей версии модуля не реализована.|
-
-
-## XX.3 Возвращаемые значения модуля _decort_account_
-Модуль _decort_account_ возвращает информацию о XXX в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| | | |
-
-
-## XX.4 Пример использования модуля _decort_account_
-В данном примере XXX.
-
-```
-- name: xxxx
- decort_account:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
-
- delegate_to: localhost
-...
-```
diff --git a/ZZ.-Модуль-description-template.md b/ZZ.-Модуль-description-template.md
deleted file mode 100644
index 449b70b..0000000
--- a/ZZ.-Модуль-description-template.md
+++ /dev/null
@@ -1,51 +0,0 @@
-# Модуль decort_XXX
-## XX.1 Обзор модуля _decort_XXX_
-Модуль _decort_XXX_ предназначен для
-1. text.
-2. text:
- - text.
- - text.
-3. text.
-
-## XX.2 Параметры модуля _decort_XXX_
-Ниже в алфавитном порядке приведен полный список параметров для модуля _decort_XXX_. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
-
-`ansible-doc -t module decort_XXX`
-
-| Параметр | Тип, допустимые значения | Описание |
-| --- | --- | --- |
-| app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль будет использовать значение переменной окружения _DECS_APP_ID_. |
-| app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в _playbook_.
Если параметр не задан в _playbook_, то модуль будет использовать значение переменной окружения _DECS_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_, то модуль будет использовать значение переменной окружения _DECS_JWT_. |
-| oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу _Oauth2_, который должен использоваться в режиме `authenticator: oauth2`.
Данный параметр является обязательным для указанного режима.
Если параметр не задан в _playbook_, модуль будет использовать значение переменной окружения _DECS_OAUTH2_URL_. |
-| state | Значения:
`present` <- default
`absent`
| Целевое состояние . |
-| verify_ssl | (bool)
`True` <- default
`False` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
-| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль _desc_vm_ будет оперативно передавать информацию о своем статусе и текущей фазе исполнения.
Данный параметр является опциональным.
Функциональность callbacks в текущей версии модуля не реализована.|
-| workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL.
Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи.
Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`.
Функциональность callbacks в текущей версии модуля не реализована.|
-
-
-## XX.3 Возвращаемые значения модуля _decort_XXX_
-Модуль _decort_XXX_ возвращает информацию о XXX в виде словаря `facts` со следующими ключами:
-
-| Ключ | Тип данных | Описание |
-| --- | --- | --- |
-| | | |
-
-
-## XX.4 Пример использования модуля _decort_XXX_
-В данном примере XXX.
-
-```
-- name: xxxx
- decort_xxx:
- authenticator: oauth2
- app_id: "{{ my_app_id }}"
- app_secret: "{{ my_app_secret }}"
- oauth2_url: "https://sso.digitalenergy.online"
- controller_url: "https://cloud.digitalenergy.online"
-
- delegate_to: localhost
-...
-```
diff --git a/Обзор-облачной-платформы-DECORT.md b/Обзор-облачной-платформы-DECORT.md
new file mode 100644
index 0000000..9424cb2
--- /dev/null
+++ b/Обзор-облачной-платформы-DECORT.md
@@ -0,0 +1,30 @@
+## Основные понятия
+
+Ниже перечислены основные понятия с указанием соответствующих им аргументов в Terraform провайдере DECORT.
+
+1. Контроллер облачной платформы DECORT – управляющее приложение, которое обеспечивает авторизацию пользователей и оркестрацию облачных ресурсов.
+ - Адрес контроллера задается в обязательном аргументе `controller_url` в Вашем плейбуке. Например, `controller_url= "https://ds1.digitalenergy.online"`
+2. Авторизационный провайдер – приложение, работающее по протоколу Oauth2, предназначенное для выпуска и валидации токенов доступа к контроллеру облачной платформы в соответствующих режимах авторизации. Все действия в платформе должны выполняться авторизованными пользователями, и авторизационное приложение позволяет получить токен доступа, действующий некоторое ограниченное время, наличие которого подтверждает успешную авторизацию.
+ - Адрес авторизационного провайдера задается в аргументе `oauth2_url` в Вашем плейбуке. Например `oauth2_url= "https://sso.digitalenergy.online"`. При этом необходимо указать тип авторизации `authenticator: oauth2`
+3. Подписчик (account) – сущность, которая используется для группирования облачных ресурсов по принадлежности к определенному клиенту для целей учета потребления и биллинга.
+ - Имя подписчика задается аргументом `account_name` в Вашем плейбуке. Альтернативой является задание численного идентификатора подписчика в аргументе `account_id`.
+4. Пользователь (user) – пользователь облачной инфраструктуры, представленный учетной записью. Чтобы получить возможность управлять облачными ресурсами (например, создавать виртуальные серверы или дискт) пользователь должен быть ассоциирован с одним или несколькими подписчиками и иметь соответствующие права, определяемые ролевой моделью, принятой в облачной платформе DECORT. Для доступа к платформе пользователь должен авторизоваться одним из способов, описанных ниже в разделе «Способы авторизации».
+5. Ресурсная группа (resource group) – способ группирования вычислительных ресурсов (например, виртуальных серверов по функциональному признаку или принадлежности к одному и тому же проекту). Ресурсную группу можно рассматривать как небольшой персональный дата-центр, в котором размещаются один или несколько серверов и виртуальных сетевых сегментов. Ресурсная группа идентифицируется по комбинации параметров `account` и `name`. Обратите внимание, что имя имя ресурсной группы уникально только в рамках одного и того же `account`.
+6. Вычислительный ресурс (compute) - универсальная абстракция пользовательского сервера в платформе DECORT. Благодаря использованию такой абстракции можно, например, создать одну виртуальную машину на базе KVM Intel x86, а другую - на базе KVM IBM Power, а потом управлять ими - изменять количество CPU/RAM, подключать/отключать диски и т.п. - одинаковым образом, не задумываясь об их архитектурных различиях.
+7. Ресурс хранения (disk) - универсальная абстракция дискового ресурса в платформе DECORT. Платформа поддерживает различные типы систем хранения данных, но при этом управление созданными на разных системах хранения дисками осуществляется посредством унифицированного набора действий, например, "подключить диск к compute", "увеличить размер диска", "сделать мгновенный снимок диска", "настроить параметры быстродействия диска".
+8. Виртуальный сервер – экземпляр compute, в основе технической реализации которого лежит виртуальная машина, работающая в облаке DECORT и доступна по сети. Виртуальный сервер характеризуется количеством выделенных ему CPU (аргумент `cpu`), объемом ОЗУ (`ram`), размером загрузочного диска (`boot_disk size`). При создании виртуального сервера на загрузочный диск устанавливается образ операционной системы, заданный в аргументе `image_id`. Помимо загрузочного диска к виртуальному серверу можно подключить несколько дисков для хранения прикладных данных, список которых задается аргументами `extra_disks`. Виртуальный сервер идентифицируется по комбинации аргументов `name` (имя сервера) и `rgid` (идентификатор ресурсной группы). Обратите внимание, что имя виртуального сервера `name` уникально только в рамках одной и той же ресурсной группы.
+9. Виртуальный сетевой сегмент (Virtual Network Segment или ViNS) - сетевой сегмент и обеспечивающая его функционирование виртуальная инфраструктура, которые пользователь может создавать для своих нужд на уровне ресурсной группы или подписчика (account). ViNS можно создать полностью изолированным от внешних сетей (см. ниже External Network) или с подключением во внешнюю сеть. Внутри ViNS работает DHCP-сервис, обеспечивающий управление IP адресами экземпляров compute, подключённых в этот ViNS.
+10. Внешняя сеть (External Network) - сетевой сегмент, через который платформа DECORT взаимодействует с внешними по отношению к ней сетевыми ресурсами. Например, в случае с публичным облаком на базе DECORT в качестве внешней сети выступает сеть Интернет. В отличие от ViNS платформа не управляет внешней сетью, а лишь пользуется её ресурсами. В платформе может быть настроено несколько внешних сетей с различными диапазонами IP адресов, и существует механизм управления доступом пользователей к внешним сетям.
+11. Сетевой доступ к экземпляру compute (виртуальному серверу) реализуется через его подключение к ViNS и/или прямое подключение во внешнюю сеть (External Network). Один и тот же экземпляр compute может одновременно иметь несколько подключений в разные ViNS и/или различные внешние сети.
+
+## Способы авторизации
+
+Облачная платформа DECORT поддерживает два базовых типа авторизации:
+
+1. С использованием авторизационного провайдера, работающего по протоколу Oauth2. Данный способ является предпочтительным, так как обеспечивает бОльшую гибкость и безопасность. Для авторизации в этом режиме в Вашем плейбуке необходимо указать параметры `oauth2_url` и `controller_url`, а также предоставить одно из нижеперечисленного:
+ - Комбинация Application ID & Application secret, соответствующих пользователю, от имени которого будет осуществляться управление облачными ресурсами в текущей сессии. В процессе проверки предоставленных Application ID & Application secret модуль получает от авторизационного провайдера токен (JSON Web Token, JWT), который затем используется для доступа к указанному контроллеру DECORT. Для авторизации по данному варианту, в Вашем плейбуке следует установить аргумент `authenticator=oauth2` и задать аргументы `app_id` и `app_secret` (или определить соответствующие переменные окружения `DECORT_APP_ID` и `DECORT_APP_SECRET`).
+ - JSON Web Token – заранее полученный от авторизационного провайдера токен доступа, ассоциированный с определенным пользователем, от имени которого будет осуществляться управление облачными ресурсами в текущей сессии. Для авторизации по данному варианту, при инициализации Terraform провайдера DECORT следует установить аргумент `authenticator=jwt` и задать аргумент `jwt` (или определить переменную окружения `DECORT_JWT`).
+2. С использованием комбинации имя пользователя : пароль. Данный режим не использует внешних авторизационных провайдеров и подразумевает, что пользователь с такой комбинацией зарегистрирован непосредственно на указанном в параметре `controller_url` контроллере облачной платформы DECORT.
+ - Чтобы провайдер авторизовался по данному варианту, при его инициализации следует установить аргумент `authenticator=legacy` и задать аргументы `user` и `password` (или определить соответствующие переменные окружения `DECORT_USER` и `DECORT_PASSWORD`).
+
+После успешной авторизации пользователь (или приложение-клиент) получает доступ к ресурсам, находящимся под управлением соответствующего DECORT контроллера. Доступ предоставляется в рамках подписчиков (`account`), с которыми ассоциирован данный пользователь (`user`), и в соответствии с присвоенными ему ролями.
\ No newline at end of file
diff --git a/введение.md b/введение.md
new file mode 100644
index 0000000..a697840
--- /dev/null
+++ b/введение.md
@@ -0,0 +1,90 @@
+# Модули Ansible для управления облачными ресурсами в платформе DECORT
+## Введение
+
+Настоящая документация содержит руководство пользователя по библиотеке модулей decort для Ansible. С помощью этих модулей Вы сможете управлять созданием и конфигурированием облачных ресурсов в платформе DECORT (Digital Energy Cloud Orchestration Technology).
+
+У каждого модуля есть свой раздел, в котором Вы можете найти подробную информацию о параметрах, которые использует и возращает данный модуль, а также примеры использования данного модуля.
+
+В состав библиотеки модулей DECORT для Ansible на текущий момент входят:
+
+- decort_kvmvm - модуль для управления жизненным циклом виртуальных серверов (экземпляров compute). Платформа DECORT поддерживает виртуальные серверы на базе технологии KVM и аппаратных архитектур Intel x86 и IBM PowerPC.
+Позволяет:
+ 1. Создавать новые виртуальные сервера указанной аппаратной архитектуры. Платформа поддерживает виртуальные сервера архитектуры Intel x86 и IBM PowerPC.
+ 2. Изменять конфигурацию существующего виртуального сервера:
+ - Изменять количества выделенных CPU и виртуальной ОЗУ. Следует иметь ввиду, что изменение этих параметров в меньшую сторону может потребовать перезагрузки гостевой ОС.
+ - Увеличивать размера загрузочного диска
+ - Подключать / отключать дополнительные дисковые ресурсы.
+ - Создавать / удалять сетевые подключения.
+ 3. Изменять состояние существующего виртуального сервера:
+ - Выключать / включать.
+ - Перезагружать, приостанаваливать / возобновлять работу гостевой ОС.
+ 4. Удалять существующий виртуальный сервер.
+ 5. Получать информацию о существующем виртуальном сервере без изменения его конфигурации.
+- decort_disk - модуль для управления жизненным циклом дисковых ресурсов, которые можно подключать к экземплярам compute.
+Позволяет:
+ 1) создавать / удалять диск;
+ 2) изменять размер диска.
+- decort_rg - модуль для управления жизненным циклом ресурсных групп (Resource Groups, RG).
+Позволяет:
+ 1) Создавать\удалять ресурсные группы.
+ 2) Запрашивать информацию об уже существующих ресурсных группах.
+ 3) Редактировать ресурсные группы.
+ 4) Настраивать квоты в ресурсных группах.
+ 5) Восстанавливать ресурсные группы.
+- decort_vins - модуль для управления жизненным циклом виртуальных сетевых сегментов (Virtual Network Segment, ViNS). Экземпляры compute (напр., виртуальные серверы) могут быть подключены к нескольким виртуальным сетевым сегментам.
+Позволяет:
+ 1) Создавать, удалять виртуальные сетевые сегменты.
+ 2) Изменять виртуальные сетевые сегменты.
+ 3) Запрашивать информацию о виртуальных сетевых сегментах.
+ 4) Восстанавливать удалённые виртуальные сетевые сегменты.
+
+- decort_pfw - модуль для настройки правил трансляции сетевых портов виртуальных серверов.
+- decort_osimage - модуль для взаимодействия с образами.
+Позволяет:
+ 1) Создавать новый образ операционной системы для виртуальных машин.
+ 2) Создавать виртуальный образ для образа операционной системы.
+ 3) Изменять имя образа (в случае изменения имени виртуального образа, имя и id виртуального образа указываются как image_name и image_id).
+ 4) Привязывать другой образ операционной системы к виртуальному образу.
+ 5) Удалять существующий образ, привязанный к аккаунту.
+ 6) Получать информацию об образе.
+- decort_jwt - модуль для получения авторизационного токена (JWT - JSON Web Token), который можно использовать при массовом создании экземпляров compute для ускорения работы playbook-а. Подробности см. в соответствующем разделе.
+- decort_bservice - модуль для взаимодействия с Basic сервисами (Basic service).
+Позволяет:
+ 1) Создавать Basic Service.
+ 2) Удалять Basic Service.
+ 3) Включать/выключать Basic Service.
+ 4) Запрашивать информацию о Basic Service.
+- decort_group - модуль для взаимодействия с группами виртуальных серверов(compute).
+Позволяет:
+ 1) Получить информацию о группе виртуальных серверов.
+ 2) Запустить/остановить группу виртуальных серверов.
+ 3) Изменить параметры группы виртуальных серверов (cpu, ram, disk, и т.д).
+ 4) Изменить количество виртуальных серверов в группе.
+ 5) Изменить параметры сети (ext_net, VINS).
+ 6) Создать группу виртуальных серверов и подключить её к Basic сервису.
+ 7) Удалить группу виртуальных серверов.
+- decort_k8s - модуль для взаимодействия с кластерами Kubernetes.
+Позволяет:
+ 1) Создавать/удалять кластера Kubernetes.
+ 2) Enable/Disable кластера Kubernetes.
+ 3) Запускать/Останавливать кластера Kubernetes
+ 4) Модифицировать кластера Kubernetes
+ 5) Получать информацию об уже существующем кластере Kubernetes.
+
+## Системные требования
+Убедитесь, что Ваша система соответствует требованиям для работы модуля DECORT.
+Системные требования для работы модуля:
+- Ansible 2.7 or higher
+- Python 3.7 or higher
+- PyJWT 2.0.0 Python module or higher
+- requests Python module
+- netaddr Python module
+- DECORT cloud platform version 3.5.0 or higher
+
+## Подготовка к работе
+
+Для начала работы необходимо разместить директории library и module_utils в Вашей рабочей директории, откуда будут запускаться плейбуки, либо указать в ansible.cfg путь до них.
+
+
+
+
diff --git a/модуль-decort_bservice.md b/модуль-decort_bservice.md
new file mode 100644
index 0000000..7289a3e
--- /dev/null
+++ b/модуль-decort_bservice.md
@@ -0,0 +1,103 @@
+# 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
+```
\ No newline at end of file
diff --git a/модуль-decort_disk.md b/модуль-decort_disk.md
new file mode 100644
index 0000000..50b1ef5
--- /dev/null
+++ b/модуль-decort_disk.md
@@ -0,0 +1,92 @@
+# 03.03 Модуль decort_disk
+## Обзор модуля decort_disk
+
+Модуль decort_disk предназначен для управления дисковыми ресурсами в платформе DECORT:
+
+- создание / удаление диска;
+- изменение размера диска.
+
+Обратите внимание:
+
+- загрузочный диск для виртуального сервера создаётся и подключается автоматически в процессе создания этого сервера. - Модуль decort_disk служит для управления дополнительными дисками (т.н. data-дисками);
+- подключение дополнительных дисков, созданных посредством decort_disk, к виртуальным серверам выполняется с помощью модулей управления compute-ресурсами (например, подробнее см. модуль decort_kvmvm, параметр data_disks).
+
+## Параметры модуля decort_disk
+
+Ниже в алфавитном порядке приведен полный список параметров для модуля decort_disk. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
+`ansible-doc -t module decort_disk`
+
+
+| Параметр | Тип, допустимые значения | Описание |
+| ------ | ------ | ------ |
+| 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, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным.|
+|id | (int) | Уникальный целочисленный идентификатор диска. Соответствующий диск должен существовать (таким образом, с помощью id нельзя создать новый диск, а только управлять уже имеющимися). Если задан данный параметр, то параметры `name`, `account_name` и `account_id` игнорируются.|
+| force_detach | (bool)
`True`
`False` <- default | Задаёт поведение платформы при попытке удалить диск, подключённый к экземпляру _compute_.
По умолчанию, удаление подключённых дисков не разрешается, и попытка удалить такой диск приведёт к аварийному завершению модуля. Чтобы изменить это поведение, явно установите `force_detach: True`. |
+|jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt` Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения `DECORT_JWT`.
+| name | (string) | Имя диска. Для идентификации диска требуется либо его имя name и информация об учётной записи (`account_id` или `account_name`), которой принадлежит диск, либо его `id`.|
+|oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`.|
+|place_with | (int) | Идентификатор образа ОС, из которого следует взять параметр `sep_id`, чтобы разместить данный диск на той же системе хранения данных, что и указанный образ ОС. Данный параметр является опциональным и используется только на стадии создания диска. Если задан `place_with`, то `sep_id` игнорируется.|
+|pool | (string) | Название пула на системе хранения данных, в рамках которой следует создать данный диск. Этот параметр используется только на стадии создания диска и игнорируется при операциях над уже существующими дисками. Параметр является опциональным, значение по умолчанию - пустая строка (в этом случае платформа использует пул, который сконфигурирован на целевой системе хранения как пул по умолчанию). |
+|sep_id | (int) | Идентификатор провайдера системы хранения данных (Storage End-point Provider). Данный параметр определяет систему хранения данных, на ресурсах которой создаётся диск. Используется только при создании диска и игнорируется при прочих операциях. Альтернативой данному параметру является `place_with`, позволяющий разместить диск на той же системе хранения, что и указанный загрузочный образ, на базе которого создаётся экземпляр compute.|
+|size | (int) | Размер диска в ГБ. Этот параметр является обязательным при создании диска. Если он задан для уже существующих дисков, а текущий размер диска меньше заданного, то будет предпринята попытка увеличить размер диска. При прочих операциях данный параметр игнорируется.|
+| state | Значения:
`present` <- default
`absent`
| Целевое состояние диска. |
+| 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_disk
+
+Модуль decort_disk возвращает информацию о диске в виде словаря facts со следующими ключами:
+
+
+|Ключ | Тип данных | Описание|
+| ------ | ------ | ------ |
+|account_id | int | Уникальный целочисленный идентификатор учётной записи (account), которой принадлежит диск.|
+|attached_to | int | Идентификатор экземпляра Compute (напр., виртуального сервера), к которому в настоящий момент подключён диск. Если диск не подключён, то attached_to=0|
+|gid | int | Идентификатор физического кластера (Grid ID), на ресурсах которого создан диск.|
+|id | int | Уникальный целочисленный идентификатор данного диска.|
+|name | string | Имя диска. Обратите внимание, что имя диска не является уникальным с точки зрения системы хранения данных, на которой этот диск расположен.|
+|pool | string | Имя пула на системе хранения данных, в котором размещаются ресурсы диска.|
+|sep_id | int | Идентификатор системы хранения (Storage Endpoint Provider), на которой размещаются ресурсы данного диска.|
+|size | int | Размер диска в ГБ.|
+|state | string | Текущий статус диска. Корректные состояния: CREATED, ASSIGNED, DELETED, DESTROYED, PURGED.|
+
+
+## Пример использования модуля decort_disk
+
+В данном примере создаётся диск размером 50ГБ (size: 50) на ресурсах системы хранения, доступной через Storage Endpoint provider под номером 1 (sep_id: 1) в пуле "data01".
+
+```
+- name: manage data disk
+ decort_disk:
+ authenticator: oauth2
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ controller_url: "https://cloud.digitalenergy.online"
+ name: "DataDisk01"
+ size: 50
+ account_name: "MyAccount"
+ sep_id: 1
+ pool: data01
+ state: present
+ register: my_data_disk01
+ delegate_to: localhost
+```
+
+Здесь результат работы модуля decort_disk записывается в переменную my_data_disk01. Для получения идентификатора диска, например, при подключении его к виртуальному серверу, следует воспользоваться показанной ниже конструкцией:
+
+```
+- name: manage virtual server
+ decort_kvmvm:
+ << для краткости фрагмент опущен >>
+ data_disks:
+ - "{{ my_data_disk01.facts.id }}"
+ << для краткости фрагмент опущен >>
+```
diff --git a/модуль-decort_group.md b/модуль-decort_group.md
new file mode 100644
index 0000000..2f0a003
--- /dev/null
+++ b/модуль-decort_group.md
@@ -0,0 +1,103 @@
+# 03.09 Модуль decort_group
+## Обзор модуля decort_group
+Модуль decort_group позволяет взаимодействовать с группами виртуальных серверов, которые находятся в Basic сервисе. `Взаимодействие с Basic сервисами происходит в модуле decort_bservice.`
+
+Модуль decort_group позволяет:
+- Получить информацию о группе виртуальных серверов.
+- Запустить/остановить группу виртуальных серверов.
+- Изменить параметры группы виртуальных серверов (cpu, ram, disk, role, name).
+- Изменить количество виртуальных серверов в группе.
+- Изменить параметры сети (ext_net, VINS).
+- Создать группу виртуальных серверов и подключить её к Basic сервису.
+- Удалить группу виртуальных серверов.
+
+## Параметры модуля decort_group
+Ниже приведен полный список параметров для модуля decort_group.
+
+
+| Параметр | Тип, допустимые значения | Описание |
+| ------ | ------ | ------ |
+| 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` игнорируется. |
+| 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`.|
+|id | (int) | Уникальный целочисленный идентификатор группы виртуальных серверов.|
+| image_id | (int) | Уникальный целочисленный идентификатор образа операционной системы. Используется для создания виртуальных серверов в группе. |
+| image_name | (string) | Имя образа операционной системы. Используется для создания виртуальных серверов в группе.|
+| driver | (string) | Тип виртуального сервера. Прим. `KVM_X86` |
+| boot_disk | (int) | Обьём виртуального диска на виртуальных серверах. |
+| bservice_id | (int) | Уникальный целочисленный идентификатор Basic серфиса, в который необходимо добавить группу виртуальных серверов. |
+| count | (int) | Количество виртуальных серверов в группе. |
+| timeoutStart | (int) | Задержка в секундах до отображения группы виртуальных серверов. |
+| role | (string) | Роль группы виртуальных серверов. |
+| cpu | (int) | Количество ядер процессора на каждом виртуальном сервере в группе. |
+| ram | (int) | Объём оперативной памяти на каждом виртуальном сервере в группе. |
+| networks | (list) | Список сетей, которые необходимо подключить к каждому виртуальному серверу в группе |
+| description | (string) | Описание группы виртуальных серверов. |
+|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`.|
+
+## Возвращаемые значения модуля decort_group
+
+Модуль decort_group возвращает информацию о диске в виде словаря facts со следующими ключами:
+
+
+|Ключ | Тип данных | Описание|
+| ------ | ------ | ------ |
+| account_id | int | Уникальный целочисленный идентификатор аккаунта, к которому привязана данная группа виртуальных серверов. |
+| rg_id | int | Уникальный целочисленный идентификатор ресурсной группы, в которой находится данная группа виртуальных серверов. |
+| id | int | Уникальный целочисленный идентификатор данной группы виртуальных серверов.|
+| name | string | Имя данной группы виртуальных серверов.|
+| techStatus | string | Технический статус данной группы виртуальных серверов. |
+| state | string | Текущее состояние группы виртуальных серверов. Корректные состояния: absent, started, stopped, present, check.|
+| Computes | string | Уникальные целочисленные идентификаторы виртуальных серверов, входящих в группу. |
+
+## Пример использования модуля decort_group
+
+Данный пример создаёт группу виртуальных серверов с названием test_group.
+```
+- hosts: localhost
+ tasks:
+ - name: create
+ decort_group:
+ authenticator: oauth2
+ verify_ssl: False
+ controller_url: "https://ds1.digitalenergy.online"
+ state: present
+ bservice_id: 1823
+ count: 2
+ name: "test_group"
+ cpu: 2
+ ram: 2
+ boot_disk: 10
+ image_id: 518
+ driver: "KVM_X86"
+ timeoutStart: 5
+ networks:
+ - type: VINS
+ id: 1987
+ delegate_to: localhost
+ register: group_test
+```
+
+Данный пример удаляет группу виртуальных серверов с названием test_group.
+
+```
+- hosts: localhost
+ tasks:
+ - name: create
+ decort_group:
+ authenticator: oauth2
+ verify_ssl: False
+ controller_url: "https://ds1.digitalenergy.online"
+ state: absent
+ bservice_id: 1823
+ name: "test_group"
+ delegate_to: localhost
+ register: group_test
+```
\ No newline at end of file
diff --git a/модуль-decort_jwt.md b/модуль-decort_jwt.md
new file mode 100644
index 0000000..0726013
--- /dev/null
+++ b/модуль-decort_jwt.md
@@ -0,0 +1,56 @@
+# 03.07 Вспомогательный модуль для получения авторизационного JWT токена decort_jwt
+## Обзор модуля decort_jwt
+
+Модуль decort_jwt предназначен для получения авторизационного токена JWT (JSON Web Token). Данный модуль может быть полезен при массовом создании виртуальных серверов на базе одного и того же образа, так как позволяет оптимизировать количество API вызовов, инициируемых в адрес контроллера облачной платформы.
+
+По сути, данный модуль является провайдером информации и не управляет облачными ресурсами (всегда возвращает changed: False).
+## Параметры модуля decort_jwt
+
+Ниже в алфавитном порядке приведен полный список параметров для модуля decort_jwt. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
+`ansible-doc -t module decort_jwt`
+
+
+|Параметр | Тип, допустимые значения | Описание|
+| ------ | ------ | ------ |
+|app_id | (string) | Идентификатор приложения, использующийся для подключения к авторизационному серверу. Данный параметр является обязательным. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_APP_ID`.|
+|app_secret | (string) | Секретный ключ приложения, который используется для подключения к авторизационному серверу. Данный параметр является обязательным. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения `DECORT_APP_SECRET`.|
+|oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, у которого запрашивается JWT. Данный параметр является обязательным. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`.|
+|validity | (int) | Срок действия JWT в секундах. Данный параметр является опциональным, значение по умолчанию - 3600 сек.|
+| 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_jwt
+
+При успешном выполнении модуль decort_jwt возвращает словарь, в котором по ключу jwt находится значение JWT-токена (тип string).
+
+## Пример использования модуля decort_jwt
+
+В данном примере сначала получается JWT со сроком действия 1200 сек., а затем этот JWT используется для создания виртуального сервера в режиме авторизации jwt (подробнее о данном режиме см. в разделе «Примеры различных режимов авторизации»).
+```
+- hosts: ansible_master
+ tasks:
+ - name: obtain JWT with validity of 1200 sec from the OAuth2 provider
+ decort_jwt:
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ validity: 1200
+ delegate_to: localhost
+ register: my_token
+```
+```
+ - name: manage KVM VM in JWT authorization mode
+ decort_kvmvm:
+ authenticator: jwt
+ jwt: "{{ my_token.jwt }}"
+ controller_url: "https://cloud.digitalenergy.online"
+ name: NewVM01
+ state: present
+ cpu: 2
+ ram: 4096
+ <<<дальнейшие детали опущены>>>
+```
+Обратите внимание, как используется JWT при создании нового виртуального сервера (в предположении, что результат выполнения task для модуля decort_jwt был сохранен в переменной my_token):
+```
+ jwt: "{{ my_token.jwt }}"
+```
\ No newline at end of file
diff --git a/модуль-decort_k8s.md b/модуль-decort_k8s.md
new file mode 100644
index 0000000..a4fbc15
--- /dev/null
+++ b/модуль-decort_k8s.md
@@ -0,0 +1,102 @@
+# 03.10 Модуль decort_k8s
+## Обзор модуля decort_k8s
+
+Модуль decort_k8s предназначен для выполнения следующих действий над кластерами Kubernetes, созданными в облачной платформе DECORT:
+- Создание/удаление кластера Kubernetes.
+- Enable/Disable кластера Kubernetes.
+- Запуск/Остановка кластера Kubernetes
+- Модификация кластера Kubernetes
+- Получение идентификатора образа Kubernetes по имени образа.
+
+
+## Параметры модуля decort_k8s
+Ниже приведен полный список параметров для модуля decort_k8s:
+
+
+| Параметр | Тип, допустимые значения | Описание |
+| ------ | ------ | ------ |
+| 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`. |
+| verify_ssl | (bool) | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
+| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована. |
+| workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`. Функциональность callbacks в текущей версии модуля не реализована. |
+| account_id | (int) | Уникальный целочисленный идентификатор аккаунта, к которому привязан кластер. |
+| account_name | (string) | Имя аккаунта, к которому привязан кластер. |
+| annotation | (string) | Аннотации для рабочих групп в кластере Kubernetes. |
+| quotas | (dict) | Библиотека, содержащая квоты. |
+| state | (string) | Состояние кластера. Поддерживаемые состояния: absent, disabled, enabled, present,check. |
+| permanent | (bool) | Параметр, отвечающий за полное удаление кластера. При значениие `True` кластер будет полностью удалён, при значении `False` кластер будет перемещён в корзину. |
+| started | (bool) | Параметр, отвечающий за запуск кластера после создания. При значении `True`, после создания кластер будет автоматически запущен. |
+| name | (string) | Имя кластера Kubernetes. |
+| id | (int) | Уникальный целочисленный идентификатор кластера Kubernetes, позволяющий удалять, изменять и получать сведения о кластере Kubernetes. |
+| getConfig | (bool) | Параметр, передающий конфигурационный файл кластера Kubernetes, при значении `True`. |
+| rg_id | (int) | Уникальный целочисленный идентификатор ресурсной группы, в которой находится кластер Kubernetes. |
+| rg_name | (int) | Имя ресурсной группы, в которой находится кластер Kubernetes. |
+| k8ci_id | (int) | Уникальный целочисленный идентификатор образа кластера Kubernetes. |
+| wg_name | (string) | Имя рабочей группы. В кластере может быть несколько рабочих групп. |
+| master_count | (int) | Количество master узлов в рабочей группе. По умолчанию: `1`|
+| master_cpu | (int) | Количество ядер процессора на каждом master узле. По умолчанию: `2` |
+| master_ram_mb | (int) | Объём оперативной памяти на каждом master узле. По умолчанию: `2048` |
+| master_disk_gb | (int) | Объём жесткого диска на каждом master узле. По умолчанию: `10` |
+| worker_count | (int) | Количество worker узлов в рабочей группе. По умолчанию: `1`|
+| worker_cpu | (int) | Количество ядер процессора на каждом worker узле. По умолчанию: `1` |
+| worker_ram_mb | (int) | Объём оперативной памяти на каждом worker узле. По умолчанию: `1024` |
+| worker_disk_gb | (int) | Объём жесткого диска на каждом worker узле. По умолчанию: `10` |
+| workers | (dict) | Библиотека, в которой необходимо указывать рабочие группы и их параметры. См. пример 13.4 |
+| extnet_id | (int) | Уникальный целочисленный идентификатор внешней сети, к которой будет подключен кластер при создании. По умолчанию: `0` |
+| description | (string) | Описание кластера. По умолчанию: `Created by decort ansible module` |
+| with_lb | (bool) | Отвечает за создание Load Balancer при создании кластера. По умолчанию: `True` |
+
+
+
+## Возвращаемые значения модуля decort_k8s
+
+Модуль decort_k8s возвращает информацию о кластере в виде словаря facts со следующими ключами:
+
+
+| Ключ | Тип данных | Описание |
+| ------ | ------ | ------ |
+| id | int | Уникальный целочисленный идентификатор данного кластера. |
+| name | string | Имя данного кластера. |
+| techStatus | string | Технический статус кластера. Возможные технические статусы кластера: STARTED, DELETED, STOPPED, CREATED, , DISABLED, ENABLED, RESTORED, MODELED.|
+| state | string | Текущий статус кластера. Поддерживаемые состояния: absent, disabled, enabled, present,check. |
+| rg_id | int | Уникальный целочисленный идентификатор ресурсной группы, в которой находится данный кластер. |
+| account_id | int | Уникальный целочисленный идентификатор аккаунта, к которому привязан данный кластер. |
+
+
+## Пример использования модуля decort_k8s
+
+
+Пример создания кластера Kubernetes с названием cluster-test.
+```
+ - name: create a cluster named cluster-test
+ decort_k8s:
+ state: present
+ started: True
+ getConfig: True
+ authenticator: jwt
+ jwt: "{{ token.jwt }}"
+ controller_url: "https://ds1.digitalenergy.online"
+ name: "cluster-test"
+ rg_id: 125
+ k8ci_id: 18
+ workers:
+ - name: wg1
+ ram: 1024
+ cpu: 10
+ disk: 10
+ num: 1
+ - name: wg2
+ ram: 1024
+ cpu: 10
+ disk: 10
+ num: 2
+ verify_ssl: false
+ delegate_to: localhost
+ register: kube
+
+```
\ No newline at end of file
diff --git a/модуль-decort_kvmvm.md b/модуль-decort_kvmvm.md
new file mode 100644
index 0000000..05f93b6
--- /dev/null
+++ b/модуль-decort_kvmvm.md
@@ -0,0 +1,112 @@
+# 03.01 Модуль decort_kvmvm
+## Обзор модуля decort_kvmvm
+
+Модуль decort_kvmvm предназначен для предназначен для выполнения следующих действий над виртуальными серверами, созданными на базе технологии виртуализации KVM, в облачной платформе DECORT:
+
+1. Создание нового виртуального сервера указанной аппаратной архитектуры. Платформа поддерживает виртуальные сервера архитектуры Intel x86 и IBM PowerPC.
+2. Изменение конфигурации существующего виртуального сервера:
+ - Изменение количества выделенных CPU и виртуальной ОЗУ. Следует иметь ввиду, что изменение этих параметров в меньшую сторону может потребовать перезагрузки гостевой ОС.
+ - Увеличение размера загрузочного диска
+ - Подключение / отключение дополнительных дисковых ресурсов.
+ - Создание / удаление сетевых подлкючений.
+3. Изменение состояния существующего виртуального сервера:
+ - Выключение / включение.
+ - Перезагрузка, приостановка / возобновление работы гостевой ОС.
+4. Удаление существующего виртуального сервера.
+5. Получение информации о существующем виртуальном сервере без изменения его конфигурации.
+
+## Параметры модуля decort_kvmvm
+
+Ниже в алфавитном порядке приведен полный список параметров для модуля decort_kvmvm. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
+`ansible-doc -t module decort_kvmvm`
+
+
+| Параметр | Тип, допустимые значения | Описание |
+| ------ | ------ | ------ |
+| account_id | int | Уникальный цифровой идентификатор подписчика, владеющего данным виртуальным сервером.Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией `account_id` и `rg_name`. Если задан `account_id`, то `account_name` игнорируется.|
+| account_name | (string) | Имя подписчика, которому будет принадлежать новый виртуальный сервер (или уже принадлежит существующий). Параметр должен задаваться в точном соответствии с тем, как назван нужный подписчик в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов). Этот параметр является опциональным и используется в сценариях, когда уже существующая ресурсная группа задается комбинацией account_name и rg_name. Если задан `account_id`, то `account_name` игнорируется.|
+| annotation | (string) | Опциональное описание виртуального сервера. Этот параметр используется только в момент создания нового виртуального сервера и игнорируется при любых действиях над существующими серверами.|
+| app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль `decort_kvmvm` будет использовать значение переменной окружения `DECORT_APP_ID`.|
+| app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DCORT в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль `decort_kvmvm` будет использовать значение переменной окружения `DECORT_APP_SECRET`.|
+| arch | Значения:
`KVM_X86` <- default
`KVM_PPC`
| Аппаратная архитектура виртуального сервера. Данный параметр является обязательным при создании нового вирутального сервера и игнорируется для уже существующего сервера.
Платформа DECORT поддерживает виртуальные серверы KVM аппаратных архитектур Intel x86 и IBM PowerPC. |
+| authenticator | Значения:
`legacy`
`oauth2`
`jwt` <- default | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. |
+|boot_disk | (int) | Размер загрузочного диска виртуального сервера в ГБ. Загрузочный диск всегда создаётся на той же системе хранения и в том же пуле, где размещён образ ОС (см. параметры `image_name` или `image_id`), на базе которого создаётся данный виртуальный сервер. Если данный параметр не указан на момент создания виртуального сервера, то размер загрузочного диска будет установлен равным размеру образа ОС.|
+| controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным.|
+| cpu | (int) | Количество виртуальных CPU, выделенных виртуальному серверу. Параметр является обязательным при создании нового сервера, во всех других случаях он опциональный. Если указать его для уже существующего сервера, то будет выполнена попытка изменить количество CPU. Следует иметь ввиду, что уменьшение количества CPU у работающего сервера, как правило, потребует его перезагрузки.|
+| data_disks | (list) | Список идентификаторов дисков, которые следует подключить к данному виртуальному серверу как дополнительные (помимо загрузочного диска, который создаётся автоматически вместе с виртуальным сервером).|
+| id | (int) | Уникальный цифровой идентификатор виртуального сервера внутри платформы. Этот параметр используется как один из методов идентификации существующего сервера (альтернатива – по комбинации name, `rg_name` и `account_name`) и игнорируется при создании нового сервера, так как для нового сервера облачная платформа назначает этот идентификатор автоматически. Если при вызове модуля `decort_kvmvm` существующий виртуальный сервер идентифицируется по своему id, то параметры `account_id`, `account_name`, `rg_id` и `rg_name` игнорируются.|
+| image_id | (int) | Уникальный цифровой идентификатор образа ОС, на базе которого следует создать виртуальный сервер. При создании нового виртуального сервера требуется задать этот параметр или параметр image_name. При любых других операциях данные параметры игнорируются. Если заданы оба этих параметра (`image_id` и `image_name`), то `image_name` игнорируется. Для получения `image_id` по `image_name` можно использовать модуль `decort_osimage`.|
+| image_name | (string) | Название образа ОС, на базе которого следует создать виртуальный сервер. При создании нового виртуального сервера требуется задать этот параметр или параметр `image_id`. При любых других операциях данные параметры игнорируются. Параметр `image_name` должен задаваться в точном соответствии с тем, как назван нужный образ ОС в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов).|
+| jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt`. Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль `decort_kvmvm` будет использовать значение переменной окружения `DECORT_JWT`.
+| name | (string) | Название виртуального сервера. Чтобы модуль `decort_kvmvm` мог управлять сервером по его названию, также необходимо задать комбинацию `account_name` и `rg_name` или идентификатор `rg_id`. Параметр должен задаваться в точном соответствии с тем, как назван сервер в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов). Если для существующего виртуального сервера указаны и name, и id, то параметр name игнорируется и идентификация сервера выполняется по его id.|
+| networks | (list of dicts) | Опциональный список словарей, задающих сетевые подключения для данного виртуального сервера. Структура словаря:- (string) type - тип сетевого подключения, одно из VINS или EXTNET; - (int) id - идентификатор сетевого сегмента данного подключения; для type: VINS это VINS ID, для type: EXTNET это ID внешнего сетевого сегмента; - (string) ip_addr - опциональный IP адрес, который надлежит присвоить данному подключению; если данный параметр не указан, то платформа назначит свободный IP адрес из нужного диапазона автоматически. Если этот параметр не задан, то будет создан сервер без сетевых подключений, а если модуль вызван для уже существуюшего сервера, то все его сетевые подключения будут удалены.|
+|oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль `decort_kvmvm` будет использовать значение переменной окружения `DECORT_OAUTH2_URL`.|
+| password | (string) | Пароль для подключения к контроллеру облачной инфраструктуры DECORT в режиме `authenticator: legacy`. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать в playbook. Если параметр не задан в playbook, то модуль `decort_kvmvm` будет использовать значение переменной окружения `DECORT_PASSWORD`.|
+| ram | (int) | Объем оперативной памяти (RAM) в MB, выделенной данному виртуальному серверу. Параметр является обязательным при создании нового сервера. Если указать его для уже существующего сервера, то будет выполнена попытка изменить объем выделенной серверу памяти. Следует иметь ввиду, что уменьшение объема памяти работающего сервера в большинстве случаев потребует его перезагрузки.|
+| rg_id | (int) | Уникальный цифровой идентификатор уже существующей ресурсной группы (RG), в которой будет создан новый или находится уже существующий виртуальный сервер. Данный параметр является одним из методов идентификации существующей RG (альтернативой является задание комбинации `account_name` и `rg_name`).|
+| rg_name | (string) | Имя уже существующей ресурсной группы (RG), в которой будет создан новый или находится уже существующий виртуальный сервер. Данный параметр является одним из методов идентификации существующей RG, когда задается пара `account_name` и `rg_name` (альтернативой является задание `rg_id`, который можно получить с помощью модуля `decort_rg`). Параметр должен задаваться в точном соответствии с тем, как нужная ресурсная группа названа в облачной инфраструктуре (с соблюдением заглавных и строчных символов, а также пробелов). Если заданы и `rg_id`, и `rg_name`, то параметр `rg_name` игнорируется.|
+| ssh_key | (string) | Открытая часть SSH ключа, который необходимо авторизовать на создаваемом виртуальном сервере для пользователя, заданного параметром `ssh_key_user`. Данный параметр применим только для Linux серверов, является опциональным, используется только при создании нового сервера и игнорируется при других операциях.|
+| ssh_key_user | (string) | Имя пользователя на уровне гостевой ОС (только для Linux серверов) для которого авторизуется SSH ключ, заданный параметром `ssh_key`. Данный параметр является обязательным, если задан `ssh_key`, используется только при создании нового сервера и игнорируется при других операциях.|
+| state | Значения:
`present` <- default
`absent`
`poweredon`
`poweredoff`
`halted`
`paused`
`check` | Целевое состояние виртуального сервера на выходе из модуля _decort_kvmvm_.
Значение 'halted' - синоним к 'poweredoff'.
Значение 'check' вызывает модуль в _read-only_ режиме и считывает характеристики существующего виртуального сервера. |
+| tags | (string) | Строка, содержащая набор текстовых меток, которые надлежит присвоить данному виртуальному серверу. Данные текстовые метки представляют собой произвольный текст, который можно использовать для группировки и индексирования виртуальных серверов во внешних приложениях. Параметр является опциональным.|
+| user | (string) | Имя пользователя, непосредственно зарегистрированного на контроллере облачной инфраструктуры DECORT, которое используется для подключения к контроллеру в режиме `authenticator: legacy`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль `decort_kvmvm` будет использовать значение переменной окружения `DECORT_USER`.|
+| 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_kvmvm` не реализована.|
+
+
+## Возвращаемые значения модуля decort_kvmvm
+
+Модуль decort_kvmvm возвращает информацию о виртуальном сервере в виде словаря facts со следующими ключами:
+
+
+| Ключ | Тип данных | Описание |
+| ------ | ------ | ------ |
+| account_id | int |Цифровой идентификатор подписчика, владеющего данным виртуальным сервером.|
+| account_name | string | Имя подписчика, владеющего данным виртуальным сервером.|
+| arch | string | Аппаратная архитектура данного виртуального сервера. Допустимые значения: KVM_X86 для Intel x86 и KVM_PPC для IBM PowerPC.|
+| cpu | int | Количество виртуальных CPU, выделенных данному виртуальному серверу.|
+| data_disks | list of ints | Список идентификаторов data-дисков, в настоящий момент подключенных к данному серверу.|
+| disk_size | int | Размер загрузочного диска в ГБ.|
+| id | int | Уникальный цифровой идентификатор данного виртуального сервера (экземпляра compute) в платформе DECORT.|
+| name | string | Имя виртуального сервера. Имя уникально только в рамках одной и той же ресурсной группы.|
+| password | string | Пароль системного пользователя по умолчанию.|
+| private_ips | list of strings | Список IP адресов на сетевых интерфейсах сервера, которые подключены к виртуальным сетевым сегментам (Virtual Network Segments, ViNS).|
+| public_ips | list of strings | Список IP адресов на сетевых интерфейсах сервера, которые подключены непосредственно к внешним сетевым сегментам (external network segments).|
+| ram | int | Объём ОЗУ в МБ, выделенный виртуальному серверу.|
+| rg_id | int | Уникальный цифровой идентификатор ресурсной группы (RG), к которой принадлежит данный сервер.|
+| state | string | Состояние виртуального сервера.|
+| username | string |Имя системного пользователя по умолчанию.|
+
+## Пример использования модуля decort_kvmvm
+
+В данном примере создается виртуальный сервер KVM VM по имени MyFirstVM с аппаратной архитектурой Intel x86.
+```
+- name: create new x86 KVM VM according to the specs
+ decort_kvmvm:
+ authenticator: oauth2
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ controller_url: "https://cloud.digitalenergy.online"
+ name: MyFirstVM
+ arch: KVM_X86
+ state: present
+ cpu: 2
+ ram: 4096
+ boot_disk: 10
+ image_id: "{{ my_img.facts.id }}"
+ networks:
+ - type: VINS
+ id: "{{ my_vins.facts.id }}"
+ rg_id: "{{ my_rg.facts.id }}"
+ annotation: "My 1st VM created and managed with DECORT KVMVM module"
+ delegate_to: localhost
+ register: new_vm
+```
+
+Виртуальный сервер создаётся на базе некоторого системного образа (дискового ресурса, содержащего операционную систему). В данном примере системный образ задаётся по его идентификатору (image_id: "{{ my_img.facts.id }}"). Для получения такого идентификатора можно использовать модуль decort_osimage.
+
+Виртуальный сервер всегда создаётся в принадлежности к некоторой ресурсной группе. В данном примере соответствующая ресурсная группа задаётся по её идентификатору (rg_id: "{{ my_rg.facts.id }}"). Для управления ресурсными группами предназначен модуль decort_rg. С помощью этого модуля можно также получит идентификатор ресурсной группы, чтобы использовать его при создании виртуального сервера.
+
+Для управления сетевыми подключениями виртуального сервера в модуле decort_kvmvm используется параметр networks, представляющий собой список с описанием требующихся подключений. В данном примере задано одно подключение в виртуальному сетевому сегменту (type: VINS) с указанным идентификатором (id: "{{ my_vins.facts.id }}"). Для управления виртуальными сетевыми сегментами и получения их идентификаторов служит модуль decort_vins.
\ No newline at end of file
diff --git a/модуль-decort_osimage.md b/модуль-decort_osimage.md
new file mode 100644
index 0000000..60cdbbb
--- /dev/null
+++ b/модуль-decort_osimage.md
@@ -0,0 +1,135 @@
+# 03.02 Модуль decort_osimage
+## Обзор модуля decort_osimage
+
+Модуль decort_osimage предназначен для выполнения следующих действий над образами, созданными в облачной платформе DECORT:
+
+1. Создание нового образа операционной системы для виртуальных машин.
+2. Создание виртуального образа для образа операционной системы.
+3. Изменение имени образа (в случае изменения имени виртуального образа, имя и id виртуального образа указываются как image_name и image_id.
+4. Привязка другого образа операционной системы к виртуальному образу.
+5. Удаление существующего образа, привязанного к аккаунту.
+6. Получение информации об образе.
+
+Также данный модуль может быть полезен при массовом создании экземпляров compute (напр., виртуальных серверов) на базе одного и того же образа, так как позволяет оптимизировать количество API вызовов, инициируемых в адрес контроллера облачной платформы.
+
+## Параметры модуля decort_osimage
+Ниже приведен полный список параметров для модуля decort_osimage. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
+
+
+| Параметр | Тип, допустимые значения | Описание |
+| ------ | ------ | ------ |
+| 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`. |
+| verify_ssl | (bool) | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
+| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована. |
+| workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`. Функциональность callbacks в текущей версии модуля не реализована. |
+| account_Id | (string) | Уникальный целочисленный идентификатор аккаунта. Используется для поиска образов, а тажке для их создания. |
+| account_name | (string) | Имя аккаунта. Используется для получения уникального целочисленного идентификатора аккаунта. |
+| virt_id | (integer) | Уникальный целочисленный идентификатор виртуального образа. Может использоваться для получения информации о виртуальном образе, а также для привязки к нему другого образа операционной системы.|
+| virt_name | (string) | Имя виртуального образа. Используется для получения `virt_id`, а в последвии информации о виртуальном образе, а также для создания виртуального образа и привязки к нему другого образа операционной системы.|
+| state | (string) | Состояние образов. При значении present идет создание образов операционной системы, к которым привязан указанный в `account_Id` или `account_name` аккаунт. При значении absent идет их удаление. |
+| drivers | (string) | Список типов compute (напр., виртуальных серверов), подходящих для образа операционной системы. Прим. `KVM_X86`. Используется при создании образа операционной системы.|
+| architecture | (string) | Бинарная архитектура образа. Прим. `X86_64` или `PPC64_LE`. Используется при создании образа операционной системы.|
+| imagetype | (string) | Тип образа. `linux`, `windows` или `other`. По умолчанию установлено `linux`. Используется при создании образа операционной системы.|
+| boottype | (string) | Тип загрузки образа. `bios` или `uefi`. По умолчанию установлено `uefi`. Используется при создании образа операционной системы.|
+| url | (string) | Унифицированный указатель ресурса (URL), указывающий на образ iso операционной системы. Используется при создании образа операционной системы.|
+| sepId | (integer) | Уникальный целочисленный идентификатор конечной точки провайдера хранения. Указывается в паре с `poolName`. Используется при создании образа операционной системы.|
+| poolName | (string) | Пул, в котором будет создан образ. Указывается в паре с `sepId`. Используется при создании образа операционной системы.|
+| hotresize | (bool) | Поддерживает ли образ "горячее" изменение размера. По умолчанию установлено `false`. Используется при создании образа операционной системы.|
+| image_username | (string) | Опциональное имя пользователя для образа. Используется при создании образа операционной системы. |
+| image_password | (string) | Опциональный пароль для образа. Используется при создании образа операционной системы. Используется при создании образа операционной системы.|
+| usernameDL | (string) | Имя пользователя для загрузки бинарного носителя. Используется в паре с `passwordDL`. Используется при создании образа операционной системы. |
+| passwordDL | (string)| Пароль для загрузки бинарного носителя. Используется в паре с `usernameDL`. Используется при создании образа операционной системы. |
+| permanently | (bool) | Навсегда ли удалить образ. Используется при удалении убраза. По умолчанию установлено false.|
+
+
+## Возвращаемые значения модуля decort_osimage
+
+Модуль decort_osimage возвращает информацию о XXX в виде словаря facts со следующими ключами:
+
+
+| Ключ | Тип данных | Описание |
+| ------ | ------ | ------ |
+| arch | string | Аппаратная архитектура, с которой совместим данный образ. Возможные значения: X86_64 (Intel x86), PPC64_LE (IBM PowerPC). |
+| id | int | Уникальный целочисленный идентификатор данного образа. |
+| linkto | int | Уникальный целочисленный идентификатор образа операционной системы, который привязан к данному виртуальному. |
+| name | string | Имя образа. Обратите внимание, что имя образа может содержать пробелы. |
+| pool | string | Пул на системе хранения данных, в котором находится данный образ.|
+| sep_id |int | Идентификатор системы хранения (Storage Endpoint Provider), на которой хранится данный образ. |
+| size |int | Размер образа в ГБ. Загрузочный диск экземпляра compute, создаваемого на базе данного образа, должен иметь как минимум такой же размер. |
+| state | string | Текущий статус образа. Возможные значения: CREATED, DISABLED, DESTROYED. Экземпляры compute можно создавать только на базе образов, которые находятся в статусе CREATED.|
+| type | string | Тип операционной системы внутри данного образа. Возможные значения: Linux, Windows.|
+
+
+
+## Пример использования модуля decort_osimage
+
+
+Пример создания образа операционной системы Alpine Linux.
+```
+ - name: create_osimage
+ decort_osimage:
+ authenticator: oauth2
+ verify_ssl: False
+ controller_url: "https://ds1.digitalenergy.online"
+ state: present
+ image_name: "alpine_linux3.14.0"
+ account_Id: 12345
+ url: "https://dl-cdn.alpinelinux.org/alpine/v3.14/releases/x86_64/alpine-virt-3.14.0-x86_64.iso"
+ boottype: "uefi"
+ imagetype: "linux"
+ hotresize: False
+ image_username: "test"
+ image_password: "p@ssw0rd"
+ usernameDL: "testDL"
+ passwordDL: "p@ssw0rdDL"
+ architecture: "X86_64"
+ drivers: "KVM_X86"
+ delegate_to: localhost
+ register: osimage
+```
+
+Пример получения образа операционной системы по имени образа.
+
+```
+ - name: get_osimage
+ decort_osimage:
+ authenticator: oauth2
+ controller_url: "https://ds1.digitalenergy.online"
+ image_name: "alpine_linux_3.14.0"
+ account_Id: 12345
+ delegate_to: localhost
+ register: osimage
+```
+
+Пример создания виртуального образа. Также в случае, если виртуальный образ уже существует, но к нему привязан другой образ операционной системы, он привяжет к себе указанный в примере образ операционной системы.
+
+```
+ - name: create_virtual_osimage
+ decort_osimage:
+ authenticator: oauth2
+ controller_url: "https://ds1.digitalenergy.online"
+ image_name: "alpine_linux_3.14.0"
+ virt_name: "alpine_last"
+ delegate_to: localhost
+ register: osimage
+```
+Обратите внимание, что в данным примере можно использовать как image_name, так и image_id. Также можно использовать либо virt_name, либо virt_id.
+
+Пример переименования образа.
+
+```
+ - name: rename_osimage
+ decort_osimage:
+ authenticator: oauth2
+ controller_url: "https://ds1.digitalenergy.online"
+ image_name: "alpine_linux_3.14.0v2.0"
+ image_id: 54321
+ delegate_to: localhost
+ register: osimage
+```
+
diff --git a/модуль-decort_pfw.md b/модуль-decort_pfw.md
new file mode 100644
index 0000000..18eca68
--- /dev/null
+++ b/модуль-decort_pfw.md
@@ -0,0 +1,73 @@
+# 03.04 Модуль decort_pfw
+## Обзор модуля decort_pfw
+
+Модуль decort_pfw предназначен для управления правилами трансляции сетевых портов для указанного экземпляра Compute (например, для виртуального сервера, созданного с помощью decort_kvmvm).
+
+##Параметры модуля decort_pfw
+
+Ниже в алфавитном порядке приведен полный список параметров для модуля decort_pfw. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
+`ansible-doc -t module decort_pfw`
+
+
+| Параметр | Тип, допустимые значения | Описание|
+| ------ | ------ | ------ |
+|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. |
+|compute_id | (int) | Идентификатор экземпляра Compute (напр., виртуального сервера), для которого требуется настроит правила.|
+|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`.|
+|rules | (list of dicts) | Список словарей, задающих правила трансляции сетевых портов. Правила могут задавать как трансляцию "один к одному", так и "диапазон в диапазон". Структура словаря: (int) public_port_start - номер внешнего порта (на публичном интерфейсе ViNS, заданного параметром vins_id) для начала диапазона. (int) public_port_end - номер внешнего порта для конца диапазона. Если требуется правило "один к одному", то public_port_end можно не указывать или указать равным public_port_start. (int) local_port - номер порта на интерфейсе экземпляра Compute, заданного параметром compute_id. Если задаётся правило "диапазон в диапазон", то local_port становится началом диапазона для трансляции. В случае правила "один к одному" public_port_start просто транслируется в local_port (string) proto - протокол, tcp или udp.|
+| state | Значения:
`present` <- default
`absent`
`check`
| Целевое состояние правил.
Если `state=absent`, то будут удалены все правила для указанного `compute_id` независимо от содержания параметра `rules`. В противном случае набор правил на выходе из модуля будет соответствовать тому, который содержится в параметре `rules`.
Если задан `state=check`, то модуль запускается в режиме read-only и возвращает текущие настройки правил трансляции сетевых портов для указанных `compute_id` и `vins_id`. |
+| verify_ssl | (bool)
`True` <- default
`False` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
+|vins_id | (int) | Идентификатор виртуального сетевого сегмента (Virtual Network Segment, ViNS), в рамках которого настраиваются правила трансляции сетевых портов. Экземпляр Compute, заданный в параметре `compute_id`, должен быть уже подключён к данному ViNS.|
+| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована. |
+|workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`. Функциональность callbacks в текущей версии модуля не реализована.|
+
+## Возвращаемые значения модуля decort_pfw
+
+Модуль decort_pfw возвращает информацию о правилах трансляции сетевых портов и сопутсвтующую информацию в виде словаря facts со следующими ключами:
+
+
+|Ключ | Тип данных | Описание|
+| ------ | ------ | ------ |
+|compute_id | int | Идентификатор compute, для которого настроены перечисленные правила трансляции.|
+|public_ip | string |IP адрес на внешнем сетевом интерфейсе ViNS. Перечисленные ниже правила трансляции настраиваются на этом интерфейсе.|
+|rules | list of dict | Список словарей, описывающих правила трансляции сетевых портов. Структура словаря: (int) id - идентификатор правила. (int) publicPortStart - номер внешнего порта (на публичном интерфейсе ViNS, см. public_ip) для начала диапазона. (int) publicPortEnd - номер внешнего порта для конца диапазона. Если требуется правило "один к одному", то publicPortEnd можно не указывать или указать равным publicPortStart. (int) localPort - номер порта на интерфейсе экземпляра Compute, заданного параметром compute_id. Если задаётся правило "диапазон в диапазон", то localPort указывает начало диапазона для трансляции. В случае правила "один к одному" publicPortStart просто транслируется в localPort. (string) protocol - протокол, tcp или udp.|
+|state | string | Статус правил. Для корректно отработавшего модуля это поле должно иметь значение "PRESENT".|
+|vins_id | int | Идентификатор виртуального сетевого сегмента (ViNS), в котором настроены перечисленные выше правила трансляции.|
+
+## Пример использования модуля decort_pfw
+
+В данном примере для ранее созданного экземпляра KVM VM compute (идентифицируется по compute_id), подключённого к указанному виртуальному сетевому сегменту (идентифицируется по vins_id) настраиваются два правила трансляции сетевых портов:
+
+- Правило "один к одному": внешний порт 30022 -> внутренний порт 22, протокол tcp.
+- Правило "диапазон в диапазон": внешние порты с 30080 по 30085 включительно -> внутренние порты начиная с 30080, протокол tcp.
+
+```
+- name: manage port forwarding rules
+ decort_pfw:
+ authenticator: oauth2
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ controller_url: "https://cloud.digitalenergy.online"
+ compute_id: "{{ my_kvmvm.facts.id }}"
+ vins_id: "{{ my_vins01.facts.id }}"
+ rules:
+ - public_port_start: 30022
+ local_port: 22
+ proto: tcp
+ - public_port_start: 30080
+ public_port_end: 30085
+ local_port: 30080
+ proto: tcp
+ state: present
+ register: my_pfw
+ delegate_to: localhost
+```
+
+В данном примере результат выполнения модуля decort_pfw записывается в переменную my_pfw. Для доступа к списку правил используйте следующую конструкцию:
+
+`"{{ my_pfw.facts.rules }}"`
diff --git a/модуль-decort_rg.md b/модуль-decort_rg.md
new file mode 100644
index 0000000..5052a23
--- /dev/null
+++ b/модуль-decort_rg.md
@@ -0,0 +1,73 @@
+# 03.05 Модуль decort_rg
+## Обзор модуля decort_rg
+
+Модуль decort_rg предназначен для создания, редактирования и удаления ресурсных групп (Resource Group, RG) в облачной платформе DECORT, а также для получения информации об уже существующей ресурсной группе.
+Модуль decort_rg позволяет:
+- Создавать\удалять ресурсные группы.
+- Запрашивать информацию об уже существующих ресурсных группах.
+- Редактировать ресурсные группы.
+- Настраивать квоты в ресурсных группах.
+- Восстанавливать ресурсные группы.
+
+## Параметры модуля decort_rg
+
+Ниже в алфавитном порядке приведен полный список параметров для модуля decort_rg. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
+`ansible-doc -t module decort_rg`
+
+
+|Параметр | Тип, допустимые значения | Описание|
+| ------ | ------ | ------ |
+| account_id | (int) | Уникальный целочисленный идентификатор учётной записи (account), в рамках которой создаётся или уже существует данная ресурсная группа. Должен быть задан либо идентификатор, либо имя учётной записи (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то account_name игнорируется.|
+|account_name | (string) | Имя учётной записи (account), в рамках которой создаётся или уже существует данная ресурсная группа. Должно быть задано либо имя, либо идентификатор учётной записи (см. параметр `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`.|
+|quotas | (dict) | Зарезервировано для будущих расширений, предназначено для задания или изменения квоты на ресурсы в составе данной ресурсной группы.|
+|rg_name | (string) | Имя ресурсной группы. Данный параметр является обязательным.|
+| state | Значения:
`present` <- default
`absent`
`enabled`
`disabled`
| Целевое состояние ресурсной группы. |
+| 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_rg
+
+Модуль decort_rg возвращает информацию о XXX в виде словаря facts со следующими ключами:
+
+
+|Ключ | Тип данных | Описание|
+| ------ | ------ | ------ |
+| account_id | int | Уникальный целочисленный идентификатор учётной записи (account), которому принадлежит данная ресурсная группа.|
+|gid | int | Идентификатор физического кластера (Grid ID), на базе которого развёрнута ресурсная группа.|
+|id | int | Уникальный целочисленный идентификатор ресурсной группы.|
+|name | string |Имя ресурсной группы. Обратите внимание, что это имя уникально только в рамках учётной записи, которой принадлежит данная ресурсная группа.|
+|state | string | Текущее состояние ресурсной группы. Корректные состояния: CREATED, DISABLED, DELETED, DESTROYED|
+
+## Пример использования модуля decort_rg
+
+В данном примере показано, как создать ресурсную группу по имени MyRG в учётной записи MyAccount.
+```
+- name: manage resource group
+ decort_rg:
+ authenticator: oauth2
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ controller_url: "https://cloud.digitalenergy.online"
+ account_name: "MyAccount"
+ rg_name: "MyRG"
+ state: present
+ register: my_rg
+ delegate_to: localhost
+```
+В данном примере результат работы модуля decort_rg записывается в переменную my_rg.
+
+Модули DECORT, которым для работы требуется ресурсная группа, в качестве одного из параметров, как правило, принимают идентификатор `rg_id`. Так, например, используя модуль `decort_kvmvm` для создания виртуального сервера необходимо указать ресурсную группу, к которой будет принадлежать этот виртуальный сервер. Сделать это можно следующим образом:
+```
+ <прочие детали опущены>
+ rg_id: "{{ my_rg.facts.id }}"
+```
\ No newline at end of file
diff --git a/модуль-decort_vins.md b/модуль-decort_vins.md
new file mode 100644
index 0000000..c2a2bd2
--- /dev/null
+++ b/модуль-decort_vins.md
@@ -0,0 +1,120 @@
+# 03.06 Модуль decort_vins
+## Обзор модуля decort_vins
+
+Модуль decort_vins предназначен для создания, изменения, получения текущих характеристик и удаления виртуального сетевого сегмента (Virtual Network Segment, ViNS).
+Позволяет:
+- Создавать, удалять виртуальные сетевые сегменты.
+- Изменять виртуальные сетевые сегменты.
+- Запрашивать информацию о виртуальных сетевых сегментах.
+- Восстанавливать удалённые виртуальные сетевые сегменты.
+- Соединять виртуальные сетевые сегменты.
+
+## Параметры модуля decort_vins
+
+Ниже в алфавитном порядке приведен полный список параметров для модуля decort_vins. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
+`ansible-doc -t module decort_vins`
+
+
+|Параметр | Тип, допустимые значения | Описание|
+| ------ | ------ | ------ |
+|account_id | (int) | Уникальный целочисленный идентификатор учётной записи (account), которой принадлежит данный ViNS. При идентификации виртуального сетевого сегмента по имени (см. параметр `vins_name`) должно быть задан либо идентификатор, либо имя учётной записи (см. параметр `account_name`). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется.|
+|account_name | (string) | Имя учётной записи (account), которой принадлежит данный ViNS. При идентификации виртуального сетевого сегмента по имени (см. параметр `vins_name`) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр account_id). Если одновременно заданы и `account_id`, и `account_name`, то `account_name` игнорируется.|
+|annotation | (string)| Текстовое описание виртуального сетевого сегмента. Данный аргумент является опциональным и учитывается только при создании ViNS, а при всех прочих операциях игнорируется.|
+|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, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным. ext_net_id (int) Данный аргумент контролирует подключение виртуального сетевого сегмента во внешнюю сеть: * -1 (default) - ViNS не подключён ко внешней сети; * 0 - ViNS подключён ко внешней сети, которую платформа выбирает по умолчанию; * >0 - ViNS подключён ко внешней сети с заданным идентификатором;|
+|ext_ip_addr | (string) | Данный аргумент позволяет выбрать IP адрес для подключения виртуального сетевого сегмента ко внешней сети (когда значение аргумента ext_net_id больше либо равно 0) и учитывается только при новых подключених - в рамках модуля `decort_vins` вы не можете изменить внешний IP адрес не меняя идентификатор внешней сети. Параметр является опциональным: если он не задан, то в случае ViNS, подключённого во внешнюю сеть, платформа назначит IP адрес автоматически.| При ручном задании данного параметра следует иметь ввиду, что если будет задан неверный или уже занятый IP адрес, то модуль вернёт ошибку.
+|ipcidr | string | Адрес, которые надлежит присвоить внутренней сети сетевого сегмента. Данный аргумент является опциональным и используется только при создании нового виртуального сетевого сегмента, а при всех прочих операциях игнорируется. Если этот аргумент не задан, то платформа назначит адрес автоматически. Обратите внимание, что виртуальные сетевые сегменты, принадлежащие одной и той же учётной записи, не могут иметь пересекающихся диапазонов внутренних адресов.|
+|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_. |
+|rg_id | (int) | Идентификатор ресурсной группы, в которой должен быть создан или уже существует ViNS. Если одновременно заданы `rg_id` и `rg_name`, то `rg_name` игнорируется.|
+|rg_name | (string) | Имя ресурсной группы, в которой должен быть создан или уже существует ViNS. Если одновременно заданы `rg_name` и `rg_id`, то `rg_name` игнорируется.|
+| state | Значения:
`present` <- default
`absent`
`enabled`
`disabled`
| Целевое состояние ViNS. |
+| verify_ssl | (bool)
`True` <- default
`False` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
+|vins_id | (int) | Идентификатор виртуального сетевого сегмента. Соответствующий сетевой сегмент должен существовать (таким образом, с помощью `vins_id` нельзя создать новый сегмент, а только управлять уже имеющимися. Если задан данный параметр, то параметры `vins_name`, `account_name`, `account_id`, `rg_name` и `rg_id` игнорируются.|
+|vins_name| (string) | Имя виртуального сетевого сегмента. Для идентификации виртуального сетевого сегмента требуется либо vins_name и информация об учётной записи/ресурсной группе, которой принадлежит сегмент, либо `vins_id`. Обратите внимание, что это имя уникально только в рамках ресурсной группы или учетной записи, на уровне которой существует данный сетевой сегмент.|
+| ext_net_id | (int) | Уникальный целочисленный идентификатор внешней сети. |
+| mgmtaddr | (str) | Адрес менеджмента интерфейса. В данный параметр указывается ip адрес менеджмента интерфейса, который предоставляет доступ по SSH. |
+| custom_config | (bool) | Параметр, отвечающий за использование пользовательской конфигурации. По умолчанию: `False` |
+| config_save | (bool) | Параметр, отвечающий за сохранение файла конфигурации. По умолчанию: `False` |
+| connect_to | (list) | Список, в котором необходимо указывать виртуальные сетевые сегменты, которые Вы хотите соединить. См. примеры.
+|workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль desc_vm будет оперативно передавать информацию о своем статусе и текущей фазе исполнения. Данный параметр является опциональным. Функциональность callbacks в текущей версии модуля не реализована.|
+|workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL. Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов workflow_callback данные со своим внутренним состоянием и отслеживать инициированные им задачи. Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`. Функциональность callbacks в текущей версии модуля не реализована.|
+
+## Возвращаемые значения модуля decort_vins
+
+Модуль decort_vins возвращает информацию о виртуальном сетевом сегменте (Virtual Network Segment, ViNS) в виде словаря facts со следующими ключами:
+
+| Ключ | Тип данных | Описание |
+| --- | --- | --- |
+| account_id | int | Уникальный целочисленный идентификатор учётной записи (_account_), которой принадлежит ViNS. |
+| ext_ip_addr | (string) | IP адрес интерфейса, которым ViNS подключён во внешнюю сеть. Если ViNS не подключён к внешней сети, то пустая строка. |
+| ext_net_id | (int) | Идентификатор внешней сети, к которой подключён ViNS. -1 означает, что ViNS в данный момент не подключён к внешней сети. |
+| gid | (int) | Идентификатор физического кластера (Grid ID), на базе которого развёрнуты ресурсы данного ViNS. |
+| id | (int) | Уникальный целочисленный идентификатор ViNS. |
+| name | (string) | Имя ViNS. Обратите внимание, что это имя уникально только в рамках учётной записи или ресурсной группы, на уровне которых создан ViNS. |
+| int_net_addr | (string) | Адрес внутренней сети ViNS. Обратите внимание, что адреса внутренних сетей всех ViNS, принадлежащих одной и той же учётной записи (независимо от того, создан ли ViNS на уровне учётной записи или ресурсной группы), не пересекаются. |
+| rg_id | (int) | Уникальный целочисленный идентификатор учётной ресурсной группы, которой принадлежит данный ViNS. Если данный ViNS создан на уровне учётной записи, то `rg_id=0`. |
+| state | (string) | Текущее состояние ViNS.
Корректные состояния: `CREATED`, `ENABLED`, `DISABLED`, `DELETED`, `DESTROYED`. |
+
+
+
+## Пример использования модуля decort_vins
+
+В данном примере создаётся виртуальный сетевой сегмент с именем "MyVins01" (vins_name: "MyVins01").
+
+Сетевой сегмент создаётся на уровне ресурсной группы "MyRg01" (rg_name: "MyRg01"), принадлежащей учётной записи "MyMainAccount" (account_name: "MyMainAccount"). Виртуальный сетевой сегмент будет иметь подключение во внешнюю сеть по умолчанию (ext_net_id: 0).
+```
+ - name: Manage ViNS at resource group level
+ decort_vins:
+ authenticator: jwt
+ jwt: "{{ my_jwt.jwt }}"
+ controller_url: "https://ds1.digitalenergy.online"
+ vins_name: "vins_created_by_decort_VINS_module"
+ state: present
+ rg_id: 198
+ ext_net_id: -1
+ ipcidr: "10.20.30.0/24"
+ mgmtaddr: "10.20.30.1"
+ custom_config: false
+ config_save: false
+ verify_ssl: false
+ register: my_vins
+ ```
+
+Здесь результат исполнения модуля decort_vins записывается в переменную my_vins, которую можно дальше использовать в Ansible playbooks. Ниже показано, как получить и использовать идентификатор ViNS для подключения к нему виртуального сервера.
+```
+- name: manage virtual server
+ decort_kvmvm:
+ << для краткости фрагмент опущен >>
+ networks:
+ - type: VINS
+ id: "{{ my_vins.facts.id }}"
+ << для краткости фрагмент опущен >>
+```
+
+В данном примере идёт создание виртуального сетевого сегмента, а потом его привязка к виртуальным сетевым сегментам с id 864 и 196.
+```
+ - name: Manage ViNS at resource group level
+ decort_vins:
+ authenticator: jwt
+ jwt: "{{ my_jwt.jwt }}"
+ controller_url: "https://cloud.digitalenergy.online"
+ vins_name: "vins_connected_by_decort_vins_module"
+ state: present
+ rg_id: 98
+ connect_to:
+ - type: VINS
+ id: 864
+ ipaddr: 192.168.5.66
+ netmask: 24
+ - type: VINS
+ id: 196
+ ipaddr: 192.168.9.133
+ netmask: 24
+ register: managed_vins
+
+```
+
+
diff --git a/полезные-советы.md b/полезные-советы.md
new file mode 100644
index 0000000..62efe8f
--- /dev/null
+++ b/полезные-советы.md
@@ -0,0 +1,16 @@
+## 4.1 Как хранить авторизационную информацию отдельно от плейбука.
+
+В зависимости от метода авторизации нужная информация может передаваться в аргументах app_id & app_secret (пара аргументов), jwt (единичный аргумент) или user & password (пара аргументов). Однако, помещать данную информацию непосредственно в плейбук или роль может быть небезопасным, так как она позволяет любому, кто получил этот файл, осуществить доступ к контроллеру облачной инфраструктуры от лица данного пользователя.
+
+Если вышеперечисленные параметры не указаны в плейбуке или роли, то Ansible модуль DECORT попытается использовать значения, заданные в соответствующих переменных окружения:
+
+
+| Аргумент | Переменная окружения|
+| ------ | ------ |
+| app_id | DECORT_APP_ID |
+| app_secret | DECORT_APP_SECRET |
+| jwt | DECORT_JWT |
+| user | DECORT_USER |
+| password | DECORT_PASSWORD |
+
+Поэтому для использования плейбука, не содержащего секретной информации, рекомендуется вместо внесения значений непосредственно в файл перед запуском провайдера установить нужные переменные окружения.
\ No newline at end of file