# Модуль decort_security_group ## Обзор модуля Модуль **decort_security_group** предназначен для выполнения следующих действий над группой безопасности: - **получить информацию** (см. [примеры](#получить-информацию)) - **создать** (см. [примеры](#создать)) - **с указанием описания** (см. [параметр description](#description) и [примеры](#с-указанием-описания)) - **удалить** (см. [параметр state](#state) и [примеры](#удалить)) - **изменить** (см. [примеры](#изменить)) - **название** (см. [параметр name](#param_name) и [примеры](#название)) - **описание** (см. [параметр description](#description) и [примеры](#описание)) - **правила** (см. [параметр rules](#rules) и [примеры](#правила)) ## Параметры модуля Ниже приведен список параметров для модуля **decort_security_group** (за исключением [общих параметров авторизации](./введение.md#общие-параметры-модулей-для-авторизации)):
Параметр Тип Описание
account_id (int) Идентификатор аккаунта. Обязательный при создании.
Не поддерживается изменение для существующей группы безопасности.
description (str) Описание.
id (int) Идентификатор.
name (str) Название. Обязательный при создании.
rules (dict) Словарь, описывающий правила группы безопасности.
mode (str)
Значения:
delete
match
update
Default: update
Режим работы параметра.
delete - указанные управила отсутствуют.
match - существуют только указанные правила.
update - указанные правила существуют.
objects (list) Cписок словарей, описывающих целевые правила.
direction (str)
Значения:
INBOUND
OUTBOUND
Направление трафика. Обязательный параметр.
ethertype (str)
Значения:
IPV4
IPV6
Протокол, инкапсулированный в Ethernet-кадр.
Значение по умолчанию при создании правила: IPV4
id (int) Идентификатор правила.
port_range (dict) Диапазон портов TCP/UDP.
min (int) Нижняя граница диапазона.
max (int) Верхняя граница диапазона.
protocol (str)
Значения:
ICMP
TCP
UDP
Протокол, инкапсулированный в IP-пакет.
remote_ip_prefix (str) Подсеть, в которую должен входить IP-адрес удалённого хоста.
state (str)
Значения:
absent
present
Целевое состояние.
absent - безвозвратно удалён или не существует.
present - существует и не удалён.
Значение по умолчнию при создании: present
## Возвращаемые значения Модуль **decort_security_group** возвращает информацию о группе безопасности в виде словаря `facts` со следующими ключами:
Ключ Тип
данных
Описание
account_id int Идентификатор аккаунта.
created_by str Пользователь, создавший объект.
created_timestamp int Unix-время создания.
description str Описание.
id int Идентификатор.
name str Название.
rules list Список словарей, описывающих правила.
direction str Направление трафика.
ethertype str Протокол, инкапсулированный в Ethernet-кадр.
id int Идентификатор правила.
port_range dict Диапазон портов TCP/UDP.
min int Нижняя граница диапазона.
max int Верхняя граница диапазона.
protocol str | null Протокол, инкапсулированный в IP-пакет.
remote_ip_prefix str Подсеть, в которую должен входить IP-адрес удалённого хоста.
updated_by str Пользователь, обновивший объект.
updated_timestamp int Unix-время обновления.
## Примеры использования ### Получить информацию ``` - name: Example hosts: localhost tasks: - name: Get security group info decort_security_group: # Параметры для авторизации упущены id: "{{ security_group_id }}" ``` ### Создать ``` - name: Example hosts: localhost tasks: - name: Create security group decort_security_group: # Параметры для авторизации упущены account_id: "{{ account_id }}" name: "{{ security_group_name }}" state: present ``` #### С указанием описания ``` - name: Example hosts: localhost tasks: - name: Create security group with description decort_security_group: # Параметры для авторизации упущены account_id: "{{ account_id }}" name: "{{ security_group_name }}" description: "{{ description }}" state: present ``` ### Удалить ``` - name: Example hosts: localhost tasks: - name: Delete security group decort_security_group: # Параметры для авторизации упущены id: "{{ security_group_id }}" state: absent ``` ### Изменить #### Название ``` - name: Example hosts: localhost tasks: - name: Change security group name decort_security_group: # Параметры для авторизации упущены id: "{{ security_group_id }}" name: "{{ new_security_group_name }}" ``` #### Описание ``` - name: Example hosts: localhost tasks: - name: Change security group description decort_security_group: # Параметры для авторизации упущены id: "{{ security_group_id }}" description: "{{ new_security_group_description }}" ``` #### Правила #### Обновить ``` - name: Example hosts: localhost tasks: - name: Update security group rules decort_security_group: # Параметры для авторизации упущены id: "{{ security_group_id }}" rules: mode: update objects: - direction: "{{ rule1_direction }}" ethertype: "{{ rule1_ethertype }}" port_range: min: "{{ rule1_port_min }}" max: "{{ rule1_port_max }}" protocol: "{{ rule1_protocol }}" remote_ip_prefix: "{{ rule1_remote_ip_prefix }}" - direction: "{{ rule2_direction }}" ethertype: "{{ rule2_ethertype }}" port_range: min: "{{ rule2_port_min }}" max: "{{ rule2_port_max }}" protocol: "{{ rule2_protocol }}" remote_ip_prefix: "{{ rule2_remote_ip_prefix }}" ``` #### Удалить ``` - name: Example hosts: localhost tasks: - name: Delete security group rules decort_security_group: # Параметры для авторизации упущены id: "{{ security_group_id }}" rules: mode: delete objects: - id: "{{ rule_id }}" ``` #### Привести в соответствие ``` - name: Example hosts: localhost tasks: - name: Match security group rules decort_security_group: # Параметры для авторизации упущены id: "{{ security_group_id }}" mode: match objects: - id: "{{ rule1_id }}" - id: "{{ rule2_id }}" - direction: "{{ rule3_direction }}" ethertype: "{{ rule3_ethertype }}" port_range: min: "{{ rule3_port_min }}" max: "{{ rule3_port_max }}" protocol: "{{ rule3_protocol }}" remote_ip_prefix: "{{ rule3_remote_ip_prefix }}" ```