Spec-Zone.ru › Ansible 2.8

gcp_compute_route – Создаёт маршрут GCP

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

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

Описание

  • Представляет ресурс маршрута.
  • Маршрут — это правило, определяющее, как должны обрабатываться определённые пакеты виртуальной сетью. Маршруты ассоциируются с виртуальными машинами по тегу, и набор маршрутов для конкретной виртуальной машины называется её таблицей маршрутизации. Для каждого пакета, покидающего виртуальную машину, система ищет в таблице маршрутизации этой виртуальной машины единственный наилучший совпадающий маршрут.
  • Маршруты сопоставляют пакеты по IP-адресу назначения, отдавая предпочтение более мелким или более конкретным диапазонам по сравнению с более крупными. Если есть ничья, система выбирает маршрут с наименьшим значением приоритета. Если всё ещё есть ничья, она использует заголовки пакета уровня три и четыре, чтобы выбрать только один из оставшихся совпадающих маршрутов. Затем пакет пересылается в соответствии с полем next_hop победившего маршрута — либо в другое место назначения виртуальной машины, либо в шлюз виртуальной машины или в управляемый Google Compute Engine шлюз. Пакеты, которые не совпадают ни с одним маршрутом в таблице маршрутизации отправляющей виртуальной машины, будут удалены.
  • Ресурс маршрута должен иметь ровно одно указание nextHopGateway, nextHopInstance, nextHopIp или nextHopVpnTunnel.

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
description
-
добавлено в 2.7
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
dest_range
- / обязательно
Диапазон назначения исходящих пакетов, к которому применяется этот маршрут.
Поддерживается только IPv4.
name
- / обязательно
Имя ресурса. Указывается клиентом при создании ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. То есть, оно должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает: первая буква должна быть строчной буквой, а все последующие символы – дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
network
- / обязательно
Сеть, к которой применяется этот маршрут.
Это поле представляет ссылку на ресурс Network в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя_ресурса` к задаче gcp_compute_network и затем установить это поле network к "{{ имя_ресурса }}"
next_hop_gateway
-
URL шлюза, который должен обрабатывать соответствующие пакеты.
В настоящее время можно указать только интернет-шлюз, используя полный или частичный допустимый URL: * https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway * projects/project/global/gateways/default-internet-gateway * global/gateways/default-internet-gateway .
next_hop_instance
-
URL экземпляра, который должен обрабатывать соответствующие пакеты.
Вы можете указать его как полный или частичный URL. Например: * https://www.googleapis.com/compute/v1/projects/project/zones/zone/ instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance .
Это поле представляет ссылку на ресурс Instance в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя_ресурса` к задаче gcp_compute_instance и затем установить это поле next_hop_instance к "{{ имя_ресурса }}"
next_hop_ip
-
IP-адрес сети экземпляра, который должен обрабатывать соответствующие пакеты.
next_hop_vpn_tunnel
-
URL VPN-тоннеля, который должен обрабатывать соответствующие пакеты.
Это поле представляет ссылку на ресурс VpnTunnel в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя_ресурса` к задаче gcp_compute_vpn_tunnel и затем установить это поле next_hop_vpn_tunnel к "{{ имя_ресурса }}"
priority
-
Приоритет этого маршрута. Приоритет используется для разрешения конфликтов в случаях, когда существует более одного совпадающего маршрута с одинаковой длиной префикса.
В случае двух маршрутов с одинаковой длиной префикса, маршрут с более низким значением приоритета побеждает.
Значение по умолчанию 1000. Допустимый диапазон от 0 до 65535.
project
строка
Используемый проект Google Cloud Platform.
scopes
список
Массив используемых областей.
service_account_contents
строка
Строка, представляющая содержимое файла JSON учетной записи службы.
Это не должно передаваться как словарь, а как строка с точным содержимым файла json учетной записи службы (действительный JSON).
service_account_email
строка
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount, и пользователь не хочет использовать адрес по умолчанию.
service_account_file
путь
Путь к файлу JSON учетной записи службы, если в качестве типа выбран serviceaccount.
state
-
    Варианты:
  • present ←
  • absent
Указывает, должен ли данный объект существовать в GCP
tags
-
Список тегов экземпляров, к которым применяется этот маршрут.

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/routes
  • Использование маршрутов: https://cloud.google.com/vpc/docs/using-routes
  • Для аутентификации можно установить 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.
  • Значения переменных среды будут использоваться только в том случае, если значения в плейбуке не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a network
  gcp_compute_network:
    name: network-route
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: network

- name: create a route
  gcp_compute_route:
    name: test_object
    dest_range: 192.168.6.0/24
    next_hop_gateway: global/gateways/default-internet-gateway
    network: "{{ network }}"
    tags:
    - backends
    - databases
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

Общие значения возврата описаны в здесь, следующие поля уникальны для данного модуля:

Ключ Возвращаемое значение Описание
description
строка
успех
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

destRange
строка
успех
Диапазон назначения исходящих пакетов, к которому применяется эта маршрутизация.
Поддерживается только IPv4.

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

network
словарь
успех
Сеть, к которой применяется эта маршрутизация.

nextHopGateway
строка
успех
URL шлюза, который должен обрабатывать соответствующие пакеты.
В настоящее время вы можете указать только интернет-шлюз, используя полный или частичный допустимый URL: * https://www.googleapis.com/compute/v1/projects/project/global/gateways/default-internet-gateway * projects/project/global/gateways/default-internet-gateway * global/gateways/default-internet-gateway .

nextHopInstance
словарь
успех
URL экземпляра, который должен обрабатывать соответствующие пакеты.
Вы можете указать его как полный или частичный URL. Например: * https://www.googleapis.com/compute/v1/projects/project/zones/zone/ instances/instance * projects/project/zones/zone/instances/instance * zones/zone/instances/instance .

nextHopIp
строка
успех
Сеть IP-адрес экземпляра, который должен обрабатывать соответствующие пакеты.

nextHopNetwork
строка
успех
URL сети, которая должна обрабатывать соответствующие пакеты.

nextHopVpnTunnel
словарь
успех
URL туннеля VPN, который должен обрабатывать соответствующие пакеты.

priority
целое число
успех
Приоритет этой маршрутизации. Приоритет используется для разрешения конфликтов в ситуациях, когда существует более одной совпадающей маршрутизации с одинаковой длиной префикса.
В случае двух маршрутов с одинаковой длиной префикса побеждает маршрут с меньшим значением приоритета.
Значение по умолчанию — 1000. Допустимый диапазон — от 0 до 65535.

tags
список
успех
Список тегов экземпляров, к которым применяется эта маршрутизация.



Статус

  • Этот модуль не гарантирует обратную совместимость. [превью]
  • Этот модуль поддерживается сообществом 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_route_module.html

Spec-Zone.ru

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