12 KiB
Модуль decort_vins
Обзор модуля decort_vins
Модуль decort_vins предназначен для управления внутренними сетями (Virtual Network Segment, ViNS) и позволяет производить с ними следующие действия:
- создавать
- на уровне ресурсной группы (если РГ задана)
- на уровне аккаунта (если РГ не задана)
- удалять (безвозвратно)
- восстанавливать из корзины
- запрашивать информацию
- включать/отключать
- соединять (необходимы права администратора)
- изменять:
- включать/отключать SSH-доступ к виртуальному маршрутизатору (необходимы права администратора)
- включать/отключать режим Custom Config для виртуального маршрутизатора (необходимы права администратора)
- сохранять конфигурацию виртуального маршрутизатора для возможности последующего отката к ней (необходимы права администратора)
Параметры модуля decort_vins
Ниже приведен список параметров для модуля decort_vins (за исключением общих параметров авторизации):
Параметр | Тип, допустимые значения | Описание |
---|---|---|
account_id | (int) | Уникальный целочисленный идентификатор аккаунта, которому принадлежит данная внутреняя сеть. При идентификации внутренней сети по имени (см. параметр vins_name ) должен быть задан либо идентификатор, либо имя аккаунта (см. параметр account_name ). Если одновременно заданы и account_id , и account_name , то account_name игнорируется. |
account_name | (string) | Имя аккаунта, которому принадлежит данная внутренняя сеть. При идентификации внутренней сети по имени (см. параметр vins_name ) должно быть задано либо имя, либо идентификатор аккаунта (см. параметр account_id). Если одновременно заданы и account_id , и account_name , то account_name игнорируется. |
description | (string) | Текстовое описание внутренней сети. Данный аргумент является опциональным и учитывается только при создании внутренней сети, а при всех прочих операциях игнорируется. |
ext_net_id | (int) | Идентификатор внешней сети, к которой должна быть подключена внутренняя сеть. Если задать значение 0 , то платформой будет выбрана внешняя сеть по умолчанию. |
ext_ip_addr | (string) | IP-адрес внешней сети, заданной через параметр ext_net_id . Если не задан, то IP-адрес для внешней сети будет выбран платформой автоматически. |
ipcidr | (string) | Адрес сети для создаваемой внутренней сети. Если этот параметр не задан, то платформа назначит адрес автоматически. Обратите внимание, что внутренние сети, принадлежащие одному и тому же аккаунту, не могут иметь пересекающихся сетей. |
rg_id | (int) | Идентификатор ресурсной группы, в которой должна быть создана или уже существует внутренняя сеть. Если одновременно заданы rg_id и rg_name , то rg_name игнорируется. |
rg_name | (string) | Имя ресурсной группы, в которой должна быть создана или уже существует внутренняя сеть. Если одновременно заданы rg_name и rg_id , то rg_name игнорируется. |
state | (string) Значения: present absent enabled disabled Default: present |
Целевое состояние внутренней сети. |
vins_id | (int) | Идентификатор внутренней сети. Соответствующая внутренная сеть должна существовать. Таким образом, с помощью vins_id нельзя создать новую внутреннюю сеть, а только управлять уже имеющимися. Если задан данный параметр, то параметры vins_name , account_name , account_id , rg_name и rg_id игнорируются. |
vins_name | (string) | Имя внутренней сети. Для идентификации внутренней сети требуется либо vins_name и информация об аккаунте/ресурсной группе, которой принадлежит сеть, либо vins_id . Обратите внимание, что это имя уникально только в рамках ресурсной группы или аккаунта, на уровне которого существует данная внутренняя сеть. |
mgmtaddr | (list) | Список существующих IP-адресов виртуального маршрутизатора во внутренней сети, через которые необходимо разрешить SSH-доступ к виртуальному маршрутизатору. |
custom_config | (bool) Default: false |
Включить/отключить режим пользовательской конфигурации виртуального маршрутизатора. |
config_save | (bool) Default: false |
Выполнить сохранение текущей конфигурации виртуального маршрутизатора для возможности последующего отката к ней. |
connect_to | (list) | Список словарей, содержащих информацию о внутренних сетях, к которым необходимо подключить данную. См. примеры. |
Возвращаемые значения модуля decort_vins
Модуль decort_vins возвращает информацию о внутренней сети в виде словаря facts со следующими ключами:
Ключ | Тип данных | Описание |
---|---|---|
account_id | (int) | Уникальный целочисленный идентификатор аккаунта, которому принадлежит внутренняя сеть. |
custom_net_addr | (list) | Список IP-адресов пользовательских интерфейсов виртуального маршрутизатора |
ext_ip_addr | (string) | IP-адрес интерфейса, которым виртуальный маршрутизатор подключён к внешней сети. |
ext_net_id | (int) | Идентификатор внешней сети, к которой подключена внутренняя сеть. -1 означает, что внутренняя сеть не подключёна к внешней сети. |
gid | (int) | Идентификатор физического кластера (Grid ID), на базе которого развёрнуты ресурсы данной внутренней сети. |
id | (int) | Уникальный целочисленный идентификатор внутренней сети. |
name | (string) | Имя внутренней сети. |
int_net_addr | (string) | Адрес внутренней сети. |
rg_id | (int) | Уникальный целочисленный идентификатор ресурсной группы, которой принадлежит данная внутренняя сеть. Если данная внутренняя сеть создана на уровне аккаунта, то rg_id=0 . |
ssh_ipaddr | (list) | Список IP-адресов виртуального маршрутизатора во внутренней сети, на которых включён SSH-доступ к нему. |
ssh_password | (str) | Пароль для SSH-доступа к виртуальному маршрутизатору. |
ssh_port | (int) | Номер порта для SSH-подключения к виртуальному маршрутизатору. |
state | (string) | Состояние внутренней сети. |
Пример использования модуля decort_vins
В данном примере создаётся внутренняя сеть с именем "MyVins01" (vins_name: "MyVins01").
Внутренняя сеть создаётся на уровне ресурсной группы "MyRg01" (rg_name: "MyRg01"), принадлежащей аккаунту "MyMainAccount" (account_name: "MyMainAccount"). Внутренняя сеть будет иметь подключение во внешнюю сеть по умолчанию (ext_net_id: 0).
- name: Manage ViNS on resource group level
decort_vins:
account_name: "MyMainAccount"
rg_name: "MyRg01"
authenticator: jwt
jwt: "{{ my_jwt.jwt }}"
controller_url: "https://ds1.digitalenergy.online"
ext_net_id: 0
vins_name: "MyVins01"
register: my_vins
Здесь результат исполнения модуля decort_vins записывается в переменную my_vins, которую можно дальше использовать в Ansible playbooks. Ниже показано, как получить и использовать идентификатор внутренней сети для подключения к нему виртуального сервера.
- name: Manage virtual machine
decort_kvmvm:
<< для краткости фрагмент опущен >>
networks:
- type: VINS
id: "{{ my_vins.facts.id }}"
<< для краткости фрагмент опущен >>
В данном примере идёт создание внутренней сети, а потом её привязка к внутренним сетям с id 864 и 196.
- name: Manage ViNS on 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"
rg_id: 98
connect_to:
- id: 864
ipaddr: 192.168.5.66
netmask: 24
- id: 196
ipaddr: 192.168.9.133
netmask: 24
register: managed_vins