Модуль google.cloud.gcp_compute_router – создание маршрутизатора GCP
Примечание
Этот модуль входит в коллекцию google.cloud (версия 1.13.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install google.cloud. Для работы с этим модулем необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_router.
Краткое описание
- Представляет ресурс маршрутизатора.
Требования
Следующие требования должны быть выполнены на узле, где выполняется этот модуль.
- python >= 2.6
- requests >= 2.18.4
- google-auth >= 1.3.0
Параметры
Параметр | Описание |
|---|---|
access_token string | Токен доступа OAuth2, если тип учетных данных — accesstoken. |
auth_kind string / обязательный | Тип используемых учетных данных. Допустимые значения:
|
bgp dictionary | Информация BGP для этого маршрутизатора. |
|
advertise_mode string |
Указанный пользователем флаг, определяющий режим анонсирования. В качестве допустимых значений можно использовать: “DEFAULT”, “CUSTOM” По умолчанию: |
|
advertised_groups list / элементы=string |
Указанный пользователем список групп префиксов для анонсирования в пользовательском режиме. Это поле можно заполнить, только если advertiseMode имеет значение CUSTOM. Анонсирование выполняется всем соседям маршрутизатора. Эти группы будут анонсироваться вместе с указанными префиксами. Оставьте это поле пустым, чтобы не анонсировать пользовательские группы. Для этого поля перечисления допустимо только одно значение: ALL_SUBNETS . |
|
advertised_ip_ranges list / элементы=dictionary |
Указанный пользователем список отдельных диапазонов IP-адресов для анонсирования в пользовательском режиме. Это поле можно заполнить, только если advertiseMode имеет значение CUSTOM. Анонсирование выполняется всем соседям маршрутизатора. Эти диапазоны IP-адресов будут анонсироваться вместе с указанными группами. Оставьте это поле пустым, чтобы не анонсировать пользовательские диапазоны IP-адресов. |
|
description string |
Описание диапазона IP-адресов, заданное пользователем. |
|
range string / обязательный |
Диапазон IP-адресов для анонсирования. Значение должно быть строкой в формате CIDR. |
|
asn integer / обязательный |
Локальный номер автономной системы BGP (ASN). Должен быть частным ASN согласно RFC6996, 16- или 32-разрядным. Это значение будет фиксированным для данного ресурса маршрутизатора. Все VPN-туннели, связанные с этим маршрутизатором, будут иметь одинаковый локальный ASN. |
description string | Необязательное описание этого ресурса. |
env_type string | Указывает, в какой среде Ansible выполняется этот модуль. Не задавайте это значение, если не знаете, что делаете. Этот параметр изменяет только строку User Agent для запросов API. |
name string / обязательный | Имя ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, то есть начинаться со строчной буквы, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. |
network dictionary / обязательный | Ссылка на сеть, к которой относится этот маршрутизатор. Это поле содержит ссылку на ресурс Network в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом ‘selfLink’ и значением, равным selfLink ресурса. В качестве альтернативы можно добавить `register: name-of-resource` в задачу gcp_compute_network, а затем присвоить этому полю network значение “{{ name-of-resource }}” |
project string | Проект Google Cloud Platform, который следует использовать. |
region string / обязательный | Регион, в котором находится маршрутизатор. |
scopes list / элементы=string | Массив используемых областей доступа |
service_account_contents jsonarg | Содержимое JSON-файла учетной записи службы в виде словаря или JSON-строки, представляющей это содержимое. |
service_account_email string | Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес по умолчанию. |
service_account_file path | Путь к JSON-файлу учетной записи службы, если в качестве типа выбрано serviceaccount. |
state string | Должен ли указанный объект существовать в GCP Допустимые значения:
|
Примечания
Примечание
- Справочник API: https://cloud.google.com/compute/docs/reference/rest/v1/routers
- Cloud Router в Google Cloud: https://cloud.google.com/router/docs/
- для аутентификации можно задать 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-router
project: "{{ gcp_project }}"
auth_kind: "{{ gcp_cred_kind }}"
service_account_file: "{{ gcp_cred_file }}"
state: present
register: network
- name: create a router
google.cloud.gcp_compute_router:
name: test_object
network: "{{ network }}"
bgp:
asn: 64514
advertise_mode: CUSTOM
advertised_groups:
- ALL_SUBNETS
advertised_ip_ranges:
- range: 1.2.3.4
- range: 6.7.0.0/16
region: us-central1
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
bgp complex | Информация BGP для этого маршрутизатора. Возвращается: при успешном выполнении |
|
advertisedGroups list / элементы=string |
Указанный пользователем список групп префиксов для анонсирования в пользовательском режиме. Это поле можно заполнить, только если advertiseMode имеет значение CUSTOM. Анонсирование выполняется всем соседям маршрутизатора. Эти группы будут анонсироваться вместе с указанными префиксами. Оставьте это поле пустым, чтобы не анонсировать пользовательские группы. Для этого поля перечисления допустимо только одно значение: ALL_SUBNETS . Возвращается: при успешном выполнении |
|
advertisedIpRanges complex |
Указанный пользователем список отдельных диапазонов IP-адресов для анонсирования в пользовательском режиме. Это поле можно заполнить, только если advertiseMode имеет значение CUSTOM. Анонсирование выполняется всем соседям маршрутизатора. Эти диапазоны IP-адресов будут анонсироваться вместе с указанными группами. Оставьте это поле пустым, чтобы не анонсировать пользовательские диапазоны IP-адресов. Возвращается: при успешном выполнении |
|
description string |
Описание диапазона IP-адресов, заданное пользователем. Возвращается: при успешном выполнении |
|
range string |
Диапазон IP-адресов для анонсирования. Значение должно быть строкой в формате CIDR. Возвращается: при успешном выполнении |
|
advertiseMode string |
Указанный пользователем флаг, определяющий режим анонсирования. Возвращается: при успешном выполнении |
|
asn integer |
Локальный номер автономной системы BGP (ASN). Должен быть частным ASN согласно RFC6996, 16- или 32-разрядным. Это значение будет фиксированным для данного ресурса маршрутизатора. Все VPN-туннели, связанные с этим маршрутизатором, будут иметь одинаковый локальный ASN. Возвращается: при успешном выполнении |
creationTimestamp string | Временная метка создания в текстовом формате RFC3339. Возвращается: при успешном выполнении |
description string | Необязательное описание этого ресурса. Возвращается: при успешном выполнении |
id integer | Уникальный идентификатор ресурса. Возвращается: при успешном выполнении |
name string | Имя ресурса. Имя должно содержать от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно содержать от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, то есть начинаться со строчной буквы, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Возвращается: при успешном выполнении |
network dictionary | Ссылка на сеть, к которой относится этот маршрутизатор. Возвращается: при успешном выполнении |
region string | Регион, в котором находится маршрутизатор. Возвращается: при успешном выполнении |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/google/cloud/gcp_compute_router_module.html