Spec-Zone.ru › Ansible 2.8

gcp_compute_vpn_tunnel – Создаёт туннель VPN GCP

Новая версия с 2.7.

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

Описание

  • Ресурс туннеля VPN.

Требования

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

  • python >= 2.6
  • requests >= 2.18.4
  • google-auth >= 1.3.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
description
-
Необязательное описание этого ресурса.
ike_version
-
Значение по умолчанию:
"2"
Версия протокола IKE, используемая при установлении туннеля VPN с узлом-партнёром VPN шлюз.
Допустимые версии IKE — 1 или 2. Версия по умолчанию — 2.
local_traffic_selector
-
Локальный селектор трафика для использования при установлении туннеля VPN с узлом-партнёром VPN шлюз. Значение должно быть строкой в формате CIDR, например, `192.168.0.0/16`. Диапазоны должны быть непересекающимися.
Поддерживается только IPv4.
name
- / обязательно
Имя ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. То есть длина имени должна быть от 1 до 63 символов, и оно должно соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы — дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
peer_ip
- / обязательно
IP-адрес узла-партнёра VPN шлюз. Поддерживается только IPv4.
project
строка
Проект Google Cloud Platform, который нужно использовать.
region
- / обязательно
Регион, в котором находится туннель.
remote_traffic_selector
-
Удаленный селектор трафика для использования при установлении туннеля VPN с узлом-партнёром VPN шлюз. Значение должно быть строкой в формате CIDR, например, `192.168.0.0/16`. Диапазоны должны быть непересекающимися.
Поддерживается только IPv4.
router
-
URL ресурса маршрутизатора для использования динамической маршрутизации.
Это поле представляет ссылку на ресурс маршрутизатора в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задание gcp_compute_router, а затем установить это поле router в "{{ имя-ресурса }}"
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учетной записи службы.
Это не должно передаваться как словарь, а должна быть строка, содержащая точное содержимое файла JSON учетной записи службы (действительный JSON).
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
shared_secret
- / обязательно
Секретный ключ, используемый для установки защищённого сеанса между шлюзом Cloud VPN и узлом-партнёром VPN шлюз.
state
-
    Варианты:
  • present ←
  • absent
Определяет, должен ли данный объект существовать в GCP
target_vpn_gateway
- / обязательно
URL целевого VPN шлюза, с которым связан этот туннель VPN.
Это поле представляет ссылку на ресурс TargetVpnGateway в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задание gcp_compute_target_vpn_gateway, а затем установить это поле target_vpn_gateway в "{{ имя-ресурса }}"

Примечания

Примечание

  • Ссылка на 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_email, используя переменную среды GCP_SERVICE_ACCOUNT_EMAIL.
  • Для аутентификации можно установить service_account_contents, используя переменную среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • Для аутентификации можно установить auth_kind, используя переменную среды GCP_AUTH_KIND.
  • Для аутентификации можно установить scopes, используя переменную среды GCP_SCOPES.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не заданы.
  • Параметры service_account_email и service_account_file взаимно исключают друг друга.

Примеры

- name: create a network
  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
  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
  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
  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
строка
успех
Маркер создания в формате RFC3339.

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

ikeVersion
целое число
успех
Версия протокола IKE, используемая при установлении VPN-туннеля с удалённым VPN-шлюзом.
Допустимые версии IKE — 1 или 2. По умолчанию используется версия 2.

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

name
строка
успех
Имя ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчными буквами или цифрами, за исключением последнего символа, который не может быть тире.

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

region
строка
успех
Регион, в котором расположен туннель.

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

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

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

sharedSecretHash
строка
успех
Хэш общего секрета.

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



Статус

  • Этот модуль не гарантирует обратной совместимости. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Google Inc. (@googlecloudplatform)

Подсказка

Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/gcp_compute_vpn_tunnel_module.html

Spec-Zone.ru

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