Spec-Zone.ru › Ansible 2.9

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

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

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

Описание

  • Представляет ресурс Маршрут.
  • Маршрут — это правило, определяющее, как должны обрабатываться определённые пакеты виртуальной сетью. Маршруты ассоциируются с виртуальными машинами по тегу, и набор маршрутов для конкретной виртуальной машины называется её таблицей маршрутизации. Для каждого пакета, покидающего виртуальную машину, система ищет в таблице маршрутизации этой виртуальной машины единственный наиболее соответствующий маршрут.
  • Маршруты сопоставляют пакеты по IP-адресу назначения, отдавая предпочтение меньшим или более конкретным диапазонам перед большими. Если возникает ничья, система выбирает маршрут с наименьшим значением приоритета. Если всё ещё есть ничья, она использует заголовки пакета уровня 3 и 4, чтобы выбрать только один из оставшихся соответствующих маршрутов. Затем пакет передаётся в соответствии с полем next_hop выигрышного маршрута — либо на другое виртуальное устройство назначения, виртуальный шлюз или шлюз 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.
env_type
строка
Указывает, в какой среде Ansible вы выполняете этот модуль.
Это не нужно устанавливать, если вам это не нужно.
Это изменяет только строку User Agent для любых запросов API.
name
строка / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
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 VpnTunnel, который должен обрабатывать соответствующие пакеты.
Это поле представляет ссылку на ресурс 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
jsonarg
Содержание файла 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, используя переменную среды c(gcp_service_account_file).
  • для аутентификации можно установить service_account_contents, используя переменную среды c(GCP_SERVICE_ACCOUNT_CONTENTS).
  • для аутентификации можно установить service_account_email, используя переменную среды GCP_SERVICE_ACCOUNT_EMAIL.
  • для аутентификации можно установить 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.9/modules/gcp_compute_route_module.html

Spec-Zone.ru

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