community.google.gce_net – создание/удаление сетей GCE и правил брандмауэра
Примечание
Этот плагин входит в коллекцию community.google (версия 1.0.0).
Для его установки используйте: ansible-galaxy collection install community.google.
Для использования в плейбуке укажите: community.google.gce_net.
Обзор
- Этот модуль может создавать и удалять сети и правила брандмауэра Google Compute Engine https://cloud.google.com/compute/docs/networking. Параметр name предназначен для ссылки на сеть, а параметр fwname используется для ссылки на правила брандмауэра. Диапазоны адресов IPv4 должны быть указаны в формате CIDR http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing. Полные инструкции по установке и настройке модулей gce* можно найти в комментариях к файлу ansible/test/gce_tests.py.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, выполняющем этот модуль.
- python >= 2.6
- apache-libcloud >= 0.13.3, >= 0.17.0 при использовании JSON-кредитов
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allowed строка | протокол:порты для разрешения (tcp:80 или tcp:80,443 или tcp:80-800;udp:1-25). Этот параметр обязателен при создании или обновлении правила брандмауэра | |
| credentials_file путь | путь к JSON-файлу, связанному с адресом электронной почты учетной записи службы | |
| fwname строка | имя правила брандмауэра | |
| ipv4_range строка | диапазон адресов IPv4 в нотации CIDR для сети. Этот параметр необязателен, если вы указали существующую сеть в параметре name, но при создании новой сети этот параметр обязателен. | |
| mode строка |
| режим сети Google Cloud. legacy указывает сеть с диапазоном IP-адресов; auto автоматически генерирует подсети в разных регионах; custom использует сети для группировки подсетей пользовательских диапазонов IP-адресов https://cloud.google.com/compute/docs/networking#network_types |
| name строка | имя сети | |
| pem_file путь | путь к файлу pem, связанному с адресом электронной почты учетной записи службы. Этот параметр устарел. Используйте credentials_file. | |
| project_id строка | ваш идентификатор проекта GCE | |
| service_account_email строка | адрес электронной почты учетной записи службы | |
| src_range список / элементы=строка | Значение по умолчанию: [] | диапазон исходных адресов IPv4 в нотации CIDR |
| src_tags список / элементы=строка | Значение по умолчанию: [] | теги исходных виртуальных машин для создания правила брандмауэра |
| state строка | Значение по умолчанию: "present" | желаемое состояние сети или правила брандмауэра Доступные значения: active, present, absent, deleted. |
| subnet_desc строка | описание подсети для создания | |
| subnet_name строка | имя подсети для создания | |
| subnet_region строка | регион подсети для создания | |
| target_tags список / элементы=строка | Значение по умолчанию: [] | теги целевых виртуальных машин для создания правила брандмауэра |
Примеры
# Create a 'legacy' Network
- name: Create Legacy Network
community.google.gce_net:
name: legacynet
ipv4_range: '10.24.17.0/24'
mode: legacy
state: present
# Create an 'auto' Network
- name: Create Auto Network
community.google.gce_net:
name: autonet
mode: auto
state: present
# Create a 'custom' Network
- name: Create Custom Network
community.google.gce_net:
name: customnet
mode: custom
subnet_name: "customsubnet"
subnet_region: us-east1
ipv4_range: '10.240.16.0/24'
state: "present"
# Create Firewall Rule with Source Tags
- name: Create Firewall Rule w/Source Tags
community.google.gce_net:
name: default
fwname: "my-firewall-rule"
allowed: tcp:80
state: "present"
src_tags: "foo,bar"
# Create Firewall Rule with Source Range
- name: Create Firewall Rule w/Source Range
community.google.gce_net:
name: default
fwname: "my-firewall-rule"
allowed: tcp:80
state: "present"
src_range: ['10.1.1.1/32']
# Create Custom Subnetwork
- name: Create Custom Subnetwork
community.google.gce_net:
name: privatenet
mode: custom
subnet_name: subnet_example
subnet_region: us-central1
ipv4_range: '10.0.0.0/16'
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| allowed строка | При указании | Правила (порты и протоколы), заданные этим правилом брандмауэра. Пример: tcp:80;icmp |
| fwname строка | При указании | Имя правила брандмауэра. Пример: my-fwname |
| ipv4_range строка | при указании или при создании подсети | Диапазон IPv4 указанной сети или подсети. Пример: 10.0.0.0/16 |
| name строка | всегда | Имя сети. Пример: my-network |
| src_range список / элементы=строка | при указании | Блоки IP-адресов, к которым применяется правило брандмауэра. Пример: ['10.1.1.12/8'] |
| src_tags список / элементы=строка | при указании при создании правила брандмауэра | Теги виртуальных машин, к которым применяется правило брандмауэра. Пример: ['foo', 'bar'] |
| state строка | всегда | Состояние обрабатываемого элемента. Пример: present |
| subnet_name строка | при указании или при создании подсети | Имя подсети. Пример: my-subnetwork |
| subnet_region строка | при указании или при создании подсети | Регион указанной подсети. Пример: us-east1 |
| target_tags список / элементы=строка | при указании при создании правила брандмауэра | Теги виртуальных машин, к которым поступает трафик, разрешенный правилом брандмауэра. Пример: ['foo', 'bar'] |
Авторы
- Eric Johnson (@erjohnso) <erjohnso@google.com>, Tom Melendez (@supertom) <supertom@google.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/google/gce_net_module.html