# Модуль decort_sdn_segment ## Обзор модуля Модуль **decort_sdn_segment** предназначен для выполнения следующих действий над сегментами: - **получить основную информацию** (см. [возвращаемые значения](#основная-информация) и [примеры](#получить-основную-информацию-о-сегменте)) - **создать** (см. [примеры](#создать)) - **удалить** (см. [параметр state](#state) и [примеры](#удалить)) - **удалить принудительно** (см. [параметр state](#state) и [примеры](#удалить-принудительно)) - **изменить** (см. [примеры](#изменить)) - **описание** (см. [параметр description](#description) и [примеры](#описание)) - **имя** (см. [параметр display_name](#display_name) и [примеры](#имя)) - **подсеть v4** (см. [параметр subnet_v4](#subnet_v4) и [примеры](#подсеть-v4)) - **подсеть v6** (см. [параметр subnet_v6](#subnet_v6) и [примеры](#подсеть-v6)) - **включить** (см. [параметр state](#state) и [примеры](#включить)) - **выключить** (см. [параметр state](#state) и [примеры](#выключить)) - **конфигурация DHCPv4** (см. [конфигурация dhcp_v4](#dhcp_v4) и [примеры](#конфигурация-DHCPv4)) - **конфигурация DHCPv6** (см. [конфигурация dhcp_v6](#dhcp_v6) и [примеры](#конфигурация-DHCPv6)) - **тип** (см. [параметр type](#type) и [примеры](#тип)) ## Параметры модуля Ниже приведен список параметров для модуля **decort_sdn_segment** (за исключением [общих параметров](./введение.md#общие-параметры-модулей)):
Параметр Тип Описание
access_group_id (str) Идентификатор группы доступа.
description (str) Описание сегмента.
dhcp_v4 (dict) Настройки DHCPv4.
dns (list[str]) Список DNS-серверов IPv4.
excluded_address_ranges (list[str]) Список IPv4-диапазонов, исключенных из выдачи.
gateway (str) IPv4-адрес шлюза.
id (str) Идентификатор конфигурации DHCPv4.
lease_time (int) Время аренды адреса в секундах.
server_ip (str) IPv4-адрес DHCP-сервера.
server_mac (str) MAC-адрес DHCP-сервера.
enabled (bool) Включён ли DHCPv4.
dhcp_v6 (dict) Настройки DHCPv6.
address_prefix (str) IPv6-префикс подсети, из которой выдаются адреса.
dns (list[str]) Список DNS-серверов IPv6.
id (str) Идентификатор конфигурации DHCPv6.
lease_time (int) Время аренды адреса в секундах.
server_mac (str) MAC-адрес DHCPv6-сервера.
enabled (bool) Включён ли DHCPv6.
display_name (str) Отображаемое имя сегмента.
segment_id (str) Идентификатор сегмента.
state (str)
Значения:
absent
absent_force
disabled
enabled
present
Целевое состояние сегмента.
absent - отсутствует. Если существует, будет удалён.
absent_force - отсутствует. Если существует, будет удалён принудительно.
disabled - выключен. Если включён, будет выключен.
enabled - включён. Если выключен, будет включён.
present - существует. Если отсутствует, будет создан.
Значение по умолчанию, если объект не найден: present.
subnet_v4 (str) Подсеть IPv4.
subnet_v6 (str) Подсеть IPv6.
type (str)
Значения:
User
ExtNet
Тип сегмента.
version_id (int) Идентификатор версии.
## Возвращаемые значения Модуль **decort_sdn_segment** возвращает информацию о сегменте в виде словаря `facts` со следующими ключами:
Ключ Тип
данных
Описание
access_group_id str Идентификатор группы доступа.
access_group_name str | null Название группы доступа.
created_at str Дата и время создания в формате ISO 8601.
description str Описание сегмента.
dhcp_v4 dict[str, any] | null Конфигурация DHCP для IPv4.
dns list[str] | null Список DNS-серверов IPv4.
excluded_address_ranges list[str] | null Список исключённых IPv4-адресов/диапазонов.
gateway str IPv4-адрес шлюза.
id str | null Идентификатор конфигурации DHCPv4.
lease_time int | null Время аренды адреса в секундах.
server_ip str IPv4-адрес DHCP-сервера.
server_mac str | null MAC-адрес DHCP-сервера.
enabled bool | null Включён ли DHCPv4.
dhcp_v6 dict[str, any] | null Конфигурация DHCP для IPv6.
address_prefix str 64-битный IPv6-префикс адресов.
dns list[str] | null Список DNS-серверов IPv6.
id str | null Идентификатор конфигурации DHCPv6.
lease_time int | null Время аренды адреса в секундах.
server_mac str | null MAC-адрес DHCP-сервера.
enabled bool | null Включён ли DHCPv6.
display_name str Отображаемое имя сегмента.
enabled bool Включён ли сегмент.
id str Идентификатор сегмента.
l2_connection_port dict[str, any] | null Параметры L2-подключения к внешней сети.
access_group_id str Идентификатор группы доступа.
created_at str Дата и время создания в формате ISO 8601.
created_by str
id str Идентификатор порта подключения.
l2_external_network dict[str, any] Параметры внешней L2-сети.
bridge_network_name str Имя сетевого моста.
created_at str Дата и время создания в формате ISO 8601.
created_by str
description str Описание внешней сети.
display_name str Отображаемое имя внешней сети.
hypervisors list[str] Список идентификаторов гипервизоров.
id str Идентификатор внешней L2-сети.
updated_at str Дата и время обновления в формате ISO 8601.
updated_by str
version_id int Идентификатор версии объекта.
updated_at str Дата и время последнего обновления в формате ISO 8601.
updated_by str
version_id int Идентификатор версии объекта.
logical_ports_info list[dict[str, any]] | null Список логических портов, привязанных к сегменту.
display_name str Отображаемое имя логического порта.
id str Идентификатор логического порта.
routers_info list[dict[str, any]] | null Список маршрутизаторов, связанных с сегментом.
display_name str Отображаемое имя маршрутизатора.
id str Идентификатор маршрутизатора.
status dict[str, any] | null Статус.
hypervisor_status str Статус гипервизора.
hypervisors list[dict[str, any]] Список гипервизоров и их статусов.
display_name str Отображаемое имя гипервизора.
hypervisor_status str Статус гипервизора.
name str Имя гипервизора.
operation_status str Статус обработки.
synced_at str Время синхронизации в формате ISO 8601.
operation_status str Статус обработки.
subnet_v4 str | null Подсеть IPv4.
subnet_v6 str | null Подсеть IPv6.
type str Тип сегмента.
updated_at str Дата и время последнего обновления в формате ISO 8601.
version_id int Идентификатор версии объекта.
## Примеры использования ### Получить основную информацию о сегменте ``` - name: Example hosts: localhost tasks: - name: Get segment info decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" ``` ### Создать ``` - name: Example hosts: localhost tasks: - name: Create SDN segment decort_sdn_segment: # Параметры для авторизации упущены access_group_id: "{{ access_group_id }}" description: "{{ description }}" display_name: "{{ display_name }}" subnet_v4: "{{ subnet_v4 }}" dhcp_v4: enabled: true gateway: "{{ dhcp_v4_gateway }}" lease_time: "{{ dhcp_v4_lease_time }}" server_ip: "{{ dhcp_v4_server_ip }}" type: User state: present ``` ### Удалить ``` - name: Example hosts: localhost tasks: - name: Delete SDN segment decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" state: absent ``` ### Удалить принудительно ``` - name: Example hosts: localhost tasks: - name: Delete SDN segment decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" state: absent_force ``` ### Изменить #### Описание ``` - name: Example hosts: localhost tasks: - name: Update segment description decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" description: "{{ description }}" ``` #### Имя ``` - name: Example hosts: localhost tasks: - name: Update segment display name decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" display_name: "{{ display_name }}" ``` #### Подсеть v4 ``` - name: Example hosts: localhost tasks: - name: Update IPv4 subnet decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" subnet_v4: "{{ subnet_v4 }}" ``` #### Подсеть v6 ``` - name: Example hosts: localhost tasks: - name: Update IPv6 subnet decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" subnet_v6: "{{ subnet_v6 }}" ``` #### Включить ``` - name: Example hosts: localhost tasks: - name: Disable segment decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" state: enabled ``` #### Выключить ``` - name: Example hosts: localhost tasks: - name: Disable segment decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" state: disabled ``` #### Конфигурация DHCPv4 ``` - name: Example hosts: localhost tasks: - name: Update DHCPv4 settings decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" dhcp_v4: enabled: true gateway: "{{ dhcp_v4_gateway }}" lease_time: "{{ dhcp_v4_lease_time }}" server_ip: "{{ dhcp_v4_server_ip }}" ``` #### Конфигурация DHCPv6 ``` - name: Example hosts: localhost tasks: - name: Update DHCPv6 settings decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" dhcp_v6: enabled: true lease_time: "{{ dhcp_v6_lease_time }}" server_ip: "{{ dhcp_v6_server_ip }}" ``` #### Тип ``` - name: Example hosts: localhost tasks: - name: Update segment type decort_sdn_segment: # Параметры для авторизации упущены segment_id: "{{ segment_id }}" type: "{{ type }}" ```