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 - / обязательно |
| Тип используемых учетных данных. |
| description - добавлен в 2.7 | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. | |
| dest_range - / обязательно | Диапазон назначения исходящих пакетов, к которым применяется этот маршрут. Поддерживается только IPv4. | |
| name - / обязательно | Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. | |
| 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 . | |
| ... (остальной таблицы) | ... | ... |
Примечания
Примечание
- Ссылка на 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. - Для аутентификации вы можете установить 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: "service_account"
service_account_file: "/tmp/auth.pem"
state: present
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| description строка | успех | Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. |
| dest_range строка | успех | Диапазон назначения исходящих пакетов, к которому применяется этот маршрут. Поддерживается только IPv4. |
| name строка | успех | Имя ресурса. Предоставляется клиентом при создании ресурса. Длина имени должна составлять от 1 до 63 символов и соответствовать RFC1035. Точнее, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
| 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 . |
| next_hop_ip строка | успех | Сетевой IP-адрес экземпляра, который должен обрабатывать соответствующие пакеты. |
| next_hop_network строка | успех | URL сети, которая должна обрабатывать соответствующие пакеты. |
| next_hop_vpn_tunnel строка | успех | URL VpnTunnel, который должен обрабатывать соответствующие пакеты. |
| priority целое число | успех | Приоритет этого маршрута. Приоритет используется для разрешения конфликтов в случаях, когда существует более одного соответствующего маршрута с одинаковой длиной префикса. В случае двух маршрутов с одинаковой длиной префикса маршрут с меньшим значением приоритета выигрывает. Значение по умолчанию равно 1000. Допустимый диапазон значений — от 0 до 65535. |
| tags список | успех | Список тегов экземпляров, к которым применяется этот маршрут. |
Состояние
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- 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.7/modules/gcp_compute_route_module.html