Spec-Zone.ru › Ansible 2.10

community.aws.ec2_vpc_vpn – Создание, изменение и удаление подключений EC2 VPN.

Примечание

Этот плагин является частью коллекции community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Чтобы использовать его в книге задач, укажите: community.aws.ec2_vpc_vpn.

Новое в версии 1.0.0: of community.aws

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Этот модуль создаёт, изменяет и удаляет VPN-подключения. Идемпотентность достигается с помощью параметра filters или указания идентификатора VPN-подключения.

Требования

Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.

  • boto
  • boto3
  • botocore
  • python >= 2.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
aws_access_key
строка
Ключ доступа AWS. Если не задан, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.
Если задан параметр profile, этот параметр игнорируется.
Использование параметров aws_access_key и profile одновременно устарело, и эти параметры будут взаимоисключающими после 2022-06-01.

алиасы: ec2_access_key, access_key
aws_ca_bundle
путь
Расположение файла CA Bundle для проверки SSL-сертификатов.
Используется только для модулей на основе boto3.
Примечание: CA Bundle считывается со стороны модуля и может потребоваться явное копирование его из контроллера, если модуль не запускается локально.
aws_config
словарь
Словарь для изменения конфигурации botocore.
Параметры можно найти по адресу https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Для модулей boto используется только ключ 'user_agent'. Дополнительную информацию о конфигурации boto можно найти по адресу http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto.
aws_secret_key
строка
Секретный ключ AWS. Если не задан, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.
Если задан параметр profile, этот параметр игнорируется.
Использование параметров aws_secret_key и profile одновременно устарело, и эти параметры будут взаимоисключающими после 2022-06-01.

алиасы: ec2_secret_key, secret_key
connection_type
строка
По умолчанию:
"ipsec.1"
Тип VPN-соединения.
В настоящее время поддерживается только ipsec.1.
customer_gateway_id
строка
Идентификатор шлюза клиента.
debug_botocore_endpoint_logs
логический тип
    Варианты:
  • нет ←
  • да
Использовать логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action для вывода полного списка, сделанного во время выполнения плейбука. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS.
delay
целое число
По умолчанию:
15
Время в секундах, которое нужно подождать перед повторной проверкой операции.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной среды EC2_URL, если она есть.

алиасы: aws_endpoint_url, endpoint_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 равен ['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.
Использование profile переопределяет aws_access_key, aws_secret_key и security_token. Поддержка одновременного использования с profile устарела.
aws_access_key, aws_secret_key и security_token будут взаимоисключающими с profile после 2022-06-01.

алиасы: aws_profile
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.
Если задан параметр profile, этот параметр игнорируется.
Использование параметров security_token и profile одновременно устарело, и эти параметры будут взаимоисключающими после 2022-06-01.

алиасы: aws_security_token, access_token
state
строка
    Варианты:
  • present ←
  • absent
Желаемое состояние VPN-соединения.
static_only
логический тип
    Варианты:
  • нет ←
  • да
Указывает, использует ли VPN-соединение только статические маршруты. Статические маршруты должны использоваться для устройств, которые не поддерживают BGP.
tags
словарь
Теги для добавления к VPN-соединению.
tunnel_options
список / элементы=словарь
Необязательный список, содержащий не более двух элементов-словарей, каждый из которых может содержать ключи TunnelInsideCidr и/или PreSharedKey со соответствующими строковыми значениями. Значения по умолчанию AWS будут применены в случае отсутствия одного из указанных ключей.
PreSharedKey
строка
Предварительно объявленный ключ (PSK) для установления начальной аутентификации между виртуальным шлюзом и шлюзом клиента.
TunnelInsideCidr
строка
Диапазон внутренних IP-адресов для туннеля.
validate_certs
логический тип
    Варианты:
  • нет
  • да ←
При значении "нет", SSL-сертификаты не будут проверяться для версий boto >= 2.6.0.
vpn_connection_id
строка
Идентификатор VPN-соединения. Требуется для изменения или удаления соединения, если опция фильтров не обеспечивает уникального соответствия.
vpn_gateway_id
строка
Идентификатор виртуального шлюза.
wait_timeout
целое число
По умолчанию:
600
Время в секундах, в течение которого ожидание будет продолжено.

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета AWS_URL или EC2_URL, AWS_PROFILE или AWS_DEFAULT_PROFILE, 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, AWS_CA_BUNDLE
  • 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
  community.aws.ec2_vpc_vpn:
    state: present
    vpn_gateway_id: vgw-XXXXXXXX
    customer_gateway_id: cgw-XXXXXXXX

- name: modify VPN connection tags
  community.aws.ec2_vpc_vpn:
    state: present
    vpn_connection_id: vpn-XXXXXXXX
    tags:
      Name: ansible-tag-1
      Other: ansible-tag-2

- name: delete a connection
  community.aws.ec2_vpc_vpn:
    vpn_connection_id: vpn-XXXXXXXX
    state: absent

- name: modify VPN tags (identifying VPN by filters)
  community.aws.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
  community.aws.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
  community.aws.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
  community.aws.ec2_vpc_vpn:
    state: present
    vpn_connection_id: vpn-XXXXXXXX
    routes: []
    purge_routes: true

- name: delete a VPN identified by filters
  community.aws.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': [{'accepted_route_count': 123, 'last_status_change': 'datetime(2015, 1, 1)', 'outside_ip_address': 'строка', 'status': 'up', 'status_message': 'строка'}]}
vpn_connection_id
строка
state=present
Идентификатор соединения VPN.

Пример:
{'vpn_connection_id': 'vpn-781e0e19'}
vpn_gateway_id
строка
state=present
Идентификатор виртуального шлюза, подключенного к соединению.

Пример:
{'vpn_gateway_id': 'vgw-cb0ae2a2'}


Авторы

  • 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.10/collections/community/aws/ec2_vpc_vpn_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API