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 - | Идентификатор шлюза клиента. | ||
| debug_botocore_endpoint_logs логический тип добавлено в 2.8 |
| Использовать логгер botocore.endpoint для анализа уникальных (а не общих) API-вызовов "resource:action" во время задачи, выводив набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, выполненный во время выполнения плейбука. Также может использоваться переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS. | |
| delay целое число добавлено в 2.8 | Значение по умолчанию: 15 | Время ожидания перед повторной проверкой операции. в секундах. | |
| 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 строка | Использует профиль boto. Работает только с boto >= 2.24.0. | ||
| purge_routes логический тип |
| Удалить маршруты подключений VPN, которые не указаны в задаче. | |
| purge_tags логический тип |
| Удалить теги подключений 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 строка | 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 логический тип |
| Если установлено в "нет", сертификаты SSL не будут проверены для версий boto >= 2.6.0. | |
| vpn_connection_id - | Идентификатор подключения VPN. Требуется для изменения или удаления соединения, если параметр filters не обеспечивает уникального совпадения. | ||
| vpn_gateway_id - | Идентификатор виртуального шлюза VPN. | ||
| wait_timeout целое число добавлено в 2.8 | Значение по умолчанию: 600 | Время ожидания, прежде чем ожидание прекратится, в секундах. | |
Примечания
Примечание
- Если параметры не заданы в модуле, следующие переменные среды могут использоваться в порядке убывания приоритета
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 boolean | всегда | Если подключение 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': 'string', 'status': 'up', 'last_status_change': 'datetime(2015, 1, 1)', 'status_message': 'string', 'accepted_route_count': 123}]} | |
| vpn_connection_id строка | state=present | Идентификатор подключения VPN. Пример: {'vpn_connection_id': 'vpn-781e0e19'} | |
| vpn_gateway_id строка | state=present | Идентификатор виртуального шлюза VPN, подключенного через подключение. Пример: {'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.9/modules/ec2_vpc_vpn_module.html