Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в состав коллекции google.cloud (версия 1.4.1).

Эта коллекция, возможно, уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: 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

Параметры

Параметр

Комментарии

access_token

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

auth_kind

string / required

Тип используемых учетных данных.

Варианты:

  • "application"
  • "machineaccount"
  • "serviceaccount"
  • "accesstoken"

description

string

Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

dest_range

string / required

Диапазон назначения исходящих пакетов, к которым применяется этот маршрут.

Поддерживается только IPv4.

env_type

string

Указывает, в какой среде Ansible вы запускаете этот модуль.

Это не должно быть установлено, если вы не знаете, что делаете.

Это только изменяет строку User Agent для любых запросов API.

name

string / required

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

network

dictionary / required

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

Это поле представляет собой ссылку на ресурс сети в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом «selfLink» и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_network, а затем установить это поле сети в «{{ name-of-resource }}»

next_hop_gateway

string

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

dictionary

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: name-of-resource` к задаче gcp_compute_forwarding_rule, а затем установить это поле next_hop_ilb в «{{ name-of-resource }}»

next_hop_instance

dictionary

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: name-of-resource` к задаче gcp_compute_instance, а затем установить это поле next_hop_instance в «{{ name-of-resource }}»

next_hop_ip

string

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

next_hop_vpn_tunnel

dictionary

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

Это поле представляет собой ссылку на ресурс VpnTunnel в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом «selfLink» и значением selfLink вашего ресурса. В качестве альтернативы вы можете добавить `register: name-of-resource` к задаче gcp_compute_vpn_tunnel, а затем установить это поле next_hop_vpn_tunnel в «{{ name-of-resource }}»

priority

integer

Приоритет этого маршрута. Приоритет используется для устранения совпадений в случаях, когда существует несколько совпадающих маршрутов одинаковой длины префикса.

В случае двух маршрутов с одинаковой длиной префикса выигрывает тот, у которого значение приоритета с меньшим номером.

Значение по умолчанию — 1000. Допустимый диапазон — от 0 до 65535.

project

string

Проект Google Cloud Platform для использования.

scopes

list / elements=string

Массив областей, которые будут использоваться

service_account_contents

jsonarg

Содержимое файла JSON учетной записи службы, либо в словаре, либо в виде JSON-строки, которая его представляет.

service_account_email

string

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

service_account_file

path

Путь к файлу JSON учетной записи сервиса, если тип учетной записи выбран как serviceaccount.

state

string

Определяет, должен ли объект существовать в GCP.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

tags

list / elements=string

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

Примечания

Примечание

  • Ссылка на 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.
  • Для аутентификации можно задать access_token с помощью переменной среды GCP_ACCESS_TOKEN.
  • Для аутентификации можно задать 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

строка

Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.

Возвращается: успех

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 .

Возвращается: успех

nextHopIlb

словарь

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

словарь

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

список / элементы=строка

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

Возвращается: успех

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (источники)

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

Spec-Zone.ru

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