Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин входит в состав коллекции google.cloud (версия 1.0.2).

Для его установки используйте: ansible-galaxy collection install google.cloud.

Для использования в книге задач укажите: google.cloud.gcp_compute_route.

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
description
строка
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
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: * 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_ilb
словарь
Ссылка на правило переадресации типа loadBalancingScheme=INTERNAL, которое должно обрабатывать соответствующие пакеты.
Вы можете указать только правило переадресации как частичный или полный URL. Например, следующие URL-адреса являются допустимыми: https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule regions/region/forwardingRules/forwardingRule Обратите внимание, что это может быть использовано только тогда, когда dest_range — это общедоступный диапазон IP-адресов (не диапазон RFC 1918).
Это поле представляет ссылку на ресурс ForwardingRule в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_forwarding_rule, а затем установить это поле next_hop_ilb в "{{ имя-ресурса }}"
next_hop_instance
словарь
Ссылка на виртуальную машину, которая должна обрабатывать соответствующие пакеты.
Вы можете указать это как полный или частичный 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
словарь
Ссылка на 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 учетной записи службы, если тип service_account выбран.
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_contents используя переменную окружения 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
  google.cloud.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
  google.cloud.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
string
success
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

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

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

network
dictionary
success
Сеть, к которой применяется этот маршрут.

nextHopGateway
string
success
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 .

nextHopIlb
dictionary
success
URL правила маршрутизации типа loadBalancingScheme=INTERNAL, которое должно обрабатывать соответствующие пакеты.
Вы можете указать правило маршрутизации только как частичный или полный URL. Например, следующие URL являются допустимыми: https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule regions/region/forwardingRules/forwardingRule Обратите внимание, что это может быть использовано только тогда, когда destRange является общедоступным (не RFC 1918) IP-диапазоном CIDR.

nextHopInstance
dictionary
success
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
string
success
IP-адрес сети экземпляра, который должен обрабатывать соответствующие пакеты.

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

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

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

tags
list / elements=string
success
Список тегов экземпляра, к которым применяется этот маршрут.



Авторы

  • Google Inc. (@googlecloudplatform)

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

Spec-Zone.ru

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