ec2_vpc_vpn – Создание, изменение и удаление подключений EC2 VPN.
Новое в версии 2.4.
Описание
- Этот модуль создаёт, изменяет и удаляет подключения VPN. Идемпотентность достигается с помощью опции фильтров или указания идентификатора подключения VPN.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- boto
- boto3
- botocore
- python >= 2.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| aws_access_key - | Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY. Псевдонимы: ec2_access_key, access_key | ||
| aws_secret_key - | Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY. Псевдонимы: ec2_secret_key, secret_key | ||
| connection_type - |
| Тип подключения VPN. | |
| customer_gateway_id - | Идентификатор шлюза клиента. | ||
| ec2_url - | URL для подключения к EC2 или Eucalyptus облаку (по умолчанию модуль использует адреса EC2). Игнорируется для модулей, где необходим регион. Должен быть указан для всех других модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL, если таковое имеется. | ||
| filters - | Альтернатива использованию vpn_connection_id. Если найдено несколько совпадений, требуется vpn_connection_id. Если один из следующих подвариантов — список элементов для фильтрации, для поиска VPN достаточно соответствия одному элементу. Например, если фильтр «cidr» — [«194.168.2.0/24», «192.168.2.0/24»], а маршрут VPN содержит только целевой CIDR-блок «192.168.2.0/24», он будет найден по этому фильтру (предполагается, что VPN не дублируются). Другой пример: если фильтр «vpn» равен [«vpn-ccf7e7ad», «vpn-cb0ae2a2»], и один из VPN имеет состояние удалён (существует, но не изменяемый), а другой существует и не удалён, он будет найден по этому фильтру. См. примеры. | ||
| bgp - | Номер ASN BGP, связанный с устройством BGP. Работает только если подключение подключено. Этот параметр фильтрации в настоящее время не работает. | ||
| cgw - | Идентификатор шлюза клиента в виде строки или списка строк. | ||
| cgw-config - | Конфигурация шлюза клиента VPN в виде строки (в формате возвращаемого значения) или списка таких строк. | ||
| cidr - | Целевой CIDR VPN-маршрута в виде строки или списка строк. | ||
| static-routes-only - | Тип маршрутизации; true или false. | ||
| tag-keys - | Ключ тега в виде строки или списка строк. | ||
| tag-values - | Значение тега в виде строки или списка строк. | ||
| tags - | Словарь пар ключ-значение. | ||
| vgw - | Виртуальный шлюз частной сети в виде строки или списка строк. | ||
| vpn - | Идентификатор подключения VPN в виде строки или списка строк. | ||
| profile - добавлен в 1.6 | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| purge_routes - | Удалить ли маршруты подключений VPN, не указанные в задаче. | ||
| purge_tags boolean |
| Удалить ли теги подключений VPN, связанные с подключением, но не указанные в задаче. | |
| region - | AWS-регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковое имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
Псевдонимы: aws_region, ec2_region | ||
| routes - | Маршруты для добавления к подключению. | ||
| security_token - добавлен в 1.6 | Токен безопасности AWS STS. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN. Псевдонимы: access_token | ||
| state - |
| Желаемое состояние подключения VPN. | |
| static_only - | По умолчанию: "no" | Указывает, использует ли подключение VPN только статические маршруты. Статические маршруты должны использоваться для устройств, не поддерживающих BGP. | |
| tags - | Теги для добавления к подключению VPN. | ||
| tunnel_options - добавлен в 2.5 | Необязательный список, содержащий не более двух элементов-словаря, каждый из которых может содержать ключи «TunnelInsideCidr» и/или «PreSharedKey» с соответствующими строковыми значениями. По умолчанию AWS применит значения. | ||
| validate_certs boolean добавлен в 1.5 |
| При значении «no» сертификаты SSL не будут проверены для версий boto >= 2.6.0. | |
| vpn_connection_id - | Идентификатор подключения VPN. Требуется для изменения или удаления подключения, если опция фильтров не предоставляет уникального совпадения. | ||
| vpn_gateway_id - | Идентификатор виртуального шлюза. | ||
Примечания
Примечание
- Если параметры не установлены в модуле, следующие переменные среды могут быть использованы в порядке убывания приоритета
AWS_URLилиEC2_URL,AWS_ACCESS_KEY_IDилиAWS_ACCESS_KEYилиEC2_ACCESS_KEY,AWS_SECRET_ACCESS_KEYилиAWS_SECRET_KEYилиEC2_SECRET_KEY,AWS_SECURITY_TOKENилиEC2_SECURITY_TOKEN,AWS_REGIONилиEC2_REGION - Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
-
AWS_REGIONилиEC2_REGIONобычно можно использовать для указания региона AWS, когда это требуется, но это также можно настроить в файле конфигурации boto
Примеры
# Note: None of these examples set aws_access_key, aws_secret_key, or region.
# It is assumed that their matching environment variables are set.
- name: create a VPN connection
ec2_vpc_vpn:
state: present
vpn_gateway_id: vgw-XXXXXXXX
customer_gateway_id: cgw-XXXXXXXX
- name: modify VPN connection tags
ec2_vpc_vpn:
state: present
vpn_connection_id: vpn-XXXXXXXX
tags:
Name: ansible-tag-1
Other: ansible-tag-2
- name: delete a connection
ec2_vpc_vpn:
vpn_connection_id: vpn-XXXXXXXX
state: absent
- name: modify VPN tags (identifying VPN by filters)
ec2_vpc_vpn:
state: present
filters:
cidr: 194.168.1.0/24
tag-keys:
- Ansible
- Other
tags:
New: Tag
purge_tags: true
static_only: true
- name: set up VPN with tunnel options utilizing 'TunnelInsideCidr' only
ec2_vpc_vpn:
state: present
filters:
vpn: vpn-XXXXXXXX
static_only: true
tunnel_options:
-
TunnelInsideCidr: '169.254.100.1/30'
-
TunnelInsideCidr: '169.254.100.5/30'
- name: add routes and remove any preexisting ones
ec2_vpc_vpn:
state: present
filters:
vpn: vpn-XXXXXXXX
routes:
- 195.168.2.0/24
- 196.168.2.0/24
purge_routes: true
- name: remove all routes
ec2_vpc_vpn:
state: present
vpn_connection_id: vpn-XXXXXXXX
routes: []
purge_routes: true
- name: delete a VPN identified by filters
ec2_vpc_vpn:
state: absent
filters:
tags:
Ansible: Tag
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| changed булево | всегда | Если соединение VPN изменилось. Пример: {'changed': True} | |
| customer_gateway_configuration строка | state=present | Конфигурация соединения VPN. | |
| customer_gateway_id строка | state=present | Клиентский шлюз, подключенный через соединение. Пример: {'customer_gateway_id': 'cgw-1220c87b'} | |
| options сложный тип | state=present | Параметры соединения VPN (в настоящее время содержит только static_routes_only). | |
| static_routes_only строка | state=present | Если соединение VPN позволяет только статические маршруты. Пример: {'static_routes_only': True} | |
| routes список | state=present | Маршруты соединения VPN. Пример: {'routes': [{'destination_cidr_block': '192.168.1.0/24', 'state': 'available'}]} | |
| state строка | state=present | Статус соединения VPN. Пример: {'state': 'available'} | |
| tags словарь | state=present | Теги, связанные с соединением. Пример: {'tags': {'name': 'ansible-test', 'other': 'tag'}} | |
| type строка | state=present | Тип соединения VPN (в настоящее время доступен только ipsec.1). Пример: {'type': 'ipsec.1'} | |
| vgw_telemetry список | state=present | Телеметрия для туннеля VPN. Пример: {'vgw_telemetry': [{'outside_ip_address': 'строка', 'status': 'включено', 'last_status_change': 'datetime(2015', 1: None, '1)': None, 'status_message': 'строка', 'accepted_route_count': 123}]} | |
| vpn_connection_id строка | state=present | Идентификатор соединения VPN. Пример: {'vpn_connection_id': 'vpn-781e0e19'} | |
| vpn_gateway_id строка | state=present | Виртуальный частный шлюз, подключенный через соединение. Пример: {'vpn_gateway_id': 'vgw-cb0ae2a2'} | |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Sloane Hertel (@s-hertel)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/ec2_vpc_vpn_module.html