Files
wiki-decort-ansible/12.0.0/модуль-decort_vins.md
2026-06-01 18:15:20 +03:00

44 KiB
Raw Permalink Blame History

Модуль 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
Целевое состояние внутренней сети.
Значение по умолчанию если объект не существует или безвозвратно удалён: present
permanently (bool)
Default: false
Параметр, использующийся для удаления внутренней сети. При значении true - внутренняя сеть удалится безвозвратно, а при false - попадёт в корзину.
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) Список словарей, содержащих информацию о внутренних сетях, к которым необходимо подключить данную. См. примеры.
zone_id (int) Идентификатор зоны.
security_group_mode (bool) Включить/выключить группы безопасности. Не поддерживается изменение в существующей внутренней сети.
Значение по умолчанию если объект не существует или безвозвратно удалён: false

Возвращаемые значения модуля decort_vins

Модуль decort_vins возвращает информацию о внутренней сети в виде словаря facts со следующими ключами:

Ключ Тип
данных
Описание
account_id int Идентификатор аккаунта.
account_name str Имя аккаунта.
created_by str Имя пользователя, создавшего сеть.
created_datetime str Дата и время создания.
created_timestamp int Unix-время создания.
default_gw str Шлюз по умолчанию.
default_qos dict[str, any] QoS по умолчанию для сети.
egress_rate int Скорость исходящего трафика.
guid str Идентификатор.
ingress_burst int Пиковая нагрузка входящего трафика.
ingress_rate int Скорость входящего трафика.
deleted_by str Имя пользователя, удалившего сеть.
deleted_datetime str Дата и время удаления.
deleted_timestamp int Unix-время удаления.
description str | null Описание.
grid_id int Идентификатор ЦОД.
guid int Идентификатор.
id int Идентификатор.
lock_status str Статус блокировки.
manager_id int Идентификатор менеджера.
manager_type str Тип менеджера.
milestones int Количество событий.
name str Имя.
net_ip str IP-адрес сети.
net_prefix int Префикс сети.
pre_reservation_count int Количество забронированных IP-aдресов в сети.
redundant bool
rg_id int Идентификатор ресурсной группы.
rg_name str Имя ресурсной группы.
secondary_vnfdev_id int
security_group_mode bool Включены ли группы безопасности.
status str Статус.
updated_by str Пользователь, обновивший сеть.
updated_datetime str Дата и время обновления сети.
updated_timestamp int Unix-время обновления сети.
user_managed bool Управляется ли пользователем.
vms list[int] Список идентификаторов виртуальных машин с внутренней сетью.
vnfdev dict[str, any] Словарь описывающий маршрутизатор.
account_id int Идентификатор аккаунта.
capabilities list[str] Список типов виртуальных функций.
config dict[str, any] Кофигурация маршрутизатора.
mgmt dict[str, str] Параметры управления устройством.
ip_addr str IP-адрес.
password str Пароль.
ssh_public_key str SSH ключ.
user_name str Имя.
resources dict[str, any] Выделенные ресурсы.
cpu_count int Количество виртуальных процессоров.
node_id int Идентификатор физического узла.
ram_size_mb int Объём оперативной памяти в МБ.
uuid str Идентификатор.
config_saved bool
custom_pre_cfg bool
description str Описание.
grid_id int Идентификатор ЦОД.
guid int Идентификатор.
id int Идентификатор.
interfaces list[dict[str, any]] Сетевые интерфейсы маршрутизатора.
bus_num int Номер шины.
conn_id int Идентификатор соединения.
conn_type str Тип соединения.
default_gw str Шлюз по умолчанию.
enabled bool Включен ли сетевой интерфейс.
flip_group_id int Идентификатор группы с плавающим IP-адресом.
guid str Идентификатор.
ip_addr str IP-адрес.
libvirt_settings dict[str, any] Настройки libvirt.
event_idx str
guid str Идентификатор.
ioeventfd str
queues int
rx_queue_size int
tx_mode str
tx_queue_size int
listen_ssh bool
mac str MAC-адрес.
mtu int MTU сетевого интерфейса.
name str Имя.
net_id int Идентификатор сети.
net_prefix int Префикс сети.
net_type str Тип сети.
node_id int Идентификатор физического узла.
pci_slot_num int Номер слота PCI.
qos dict[str, any] Quality of Service
egress_rate int Скорость исходящего трафика.
guid str Идентификатор.
ingress_burst int Пиковая нагрузка входящего трафика.
ingress_rate int Скорость входящего трафика.
sdn_logical_port_id str Идентификатор логического порта SDN.
security_group_ids list[int] Список идентификаторов групп безопасности.
security_group_mode bool Включены ли группы безопасности.
target str
type str Тип.
vnf_ids list[int] Идентификаторы виртуальных функций.
live_migration_job_id int Идентификатор задачи live-миграции.
lock_status str Статус блокировки.
milestones int Количество событий.
name str Имя.
status str Статус.
tech_status str Технический статус.
type str Тип.
vins_ids list[int] Идентификаторы внутренних сетей.
vnc_password str Пароль, используемый для подключения к ВМ через VNC.
zone_id int Идентификатор зоны.
vnfs dict[str, dict[str, any] | null] Словарь описывающий функции виртуальной сети.
dhcp dict[str, any] Словарь описывающий DHCP-сервер.
account_id int Идентификатор аккаунта.
config dict[str, any] Кофигурация DHCP-сервера.
default_gw str Шлюз по умолчанию.
dns_servers list[str] Список dns.
ip_pool_end str
ip_pool_start str
lease_time int
net_ip str IP-адрес сети.
net_prefix int Префикс сети.
reservations list[dict[str, any]]
account_id int Идентификатор аккаунта.
client_type str Тип клиентов.
description str Описание.
domain_name str Имя домена.
hostname str Имя хоста.
ip_addr str IP-адрес.
mac str MAC-адрес.
type str Тип.
vm_id int Идентификатор виртуальной машины.
created_datetime str Дата и время создания.
created_timestamp int Unix-время создания.
devices dict[str, any]
primary dict[str, any]
device_id int
iface01_name str
iface02_name str
secondary dict[str, any]
grid_id int Идентификатор ЦОД.
guid int Идентификатор.
id int Идентификатор.
lock_status str Статус блокировки.
milestones int Количество событий.
owner_id int
owner_type str
pure_virtual bool
routes list[dict[str, any]]
status str Статус.
tech_status str Технический статус.
type str Тип.
zone_id int Идентификатор зоны.
gw dict[str, any] Словарь описывающий шлюз.
account_id int Идентификатор аккаунта.
config dict[str, any] Кофигурация шлюза.
default_gw str Шлюз по умолчанию.
ext_net_id int Идентификатор внешней сети.
ext_net_ip str IP-адрес внешней сети.
ext_net_prefix int Префикс внешней сети.
qos dict[str, any] Quality of Service
created_datetime str Дата и время создания.
created_timestamp int Unix-время создания.
devices dict[str, any]
primary dict[str, any]
device_id int
iface01_name str
iface02_name str
secondary dict[str, any]
grid_id int Идентификатор ЦОД.
guid int Идентификатор.
id int Идентификатор.
lock_status str Статус блокировки.
milestones int Количество событий.
owner_id int
owner_type str
pure_virtual bool
routes list[dict[str, any]]
status str Статус.
tech_status str Технический статус.
type str Тип.
zone_id int Идентификатор зоны.
nat dict[str, any] Словарь описывающий NAT.
account_id int Идентификатор аккаунта.
config dict[str, any] Кофигурация NAT.
net_ip str IP-адрес сети.
net_prefix int Префикс сети.
rules list[dict[str, any]] Правила.
created_datetime str Дата и время создания.
created_timestamp int Unix-время создания.
devices dict[str, any]
primary dict[str, any]
device_id int
iface01_name str
iface02_name str
secondary dict[str, any]
grid_id int Идентификатор ЦОД.
guid int Идентификатор.
id int Идентификатор.
lock_status str Статус блокировки.
milestones int Количество событий.
owner_id int
owner_type str
pure_virtual bool
routes list[dic[str, any]]
status str Статус.
tech_status str Технический статус.
type str Тип.
zone_id int Идентификатор зоны.
vxlan_id int Идентификатор VXLAN.
zone_id int Идентификатор зоны.

Пример использования модуля decort_vins

В данном примере создаётся внутренняя сеть с именем "MyVins01" (vins_name: "MyVins01").

Внутренняя сеть создаётся на уровне ресурсной группы "MyRg01" (rg_name: "MyRg01"), принадлежащей аккаунту "MyMainAccount" (account_name: "MyMainAccount"). Внутренняя сеть будет иметь подключение во внешнюю сеть по умолчанию (ext_net_id: 0). Результат исполнения модуля decort_vins записывается в переменную my_vins, которую можно дальше использовать в Ansible playbooks.

  - 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

В данном примере идёт создание внутренней сети, а потом её привязка к внутренним сетям с 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