You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 KiB
13 KiB
Модуль decort_security_group
Обзор модуля
Модуль decort_security_group предназначен для выполнения следующих действий над группой безопасности:
- получить информацию (см. примеры)
- создать (см. примеры)
- с указанием описания (см. параметр description и примеры)
- удалить (см. параметр state и примеры)
- изменить (см. примеры)
- название (см. параметр name и примеры)
- описание (см. параметр description и примеры)
- правила (см. параметр rules и примеры)
Параметры модуля
Ниже приведен список параметров для модуля decort_security_group (за исключением общих параметров авторизации):
| Параметр | Тип | Описание | |||
|---|---|---|---|---|---|
| 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 }}"