Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Чтобы использовать его в плейбуке, укажите: google.cloud.gcp_compute_route.

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

Описание

  • Представляет ресурс маршрута.
  • Маршрут — это правило, определяющее, как должны обрабатываться определённые пакеты виртуальной сетью. Маршруты ассоциируются с виртуальными машинами по тегу, и набор маршрутов для конкретной виртуальной машины называется её таблицей маршрутизации. Для каждого пакета, покидающего виртуальную машину, система ищет в таблице маршрутизации этой виртуальной машины единственный наилучший совпадающий маршрут.
  • Маршруты сопоставляют пакеты с IP-адресом назначения, отдавая предпочтение меньшим или более конкретным диапазонам по сравнению с большими. Если есть ничья, система выбирает маршрут с наименьшим значением приоритета. Если всё ещё есть ничья, она использует заголовки пакетов уровня 3 и 4, чтобы выбрать только один из оставшихся соответствующих маршрутов. Затем пакет пересылается в соответствии с полем 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 шлюза, который должен обрабатывать соответствующие пакеты.
В настоящее время вы можете указать только интернет-шлюз, используя полный или частичный допустимый 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
словарь
URL правила переадресации типа loadBalancingScheme=INTERNAL, которое должно обрабатывать соответствующие пакеты.
Вы можете указать только правило переадресации как частичный или полный URL. Например, следующие являются допустимыми URL-адресами: https://www.googleapis.com/compute/v1/projects/project/regions/region/forwardingRules/forwardingRule regions/region/forwardingRules/forwardingRule Обратите внимание, что это можно использовать только тогда, когда destinationRange является общедоступным (не RFC 1918) диапазоном IP-адресов CIDR.
Это поле представляет ссылку на ресурс ForwardingRule в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_forwarding_rule и затем установить это поле next_hop_ilb к "{{ имя-ресурса }}"
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 с помощью переменной среды 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.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не установлены.
  • Параметры 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_compute_route_module.html

Spec-Zone.ru

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