google.cloud.gcp_compute_vpn_tunnel модуль — Создаёт GCP VpnTunnel
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.4.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля потребуются дополнительные требования. Подробнее см. раздел Требования.
Чтобы использовать его в книге задач, укажите: google.cloud.gcp_compute_vpn_tunnel.
Краткое описание
- Ресурс VPN-туннеля.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Комментарии |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind string / required | Тип используемых учетных данных. Варианты:
|
description string | Необязательное описание этого ресурса. |
env_type string | Указывает, в какой среде Ansible вы запускаете этот модуль. Это не должно быть установлено, если вы не знаете, что делаете. Это только изменяет строку User Agent для любых запросов API. |
ike_version integer | Версия протокола IKE, используемая при установлении VPN-туннеля с шлюзом VPN-партнера. Допустимые версии IKE — 1 или 2. Версия по умолчанию — 2. По умолчанию: |
local_traffic_selector list / elements=string | Селектор локального трафика, используемый при установлении VPN-туннеля с шлюзом VPN-партнера. Значение должно быть строкой в формате CIDR, например `192.168.0.0/16`. Диапазоны должны быть непересекающимися. Поддерживается только IPv4. |
name string / required | Имя ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
peer_external_gateway dictionary | URL внешнего VPN-шлюза со стороны партнера, к которому подключен этот VPN-туннель. Это поле представляет собой ссылку на ресурс ExternalVpnGateway в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_external_vpn_gateway, а затем установить это поле peer_external_gateway в значение “{{ name-of-resource }}” |
peer_external_gateway_interface integer | Идентификатор интерфейса внешнего VPN-шлюза, к которому подключен этот VPN-туннель. |
peer_gcp_gateway dictionary | URL шлюза HA GCP VPN со стороны партнера, к которому подключен этот VPN-туннель. Если указано, VPN-туннель автоматически будет использовать тот же идентификатор vpn_gateway_interface в шлюзе VPN GCP партнера. Это поле представляет собой ссылку на ресурс VpnGateway в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_vpn_gateway, а затем установить это поле peer_gcp_gateway в значение “{{ name-of-resource }}” |
peer_ip string | IP-адрес шлюза VPN-партнера. Поддерживается только IPv4. |
project string | Проект Google Cloud Platform для использования. |
region string / required | Регион, где расположен туннель. |
remote_traffic_selector list / elements=string | Селектор удаленного трафика, используемый при установлении VPN-туннеля с шлюзом VPN-партнера. Значение должно быть строкой в формате CIDR, например `192.168.0.0/16`. Диапазоны должны быть непересекающимися. Поддерживается только IPv4. |
router dictionary | URL ресурса маршрутизатора, который будет использоваться для динамической маршрутизации. Это поле представляет собой ссылку на ресурс Router в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_router, а затем установить это поле router в значение “{{ name-of-resource }}” |
scopes list / elements=string | Массив областей, которые будут использоваться |
service_account_contents jsonarg | Содержимое файла JSON учетной записи службы, либо в словаре, либо в виде представляющей его JSON-строки. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию. |
service_account_file path | Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount. |
string / required | Секретный ключ, используемый для установки защищенного сеанса между шлюзом Cloud VPN и шлюзом VPN-партнера. |
состояние строка | Указывает, должно ли данное облачное ресурс существовать в GCP Варианты:
|
целевой_шлюз_vpn словарь | URL целевого шлюза VPN, с которым связан этот VPN-туннель. Это поле представляет собой ссылку на ресурс TargetVpnGateway в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя_ресурса` к задаче gcp_compute_target_vpn_gateway, а затем установить это поле target_vpn_gateway в «{{ имя_ресурса }}» |
шлюз_vpn словарь | URL шлюза VPN, с которым связан этот VPN-туннель. Это необходимо, если создается ресурс шлюза VPN с высокой доступностью. Это поле представляет собой ссылку на ресурс VpnGateway в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя_ресурса` к задаче gcp_compute_vpn_gateway, а затем установить это поле vpn_gateway в «{{ имя_ресурса }}» |
интерфейс_шлюза_vpn целое число | Идентификатор интерфейса шлюза VPN, с которым связан этот VPN-туннель. |
Примечания
Примечание
- Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/vpnTunnels
- Обзор Cloud VPN: https://cloud.google.com/vpn/docs/concepts/overview
- Сети и маршрутизация туннелей: https://cloud.google.com/vpn/docs/concepts/choosing-networks-routing
- для аутентификации можно установить service_account_file, используя переменную среды
GCP_SERVICE_ACCOUNT_FILE. - для аутентификации можно установить service_account_contents, используя переменную среды
GCP_SERVICE_ACCOUNT_CONTENTS. - Для аутентификации можно установить service_account_email, используя переменную среды
GCP_SERVICE_ACCOUNT_EMAIL. - Для аутентификации можно установить access_token, используя переменную среды
GCP_ACCESS_TOKEN. - Для аутентификации можно установить auth_kind, используя переменную среды
GCP_AUTH_KIND. - Для аутентификации можно установить scopes, используя переменную среды
GCP_SCOPES. - Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
- Параметры service_account_email и service_account_file взаимоисключающие.
Примеры
- name: create a network
google.cloud.gcp_compute_network:
name: network-vpn-tunnel
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a router
google.cloud.gcp_compute_router:
name: router-vpn-tunnel
network: "{{ network }}"
bgp:
asn: 64514
advertise_mode: CUSTOM
advertised_groups:
- ALL_SUBNETS
advertised_ip_ranges:
- range: 1.2.3.4
- range: 6.7.0.0/16
region: us-central1
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: router
- name: create a target vpn gateway
google.cloud.gcp_compute_target_vpn_gateway:
name: gateway-vpn-tunnel
region: us-west1
network: "{{ network }}"
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: gateway
- name: create a vpn tunnel
google.cloud.gcp_compute_vpn_tunnel:
name: test_object
region: us-west1
target_vpn_gateway: "{{ gateway }}"
router: "{{ router }}"
shared_secret: super secret
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
Ключ | Описание |
|---|---|
creationTimestamp string | Метка времени создания в текстовом формате RFC3339. Возвращается: успех |
description string | Необязательное описание этого ресурса. Возвращается: успех |
id string | Уникальный идентификатор ресурса. Этот идентификатор определяется сервером. Возвращается: успех |
ikeVersion integer | Версия протокола IKE, используемая при установлении VPN-туннеля с шлюзом VPN-партнера. Допустимые версии IKE — 1 или 2. Версия по умолчанию — 2. Возвращается: успех |
localTrafficSelector list / elements=string | Селектор локального трафика, используемый при установлении VPN-туннеля со шлюзом VPN-партнера. Значение должно быть строкой в формате CIDR, например `192.168.0.0/16`. Диапазоны должны быть непересекающимися. Поддерживается только IPv4. Возвращается: успех |
name string | Имя ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращается: успех |
peerExternalGateway dictionary | URL внешнего шлюза VPN-партнера, к которому подключен этот VPN-туннель. Возвращается: успех |
peerExternalGatewayInterface integer | Идентификатор интерфейса внешнего шлюза VPN, к которому подключен этот VPN-туннель. Возвращается: успех |
peerGcpGateway dictionary | URL шлюза HA GCP VPN-партнера, к которому подключен этот VPN-туннель. Если указано, VPN-туннель автоматически будет использовать тот же идентификатор vpn_gateway_interface в шлюзе GCP VPN-партнера. Возвращается: успех |
peerIp string | IP-адрес шлюза VPN-партнера. Поддерживается только IPv4. Возвращается: успех |
region string | Регион, в котором расположен туннель. Возвращается: успех |
remoteTrafficSelector list / elements=string | Селектор удаленного трафика, используемый при установлении VPN-туннеля со шлюзом VPN-партнера. Значение должно быть строкой в формате CIDR, например `192.168.0.0/16`. Диапазоны должны быть непересекающимися. Поддерживается только IPv4. Возвращается: успех |
router dictionary | URL ресурса маршрутизатора, который будет использоваться для динамической маршрутизации. Возвращается: успех |
string | Секретный ключ, используемый для установки защищенного сеанса между шлюзом Cloud VPN и шлюзом VPN-партнера. Возвращается: успех |
string | Хэш секретного ключа. Возвращается: успех |
targetVpnGateway dictionary | URL целевого шлюза VPN, с которым связан этот VPN-туннель. Возвращается: успех |
vpnGateway dictionary | URL шлюза VPN, с которым связан этот VPN-туннель. Это должно быть использовано, если создается ресурс шлюза VPN высокой доступности. Возвращается: успех |
vpnGatewayInterface integer | Идентификатор интерфейса шлюза VPN, с которым связан этот VPN-туннель. Возвращается: успех |
Справочные ссылки
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/google/cloud/gcp_compute_vpn_tunnel_module.html