ec2_vpc_vpn - Создание, изменение и удаление подключений VPN EC2.
Новая в версии 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 имеет состояние удалён (существует, но не может быть изменён), а другой существует и не удалён, он будет найден с помощью этого фильтра. См. примеры. | ||
| cgw-config | Настройка шлюза клиента VPN в виде строки (в формате возвращаемого значения) или списка таких строк. | ||
| static-routes-only | Тип маршрутизации; true или false. | ||
| cidr | Целевой CIDR маршрута VPN в виде строки или списка таких строк. | ||
| bgp | Номер ASN BGP, связанный с устройством BGP. Работает только если подключение прикреплено. Эта опция фильтрации в настоящее время не работает. | ||
| vpn | Идентификатор подключения VPN в виде строки или списка таких строк. | ||
| vgw | Виртуальный шлюз частной сети в виде строки или списка таких строк. | ||
| tag-keys | Ключ тега в виде строки или списка таких строк. | ||
| tag-values | Значение тега в виде строки или списка таких строк. | ||
| tags | Словарь пар ключ-значение. | ||
| cgw | Идентификатор шлюза клиента в виде строки или списка таких строк. | ||
| profile (добавлено в 1.6) | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| purge_routes | Удалить или нет маршруты подключений VPN, которые не указаны в задаче. | ||
| purge_tags bool |
| Удалить или нет теги подключений 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 | По умолчанию: "нет" | Указывает, использует ли подключение VPN только статические маршруты. Статические маршруты должны использоваться для устройств, которые не поддерживают BGP. | |
| tags | Теги для прикрепления к подключению VPN. | ||
| tunnel_options (добавлено в 2.5) | Необязательный список объектов, содержащий не более двух элементов словаря, каждый из которых может содержать ключи 'TunnelInsideCidr' и/или 'PreSharedKey' со соответствующими строковыми значениями. Значения AWS по умолчанию будут применяться при отсутствии одного из вышеупомянутых ключей. | ||
| validate_certs bool (добавлено в 1.5) |
| Если установлено значение "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. | |
| vpn_connection_id | Идентификатор подключения VPN. Необходимо для изменения или удаления подключения, если опция filters не обеспечивает уникального совпадения. | ||
| 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), если учетные данные не предоставлены. См. http://boto.readthedocs.org/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 bool | всегда | Если соединение VPN изменилось. Пример: {'changed': True} | |
| customer_gateway_configuration str | состояние=present | Настройка подключения VPN. | |
| customer_gateway_id str | состояние=present | Клиентский шлюз, подключенный через соединение. Пример: {'customer_gateway_id': 'cgw-1220c87b'} | |
| options complex | состояние=present | Параметры подключения VPN (в настоящее время содержит только static_routes_only). | |
| static_routes_only str | состояние=present | Если соединение VPN допускает только статические маршруты. Пример: {'static_routes_only': True} | |
| routes list | состояние=present | Маршруты подключения VPN. Пример: {'routes': [{'destination_cidr_block': '192.168.1.0/24', 'state': 'available'}]} | |
| state string | состояние=present | Состояние подключения VPN. Пример: {'state': 'available'} | |
| tags dict | состояние=present | Теги, связанные с подключением. Пример: {'tags': {'name': 'ansible-test', 'other': 'tag'}} | |
| type str | состояние=present | Тип подключения VPN (в настоящее время доступен только ipsec.1). Пример: {'type': 'ipsec.1'} | |
| vgw_telemetry list | состояние=present | Телеметрия для туннеля VPN. Пример: {'vgw_telemetry': [{'outside_ip_address': 'string', 'status': 'up', 'last_status_change': 'datetime(2015', 1: None, '1)': None, 'status_message': 'string', 'accepted_route_count': 123}]} | |
| vpn_connection_id str | состояние=present | Идентификатор подключения VPN. Пример: {'vpn_connection_id': 'vpn-781e0e19'} | |
| vpn_gateway_id str | состояние=present | Виртуальный шлюз VPN, подключенный через соединение. Пример: {'vpn_gateway_id': 'vgw-cb0ae2a2'} | |
Состояние
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратной совместимости.
Обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. См. Поддержка и обслуживание модулей для получения дополнительной информации.
Список других модулей, которые также поддерживаются сообществом 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.6/modules/ec2_vpc_vpn_module.html