Spec-Zone.ru › Ansible

модуль google.cloud.gcp_compute_vpn_tunnel – создание VpnTunnel в GCP

Примечание

Этот модуль входит в коллекцию google.cloud (версия 1.13.0).

Возможно, эта коллекция уже установлена, если вы используете пакет 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 / обязательный

Тип используемых учётных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

description

string

Необязательное описание этого ресурса.

env_type

string

Указывает, в какой среде Ansible выполняется этот модуль.

Не следует задавать этот параметр, если вы не знаете, что делаете.

Этот параметр изменяет только строку User Agent для любых запросов к API.

ike_version

integer

Версия протокола IKE, используемая при установлении VPN-туннеля с одноранговым VPN-шлюзом.

Допустимые версии IKE — 1 или 2. Версия по умолчанию — 2.

По умолчанию: 2

local_traffic_selector

list / элементы=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])?`: первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой; последний символ не может быть дефисом.

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 VPN-шлюза GCP на стороне узла-партнёра, к которому подключён этот 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 / обязательный

Регион, в котором находится туннель.

remote_traffic_selector

list / элементы=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 / элементы=string

Массив используемых областей доступа

service_account_contents

jsonarg

Содержимое JSON-файла учётной записи службы — в виде словаря или JSON-строки, представляющей его.

service_account_email

string

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

service_account_file

path

Путь к JSON-файлу учётной записи службы, если в качестве типа выбрано serviceaccount.

shared_secret

string / обязательный

Общий секрет, используемый для установления защищённого сеанса между шлюзом Cloud VPN и одноранговым VPN-шлюзом.

state

string

Должен ли указанный объект существовать в GCP

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

target_vpn_gateway

dictionary

URL целевого VPN-шлюза, с которым связан этот VPN-туннель.

Это поле представляет ссылку на ресурс TargetVpnGateway в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘selfLink’ и значением selfLink ресурса. Или можно добавить `register: name-of-resource` в задачу gcp_compute_target_vpn_gateway, а затем задать для поля target_vpn_gateway значение “{{ name-of-resource }}”

vpn_gateway

dictionary

URL VPN-шлюза, с которым связан этот VPN-туннель.

Этот параметр необходимо использовать, если создан ресурс VPN-шлюза высокой доступности.

Это поле представляет ссылку на ресурс VpnGateway в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘selfLink’ и значением selfLink ресурса. Или можно добавить `register: name-of-resource` в задачу gcp_compute_vpn_gateway, а затем задать для поля vpn_gateway значение “{{ name-of-resource }}”

vpn_gateway_interface

integer

Идентификатор интерфейса 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 / элементы=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 VPN-шлюза GCP на стороне узла-партнёра, к которому подключён этот VPN-туннель.

Если этот параметр задан, VPN-туннель автоматически использует тот же идентификатор vpn_gateway_interface, что и VPN-шлюз GCP узла-партнёра.

Возвращается: при успешном выполнении

peerIp

string

IP-адрес однорангового VPN-шлюза. Поддерживается только IPv4.

Возвращается: при успешном выполнении

region

string

Регион, в котором находится туннель.

Возвращается: при успешном выполнении

remoteTrafficSelector

list / элементы=string

Удалённый селектор трафика, используемый при установлении VPN-туннеля с одноранговым VPN-шлюзом. Значение должно быть строкой в формате CIDR, например `192.168.0.0/16`. Диапазоны не должны пересекаться.

Поддерживается только IPv4.

Возвращается: при успешном выполнении

router

dictionary

URL ресурса маршрутизатора, используемого для динамической маршрутизации.

Возвращается: при успешном выполнении

sharedSecret

string

Общий секрет, используемый для установления защищённого сеанса между шлюзом Cloud VPN и одноранговым VPN-шлюзом.

Возвращается: при успешном выполнении

sharedSecretHash

string

Хеш общего секрета.

Возвращается: при успешном выполнении

targetVpnGateway

dictionary

URL целевого VPN-шлюза, с которым связан этот VPN-туннель.

Возвращается: при успешном выполнении

vpnGateway

dictionary

URL VPN-шлюза, с которым связан этот VPN-туннель.

Этот параметр необходимо использовать, если создан ресурс VPN-шлюза высокой доступности.

Возвращается: при успешном выполнении

vpnGatewayInterface

integer

Идентификатор интерфейса VPN-шлюза, с которым связан этот VPN-туннель.

Возвращается: при успешном выполнении

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_vpn_tunnel_module.html

Spec-Zone.ru

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