Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_compute_region_url_map — Создаёт GCP RegionUrlMap

Примечание

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

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

Для установки используйте: ansible-galaxy collection install google.cloud. Для использования этого модуля потребуются дополнительные зависимости. Подробности см. в разделе Требования.

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

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

Описание

  • UrlMap используются для маршрутизации запросов к службе обратного канала на основе правил, определённых для хоста и пути входящего URL.

Требования

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

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

Параметры

Параметр

Комментарии

access_token

строка

Токен доступа OAuth2, если тип аутентификации — accesstoken.

auth_kind

строка / обязательно

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

Варианты:

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

default_service

словарь

Полный или частичный URL ресурса defaultService, к которому направляется трафик, если ни одно из hostRules не соответствует. Если дополнительно указан defaultRouteAction, выполняются расширенные действия маршрутизации, такие как URL Rewrites, прежде чем запрос отправится бэкенду. Однако, если указан defaultService, defaultRouteAction не может содержать weightedBackendServices. И наоборот, если routeAction содержит weightedBackendServices, service не должен быть указан. Только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService должен быть задан.

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

default_url_redirect

словарь

Если ни одно из указанных hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть установлены.

host_redirect

строка

Хост, который будет использован в ответе перенаправления вместо предоставленного в запросе. Значение должно быть между 1 и 255 символами.

https_redirect

логическое

Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка этого значения в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.

Варианты:

  • false ← (по умолчанию)
  • true

path_redirect

строка

Путь, который будет использован в ответе перенаправления вместо указанного в запросе. pathRedirect не может быть использован вместе с prefixRedirect. Укажите только один или ни одного. Если ни один не указан, путь исходного запроса будет использован для перенаправления. Значение должно быть между 1 и 1024 символами.

prefix_redirect

строка

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

prefixRedirect не может быть использован вместе с pathRedirect. Укажите только один или ни одного. Если ни один не указан, путь исходного запроса будет использован для перенаправления. Значение должно быть между 1 и 1024 символами.

redirect_response_code

строка

Код HTTP-статуса для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT (по умолчанию), соответствует 301.

* FOUND, соответствует 302.

* SEE_OTHER, соответствует 303.

* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.

* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.

Некоторые допустимые варианты включают: “FOUND”, “MOVED_PERMANENTLY_DEFAULT”, “PERMANENT_REDIRECT”, “SEE_OTHER”, “TEMPORARY_REDIRECT”

strip_query

логическое

Если установлено в true, любая часть запроса URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса URL сохраняется.

Варианты:

  • false ← (по умолчанию)
  • true

description

строка

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

env_type

строка

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

Не следует устанавливать это значение, если вы не знаете, что делаете.

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

host_rules

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

Список HostRules для использования с URL.

description

строка

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

hosts

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

Список шаблонов хостов для сопоставления. Они должны быть валидными именами хостов, за исключением *, которое будет соответствовать любой строке ([a-z0-9-.]*). В этом случае * должен быть первым символом и должен быть после него в шаблоне либо - или .

path_matcher

строка / обязательно

Имя PathMatcher для сопоставления части пути URL, если hostRule соответствует хосту URL.

имя

строка / обязательно

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

path_matchers

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

Список именованных PathMatchers для использования с URL.

default_service

словарь

Ссылка на ресурс RegionBackendService. Будет использоваться, если ни один из pathRules, определенных этим PathMatcher, не соответствует пути URL.

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

default_url_redirect

словарь

Если ни один из указанных hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если defaultUrlRedirect указан, то defaultService или defaultRouteAction не должны быть установлены.

host_redirect

строка

Хост, который будет использоваться в ответе о перенаправлении вместо того, что был предоставлен в запросе. Значение должно быть от 1 до 255 символов.

https_redirect

логическое

Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как у запроса. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.

Варианты:

  • false ← (по умолчанию)
  • true

path_redirect

строка

Путь, который будет использоваться в ответе о перенаправлении вместо предоставленного в запросе. pathRedirect не может быть указан вместе с prefixRedirect. Указывайте только один или ни одного. Если ни тот, ни другой не указаны, то для перенаправления будет использован путь из исходного запроса. Значение должно быть от 1 до 1024 символов.

prefix_redirect

строка

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

prefixRedirect не может быть указан вместе с pathRedirect. Указывайте только один или ни одного. Если ни тот, ни другой не указаны, то для перенаправления будет использован путь из исходного запроса. Значение должно быть от 1 до 1024 символов.

redirect_response_code

строка

Код HTTP-статуса для этого RedirectAction. Допустимые значения: * MOVED_PERMANENTLY_DEFAULT (по умолчанию), соответствует 301.

* FOUND, соответствует 302.

* SEE_OTHER, соответствует 303.

* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.

* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.

Некоторые допустимые варианты: “FOUND”, “MOVED_PERMANENTLY_DEFAULT”, “PERMANENT_REDIRECT”, “SEE_OTHER”, “TEMPORARY_REDIRECT”

strip_query

логическое

Если установлено в true, любая сопутствующая часть запроса исходного URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса исходного URL сохраняется.

Варианты:

  • false ← (по умолчанию)
  • true

описание

строка

Необязательное описание этого ресурса.

имя

строка / обязательно

Имя, по которому этот PathMatcher упоминается в HostRule.

path_rules

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

Список правил пути. Используйте этот список вместо routeRules, когда необходимо маршрутизировать, основываясь только на простом соответствии пути. Порядок указания правил пути не имеет значения. Соответствие всегда выполняется по принципу наибольшего совпадения пути. Например: путь pathRule с путем /a/b/c/* будет соответствовать прежде, чем /a/b/* независимо от порядка, в котором эти пути появляются в этом списке. В рамках данного pathMatcher должен быть установлен только один из pathRules или routeRules.

paths

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

Список шаблонов пути для соответствия. Каждый должен начинаться с /, и единственное место, где допускается \*, — это в конце после /. Строка, подаваемая в path-матчер, не включает текст после первого ? или #, а эти символы здесь запрещены.

route_action

словарь

В ответ на совпадение пути балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как переписывание URL, преобразование заголовков и т. д., перед пересылкой запроса на выбранный бэкенд. Если routeAction указывает какие-либо weightedBackendServices, то service не должен быть установлен. И наоборот, если service установлен, routeAction не может содержать какие-либо weightedBackendServices. Должен быть установлен только один из routeAction или urlRedirect.

cors_policy

словарь

Спецификация для разрешения кросс-доменных запросов со стороны клиента. См. рекомендацию W3C по кросс-доменному обмену ресурсами.

allow_credentials

boolean

В ответ на предварительный запрос, установка этого значения в true указывает на то, что фактический запрос может включать учетные данные пользователя. Это преобразуется в заголовок Access-Control-Allow-Credentials. По умолчанию — false.

Варианты:

  • false ← (default)
  • true

allow_headers

list / elements=string

Указывает содержимое для заголовка Access-Control-Allow-Headers.

allow_methods

list / elements=string

Указывает содержимое для заголовка Access-Control-Allow-Methods.

allow_origin_regexes

list / elements=string

Указывает шаблоны регулярных выражений, которые соответствуют разрешенным источникам. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Источник разрешен, если он соответствует либо allow_origins, либо allow_origin_regex.

allow_origins

list / elements=string

Указывает список источников, которым будет разрешено выполнять CORS-запросы. Источник разрешен, если он соответствует либо allow_origins, либо allow_origin_regex.

disabled

boolean / required

Если true, указывает, что политика CORS отключена.

Варианты:

  • false
  • true

expose_headers

list / elements=string

Указывает содержимое для заголовка Access-Control-Expose-Headers.

max_age

integer

Указывает, как долго результаты предварительного запроса могут кэшироваться. Это преобразуется в содержимое заголовка Access-Control-Max-Age.

fault_injection_policy

dictionary

Спецификация для внедрения инъекции ошибок в трафик для проверки устойчивости клиентов к отказам в работе бекенд-сервиса. В рамках инъекции ошибок, когда клиенты отправляют запросы в бекенд-сервис, задержки могут быть введены балансировщиком нагрузки для определенного процента запросов перед отправкой этих запросов в бекенд-сервис. Аналогично, запросы от клиентов могут быть прерваны балансировщиком нагрузки для определенного процента запросов. timeout и retry_policy будут игнорироваться клиентами, которые настроены с fault_injection_policy.

abort

dictionary

Спецификация того, как прерываются запросы клиентов в рамках инъекции ошибок.

http_status

integer / required

Код состояния HTTP, используемый для прерывания запроса. Значение должно быть в диапазоне от 200 до 599 включительно.

percentage

string / required

Процент трафика (подключений/операций/запросов), который будет прерван в рамках инъекции ошибок. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.

delay

dictionary

Спецификация того, как запросы клиентов задерживаются в рамках инъекции ошибок, прежде чем быть отправленными в бекенд-сервис.

fixed_delay

dictionary / required

Указывает значение интервала фиксированной задержки.

nanos

integer

Промежуток времени, который представляет собой дробь секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены с полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

string / required

Промежуток времени с разрешением в одну секунду. Должно быть от 0 до 315 576 000 000 включительно.

percentage

string / required

Процент трафика (подключений/операций/запросов), на котором будет введена задержка в рамках инъекции ошибок. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.

request_mirror_policy

dictionary

Указывает политику того, как запросы, предназначенные для бекенд-сервисов маршрута, проецируются на отдельный зеркальный бекенд-сервис. Балансировщик нагрузки не ожидает ответов от теневого сервиса. Перед отправкой трафика в теневой сервис к заголовку host/authority добавляется суффикс -shadow.

backend_service

словарь / обязательно

Ресурс RegionBackendService, к которому осуществляется зеркалирование.

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

retry_policy

словарь

Указывает политику повторных попыток, связанную с этим маршрутом.

num_retries

целое число

Указывает разрешенное количество повторных попыток. Это число должно быть > 0.

per_try_timeout

словарь

Указывает ненулевой таймаут для каждой попытки повторной обработки.

nanos

целое число

Промежуток времени, представляющий дробь секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением поля `seconds` равным 0 и положительным значением поля `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

строка / обязательно

Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.

retry_conditions

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

Указывает один или несколько условий, когда применяется это правило повторных попыток. Допустимые значения:

  • - 5xx: Loadbalancer предпримет повторную попытку, если служба обратного канала ответит любым кодом ответа 5xx или вообще не ответит, например, при отключении, сбросе, тайм-ауте чтения, сбое подключения и отклоненных потоках.
  • gateway-error: Аналогично 5xx, но применяется только к кодам ответа 502, 503 или 504.
  • connect-failure: Loadbalancer повторит попытку при сбоях подключения к службам обратного канала, например, из-за таймаутов подключения.
  • retriable-4xx: Loadbalancer повторит попытку для обрабатываемых кодов ответа 4xx.

В настоящее время поддерживается только одна обрабатываемая ошибка 409.

  • refused-stream: Loadbalancer повторит попытку, если служба обратного канала сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает, что можно повторить попытку.
  • cancelled: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в значение cancelled - deadline-exceeded: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в значение deadline-exceeded - resource-exhausted: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в значение resource-exhausted - unavailable: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в значение unavailable .

timeout

словарь

Указывает таймаут для выбранного маршрута. Таймаут вычисляется с момента полного обработки запроса (т. е. конца потока) до момента полной обработки ответа. Таймаут включает все повторные попытки. Если не указано, значение по умолчанию составляет 15 секунд.

nanos

целое число

Промежуток времени, представляющий дробь секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением поля `seconds` равным 0 и положительным значением поля `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

строка / обязательно

Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.

url_rewrite

словарь

Спецификация для изменения URL-адреса запроса до переадресации запроса на сопоставленную службу.

host_rewrite

строка

Перед переадресацией запроса на выбранную службу заголовок хоста запроса заменяется содержимым hostRewrite. Значение должно быть от 1 до 255 символов.

path_prefix_rewrite

строка

Перед переадресацией запроса на выбранную службу обратного канала соответствующая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть от 1 до 1024 символов.

weighted_backend_services

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

Список служб обратного канала с весами для отправки трафика при совпадении маршрута. Веса определяют долю трафика, которая поступает на соответствующую службу обратного канала. Если весь трафик должен поступать на одну службу обратного канала, должен быть один weightedBackendService с весом, отличным от 0. После определения службы обратного канала и перед переадресацией запроса на службу обратного канала применяются расширенные действия маршрутизации, такие как изменение URL-адресов и преобразования заголовков, в зависимости от дополнительных параметров, указанных в HttpRouteAction.

backend_service

словарь / обязательно

Ресурс RegionBackendService по умолчанию. Перед переадресацией запроса на backendService балансировщик нагрузки применяет все соответствующие действия с заголовками, указанные в качестве части backendServiceWeight.

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

header_action

dictionary

Указывает изменения заголовков запроса и ответа, которые должны вступить в силу для выбранного backendService. headerAction, указанный здесь, вступает в силу до headerAction в содержащем его HttpRouteRule, PathMatcher и UrlMap.

request_headers_to_add

list / elements=dictionary

Заголовки, которые нужно добавить к соответствующему запросу перед переадресацией запроса к backendService.

header_name

string / required

Имя заголовка.

header_value

string / required

Значение заголовка, которое нужно добавить.

replace

boolean / required

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Варианты:

  • false
  • true

request_headers_to_remove

list / elements=string

Список имен заголовков, которые необходимо удалить из запроса перед переадресацией запроса к backendService.

response_headers_to_add

list / elements=dictionary

Заголовки, которые нужно добавить к ответу перед отправкой ответа клиенту.

header_name

string / required

Имя заголовка.

header_value

string / required

Значение заголовка, которое нужно добавить.

replace

boolean / required

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Варианты:

  • false
  • true

response_headers_to_remove

list / elements=string

Список имен заголовков, которые необходимо удалить из ответа перед отправкой ответа клиенту.

weight

integer / required

Указывает долю трафика, отправляемого в backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction). Выбор службы backend определяется только для нового трафика. После того, как запрос пользователя был перенаправлен на backendService, последующие запросы будут отправлены на ту же службу backend, как определено политикой сродства сеансов BackendService.

Значение должно быть от 0 до 1000.

service

dictionary

Ресурс региональной службы backend, на который перенаправляется трафик, если это правило соответствует. Если дополнительно указан routeAction, расширенные действия маршрутизации, такие как переписывание URL-адресов и т. д., вступают в силу перед отправкой запроса на бэкэнд. Однако, если указана служба, routeAction не может содержать никаких weightedBackendService. И наоборот, если routeAction указывает какие-либо weightedBackendServices, service не должен быть указан. Должно быть установлено только одно из urlRedirect, service или routeAction.weightedBackendService.

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

url_redirect

dictionary

Когда совпадает шаблон пути, запрос перенаправляется на URL-адрес, указанный в urlRedirect. Если указан urlRedirect, service или routeAction не должны быть установлены.

host_redirect

string

Хост, который будет использоваться в ответе о перенаправлении вместо того, который был предоставлен в запросе. Значение должно быть от 1 до 255 символов.

https_redirect

boolean

Если установлено значение true, схема URL в перенаправленном запросе устанавливается в https.

Если установлено значение false, схема URL перенаправленного запроса останется той же, что и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка этого значения true для TargetHttpsProxy не допускается. Значение по умолчанию установлено в false.

Варианты:

  • false ← (default)
  • true

path_redirect

string

Путь, который будет использоваться в ответе перенаправления вместо того, который был предоставлен в запросе. pathRedirect не может быть указан вместе с prefixRedirect. Укажите только один или ни одного. Если ни один из них не указан, путь исходного запроса будет использоваться для перенаправления.

Значение должно быть от 1 до 1024 символов.

prefix_redirect

string

Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL-адреса перед перенаправлением запроса. prefixRedirect не может быть указан вместе с pathRedirect. Укажите только один или ни одного. Если ни один из них не указан, путь исходного запроса будет использоваться для перенаправления. Значение должно быть от 1 до 1024 символов.

redirect_response_code

string

HTTP-код состояния, который нужно использовать для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, это значение по умолчанию и соответствует 301.

* FOUND, что соответствует 302.

* SEE_OTHER, что соответствует 303.

* TEMPORARY_REDIRECT, что соответствует 307. В этом случае метод запроса будет сохранен.

* PERMANENT_REDIRECT, что соответствует 308. В этом случае метод запроса будет сохранен.

Некоторые допустимые варианты: “FOUND”, “MOVED_PERMANENTLY_DEFAULT”, “PERMANENT_REDIRECT”, “SEE_OTHER”, “TEMPORARY_REDIRECT”

strip_query

boolean

Если установлено значение true, любая сопровождающая часть запроса исходного URL-адреса удаляется перед перенаправлением запроса. Если установлено значение false, часть запроса исходного URL-адреса сохраняется.

Варианты:

  • false ← (по умолчанию)
  • true

route_rules

list / elements=dictionary

Список упорядоченных правил маршрутизации HTTP. Используйте этот список вместо pathRules, когда требуются расширенные возможности сопоставления маршрутов и действий маршрутизации. Порядок указания routeRules имеет значение: первое правило, которое соответствует, вызовет выполнение указанного действия маршрутизации. В пределах данного pathMatcher должен быть установлен только один из pathRules или routeRules. routeRules не поддерживаются в UrlMaps, предназначенных для внешних балансировщиков нагрузки.

header_action

dictionary

Указывает изменения заголовков запросов и ответов, которые должны вступить в силу для выбранного backendService. Указанные здесь headerAction применяются до pathMatchers[].headerAction и после pathMatchers[].routeRules[].r outeAction.weightedBackendService.backendServiceWeightAction[].headerAction.

request_headers_to_add

list / elements=dictionary

Заголовки, которые необходимо добавить к соответствующему запросу перед переадресацией запроса к backendService.

header_name

string / required

Имя заголовка.

header_value

string / required

Значение заголовка, которое нужно добавить.

replace

boolean / required

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Варианты:

  • false
  • true

request_headers_to_remove

list / elements=string

Список имен заголовков для заголовков, которые необходимо удалить из запроса перед переадресацией запроса к backendService.

response_headers_to_add

list / elements=dictionary

Заголовки, которые нужно добавить к ответу перед отправкой ответа обратно клиенту.

header_name

string / required

Имя заголовка.

header_value

string / required

Значение заголовка, которое нужно добавить.

replace

boolean / required

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Варианты:

  • false
  • true

response_headers_to_remove

list / elements=string

Список имен заголовков для заголовков, которые необходимо удалить из ответа перед отправкой ответа обратно клиенту.

match_rules

list / elements=dictionary

Правила определения соответствия.

full_path_match

string

Для удовлетворения условия matchRule, путь запроса должен точно соответствовать значению, указанному в fullPathMatch после удаления любых параметров запроса и якоря, которые могут быть частью исходного URL-адреса. FullPathMatch должен содержать от 1 до 1024 символов. Должно быть указано только одно из параметров: prefixMatch, fullPathMatch или regexMatch.

header_matches

list / elements=dictionary

Указывает список критериев соответствия заголовков, все из которых должны соответствовать соответствующим заголовкам в запросе.

exact_match

string

Значение должно точно совпадать с содержимым exactMatch. Должен быть установлен только один из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

header_name

string / required

Имя HTTP-заголовка для сопоставления. Для сопоставления с авторитетом HTTP-запроса используйте headerMatch с именем заголовка «:authority». Для сопоставления метода запроса используйте headerName «:method».

invert_match

boolean

Если установлено значение false, headerMatch считается совпадением, если выполнены указанные выше критерии соответствия. Если установлено значение true, headerMatch считается совпадением, если указанные выше критерии соответствия НЕ выполнены. По умолчанию — false.

Choices:

  • false ← (default)
  • true

prefix_match

string

Значение заголовка должно начинаться с содержимого prefixMatch. Должен быть установлен только один из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

present_match

boolean

Заголовок с содержимым headerName должен существовать. Сопоставление происходит независимо от того, имеет ли заголовок запроса значение или нет. Должен быть установлен только один из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

Choices:

  • false
  • true

range_match

dictionary

Значение заголовка должно быть целым числом, и его значение должно находиться в диапазоне, указанном в rangeMatch. Если заголовок не содержит целого числа, числа или пуст, сопоставление завершается неудачей. Например, для диапазона [-5, 0] * -3 будет соответствовать * 0 не будет соответствовать * 0,25 не будет соответствовать * -3someString не будет соответствовать.

Должен быть установлен только один из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

range_end

integer / required

Конец диапазона (исключительно).

range_start

integer / required

Начало диапазона (включительно).

regex_match

string

Значение заголовка должно соответствовать регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений см.: en.cppreference.com/w/cpp/regex/ecmascript Для сопоставления с портом, указанным в HTTP-запросе, используйте headerMatch с headerName, установленным в PORT, и регулярное выражение, которое удовлетворяет спецификатору порта заголовка RFC2616 Host.

Должен быть установлен только один из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

suffix_match

string

Значение заголовка должно заканчиваться содержимым suffixMatch. Должен быть установлен только один из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

ignore_case

boolean

Указывает, что соответствия prefixMatch и fullPathMatch чувствительны к регистру.

По умолчанию — false.

Choices:

  • false ← (default)
  • true

metadata_filters

list / elements=dictionary

Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации на ограниченный набор совместимых с xDS клиентов. В своих запросах xDS к Loadbalancer клиенты xDS представляют метаданные узла. Если происходит совпадение, соответствующая конфигурация маршрутизации становится доступной этим прокси-серверам. Для каждого metadataFilter в этом списке, если его filterMatchCriteria установлен в MATCH_ANY, по крайней мере один из filterLabels должен соответствовать соответствующему метке, предоставленной в метаданных. Если его filterMatchCriteria установлен в MATCH_ALL, то все его filterLabels должны соответствовать соответствующим меткам в предоставленных метаданных. metadataFilters, указанные здесь, могут переопределять те, которые указаны в ForwardingRule, который ссылается на этот UrlMap. metadataFilters применяется только к Loadbalancers, у которых loadBalancingScheme установлен в INTERNAL_SELF_MANAGED.

filter_labels

list / elements=dictionary / required

Список пар значений меток, которые должны соответствовать меткам в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 записей.

name

string / required

Имя метки метаданных. Имя может иметь максимальную длину 1024 символа и должно содержать как минимум 1 символ.

значение

строка / обязательно

Значение метки должно соответствовать заданному значению. Значение может иметь максимальную длину 1024 символа.

filter_match_criteria

строка / обязательно

Указывает, как отдельные соответствия filterLabel в списке filterLabels влияют на общее соответствие metadataFilter. Поддерживаемые значения: * MATCH_ANY: По крайней мере, одна из меток filterLabels должна иметь соответствующую метку в предоставленных данных metadata. * MATCH_ALL: Все filterLabels должны иметь соответствующие метки в предоставленных данных metadata.

Некоторые допустимые значения: “MATCH_ALL”, “MATCH_ANY”

prefix_match

строка

Для выполнения условия matchRule путь запроса должен начинаться с указанного префикса prefixMatch. prefixMatch должен начинаться с /. Значение должно быть от 1 до 1024 символов. Должен быть указан только один из prefixMatch, fullPathMatch или regexMatch.

query_parameter_matches

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

Указывает список критериев соответствия параметрам запроса, все из которых должны соответствовать соответствующим параметрам запроса.

exact_match

строка

queryParameterMatch соответствует, если значение параметра точно совпадает с содержимым exactMatch. Должен быть указан только один из presentMatch, exactMatch и regexMatch.

имя

строка / обязательно

Имя параметра запроса для соответствия. Параметр запроса должен существовать в запросе, в противном случае запрос не соответствует.

present_match

логическое

Указывает, что queryParameterMatch соответствует, если запрос содержит параметр запроса, независимо от того, имеет ли параметр значение или нет. Должен быть указан только один из presentMatch, exactMatch и regexMatch.

Варианты:

  • false
  • true

regex_match

строка

queryParameterMatch соответствует, если значение параметра соответствует регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Должен быть указан только один из presentMatch, exactMatch и regexMatch.

regex_match

строка

Для выполнения условия matchRule путь запроса должен удовлетворять регулярному выражению, указанному в regexMatch, после удаления всех параметров запроса и якоря, предоставленных в исходном URL. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Должен быть указан только один из prefixMatch, fullPathMatch или regexMatch.

приоритет

целое число / обязательно

Для routeRules в заданном pathMatcher приоритет определяет порядок интерпретации routeRules балансировщиком нагрузки. RouteRules оцениваются в порядке приоритета, от самого низкого к самому высокому числу. Приоритет правила уменьшается с увеличением его номера (1, 2, 3, N+1). Первое правило, соответствующее запросу, применяется. Нельзя настроить два или более routeRules с одинаковым приоритетом. Приоритет каждого правила должен быть установлен на число от 0 до 2147483647 включительно. Номера приоритетов могут иметь пробелы, что позволяет добавлять или удалять правила в будущем без влияния на остальные правила. Например, 1, 2, 3, 4, 5, 9, 12, 16 — это допустимая последовательность номеров приоритета, к которой в будущем можно добавить правила с номерами от 6 до 8, от 10 до 11 и от 13 до 15 без каких-либо последствий для существующих правил.

действие_маршрута

словарь

В ответ на сопоставленное matchRule балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как переписывание URL-адресов, преобразование заголовков и т. д., прежде чем передать запрос выбранному бэкенду. Если routeAction указывает любые weightedBackendServices, service не должен быть задан. И наоборот, если service задан, routeAction не может содержать какие-либо weightedBackendServices. Должен быть указан только один из routeAction или urlRedirect.

cors_policy

словарь

Спецификация для разрешения запросов к ресурсам с разных доменов со стороны клиента. См. рекомендацию W3C по междоменным запросам.

allow_credentials

логическое

В ответ на предварительный запрос, установка в значение true указывает, что фактический запрос может включать учетные данные пользователя. Это переводится в заголовок Access-Control-Allow-Credentials. По умолчанию значение false.

Варианты:

  • false ← (по умолчанию)
  • true

allow_headers

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

Указывает содержимое заголовка Access-Control-Allow-Headers.

allow_methods

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

Указывает содержимое заголовка Access-Control-Allow-Methods.

allow_origin_regexes

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

Указывает шаблоны регулярных выражений, которые соответствуют разрешенным источникам. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Источник разрешен, если он соответствует либо allow_origins, либо allow_origin_regex.

allow_origins

list / elements=string

Указывает список источников, которым будет разрешено выполнять CORS-запросы. Источник разрешен, если он соответствует либо allow_origins, либо allow_origin_regex.

disabled

boolean

Если true, указывает, что политика CORS отключена.

что указывает на то, что политика CORS активна. По умолчанию false.

Варианты:

  • false ← (default)
  • true

expose_headers

list / elements=string

Указывает содержимое заголовка Access-Control-Expose-Headers.

max_age

integer

Указывает, как долго можно кэшировать результаты предварительного запроса. Это преобразуется в содержимое заголовка Access-Control-Max-Age.

fault_injection_policy

dictionary

Спецификация для внедрения инжекции ошибок в трафик для проверки устойчивости клиентов к сбоям в службе бекенда. В рамках инжекции ошибок, когда клиенты отправляют запросы в службу бекенда, задержки могут быть введены балансировщиком нагрузки для определенного процента запросов, прежде чем эти запросы будут отправлены в службу бекенда. Аналогично, запросы от клиентов могут быть прерваны балансировщиком нагрузки для определенного процента запросов. timeout и retry_policy будут игнорироваться клиентами, которые настроены с fault_injection_policy.

abort

dictionary

Спецификация того, как прерываются запросы клиентов как часть инжекции ошибок.

http_status

integer

Код состояния HTTP, используемый для прерывания запроса. Значение должно быть от 200 до 599 включительно.

percentage

string

Процент трафика (подключений/операций/запросов), который будет прерван как часть инжекции ошибок. Значение должно быть от 0,0 до 100,0 включительно.

delay

dictionary

Спецификация того, как запросы клиентов задерживаются как часть инжекции ошибок, прежде чем быть отправленными в службу бекенда.

fixed_delay

dictionary

Указывает значение интервала фиксированной задержки.

nanos

integer

Промежуток времени, который является частью секунды с разрешением в наносекунды. Продолжительность менее одной секунды представлена полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

string / required

Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

percentage

string

Процент трафика (подключений/операций/запросов), на котором будет введена задержка как часть инжекции ошибок. Значение должно быть от 0,0 до 100,0 включительно.

request_mirror_policy

dictionary

Указывает политику того, как запросы, предназначенные для бекенд-серверов маршрута, проецируются на отдельную зеркальную службу бекенда. Балансировщик нагрузки не ожидает ответов от службы-тени. Перед отправкой трафика в службу-тень к заголовку host / authority добавляется суффикс -shadow.

backend_service

dictionary / required

Зеркалируемый ресурс RegionBackendService.

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

retry_policy

dictionary

Указывает политику повтора, связанную с этим маршрутом.

num_retries

integer / required

Указывает разрешенное количество повторов. Это число должно быть > 0.

per_try_timeout

dictionary

Указывает ненулевое время ожидания для каждой попытки повтора.

nanos

integer

Промежуток времени, составляющий долю секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются с полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

string / required

Промежуток времени с разрешением в одну секунду. Должно быть от 0 до 315 576 000 000 включительно.

retry_conditions

list / elements=string

Указывает одно или несколько условий, при которых применяется это правило повторной попытки. Допустимые значения: * 5xx: балансировщик нагрузки будет пытаться повторить попытку, если служба бекенда отвечает с любым кодом ответа 5xx или если служба бекенда вообще не отвечает, например: разрывы соединения, сброс, тайм-аут чтения, сбой соединения и отклоненные потоки.

* gateway-error: Аналогично 5xx, но применяется только к кодам ответов 502, 503 или 504.

* connect-failure: Балансировщик нагрузки будет повторять попытки при сбоях подключения к службам бекенда, например, из-за тайм-аутов подключения.

* retriable-4xx: Балансировщик нагрузки будет повторять попытки для повторяемых кодов ответа 4xx.

В настоящее время единственной поддерживаемой повторяемой ошибкой является 409.

* refused-stream: Балансировщик нагрузки будет повторять попытки, если служба бекенда сбрасывает поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает на то, что повторить попытку безопасно.

* cancelled: Балансировщик нагрузки будет повторять попытки, если код состояния gRPC в заголовке ответа установлен в cancelled * deadline-exceeded: Балансировщик нагрузки будет повторять попытки, если код состояния gRPC в заголовке ответа установлен в deadline-exceeded * resource-exhausted: Балансировщик нагрузки будет повторять попытки, если код состояния gRPC в заголовке ответа установлен в resource-exhausted * unavailable: Балансировщик нагрузки будет повторять попытки, если код состояния gRPC в заголовке ответа установлен в unavailable.

timeout

dictionary

Указывает тайм-аут для выбранного маршрута. Тайм-аут вычисляется с момента полной обработки запроса (т. е. конец потока) до момента полной обработки ответа. Тайм-аут включает все повторные попытки. Если не указано, используется значение по умолчанию — 15 секунд.

nanos

integer

Промежуток времени, составляющий долю секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются с полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

seconds

string / required

Промежуток времени с разрешением в одну секунду. Должно быть от 0 до 315 576 000 000 включительно.

url_rewrite

dictionary

Спецификация для изменения URL-адреса запроса перед переадресацией запроса на сопоставленную службу.

host_rewrite

string

Перед переадресацией запроса на выбранную службу заголовок host запроса заменяется содержимым hostRewrite. Значение должно быть от 1 до 255 символов.

path_prefix_rewrite

string

Перед переадресацией запроса на выбранную службу бекенда соответствующая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть от 1 до 1024 символов.

weighted_backend_services

list / elements=dictionary

Список взвешенных служб бекенда для отправки трафика при совпадении маршрута. Веса определяют долю трафика, которая поступает в соответствующую службу бекенда. Если весь трафик должен поступать в одну службу бекенда, должен быть один weightedBackendService с весом, отличным от 0. После того, как служба бекенда определена и перед переадресацией запроса в службу бекенда, применяются расширенные действия маршрутизации, такие как переписывание URL-адресов и преобразования заголовков, в зависимости от дополнительных параметров, указанных в этом HttpRouteAction.

backend_service

dictionary / required

Ресурс RegionBackendService по умолчанию. Перед переадресацией запроса в backendService балансировщик нагрузки применяет любые соответствующие headerActions, указанные как часть этого backendServiceWeight.

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

header_action

dictionary

Указывает изменения заголовков запросов и ответов, которые должны вступить в силу для выбранной службы бекенда. headerAction, указанные здесь, вступают в силу до headerAction в охватывающих HttpRouteRule, PathMatcher и UrlMap.

request_headers_to_add

list / elements=dictionary

Заголовки для добавления к соответствующему запросу перед переадресацией запроса в службу бекенда.

header_name

string / required

Имя заголовка.

header_value

string / required

Значение добавляемого заголовка.

replace

boolean / обязательно

Если значение false, headerValue добавляется к любым существующим значениям для данного заголовка. Если значение true, headerValue устанавливается для заголовка, и любые ранее заданные значения для этого заголовка удаляются.

Варианты:

  • false
  • true

request_headers_to_remove

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

Список имён заголовков, которые необходимо удалить из запроса перед передачей его в backendService.

response_headers_to_add

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

Заголовки, которые нужно добавить в ответ перед отправкой его клиенту.

header_name

строка / обязательно

Имя заголовка.

header_value

строка / обязательно

Значение добавляемого заголовка.

replace

boolean / обязательно

Если значение false, headerValue добавляется к любым существующим значениям для данного заголовка. Если значение true, headerValue устанавливается для заголовка, и любые ранее заданные значения для этого заголовка удаляются.

Варианты:

  • false
  • true

response_headers_to_remove

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

Список имён заголовков, которые необходимо удалить из ответа перед отправкой его клиенту.

weight

целое число / обязательно

Указывает долю трафика, направляемого на backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction). Выбор backend service определяется только для нового трафика. После того, как запрос пользователя был направлен на backendService, последующие запросы будут отправлены тому же backendService, что и определено политикой affinity backendService.

Значение должно быть от 0 до 1000.

service

словарь

Ресурс регионального backend service, на который направляется трафик, если соответствует данному правилу. Если дополнительно указан routeAction, действуют расширенные действия маршрутизации, такие как перенаправление URL и т.д., перед отправкой запроса на бэкенд. Однако, если указан service, routeAction не может содержать weightedBackendService. И наоборот, если routeAction указывает weightedBackendServices, service не должен быть указан. Должен быть установлен только один из urlRedirect, service или routeAction.weightedBackendService.

Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом ‘selfLink’ и значением selfLink вашего ресурса. Кроме того, можно добавить `register: name-of-resource` к задаче gcp_compute_region_backend_service, а затем установить это поле service на “{{ name-of-resource }}”

url_redirect

словарь

При совпадении этого правила запрос перенаправляется на URL, указанный в urlRedirect. Если urlRedirect указан, service или routeAction не должны быть установлены.

host_redirect

строка

Хост, который будет использоваться в ответе при перенаправлении, вместо предоставленного в запросе. Значение должно быть от 1 до 255 символов.

https_redirect

boolean

Если установлено в значение true, схема URL в перенаправленном запросе устанавливается в https.

Если установлено в значение false, схема URL перенаправленного запроса останется такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в значение true для TargetHttpsProxy запрещена. По умолчанию установлено в значение false.

Варианты:

  • false ← (по умолчанию)
  • true

path_redirect

строка

Путь, который будет использоваться в ответе при перенаправлении, вместо предоставленного в запросе. pathRedirect не может быть указан вместе с prefixRedirect. Указать нужно либо один из них, либо ни один. Если ни один не указан, путь исходного запроса будет использован для перенаправления.

Значение должно быть от 1 до 1024 символов.

prefix_redirect

строка

Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса. prefixRedirect не может быть указан вместе с pathRedirect. Указать нужно либо один из них, либо ни один. Если ни один не указан, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.

redirect_response_code

строка

Код HTTP-статуса, используемый для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT (по умолчанию, соответствует 301).

* FOUND (соответствует 302).

* SEE_OTHER (соответствует 303).

* TEMPORARY_REDIRECT (соответствует 307. В этом случае метод запроса сохраняется).

* PERMANENT_REDIRECT (соответствует 308. В этом случае метод запроса сохраняется).

Некоторые допустимые варианты: “FOUND”, “MOVED_PERMANENTLY_DEFAULT”, “PERMANENT_REDIRECT”, “SEE_OTHER”, “TEMPORARY_REDIRECT”

strip_query

boolean

Если установлено в значение true, любая сопровождающая часть запроса исходного URL-адреса удаляется перед перенаправлением запроса. Если установлено в значение false, часть запроса исходного URL-адреса сохраняется. Значение по умолчанию — false.

Варианты:

  • false ← (по умолчанию)
  • true

project

string

Проект Google Cloud Platform, который нужно использовать.

region

string / обязательно

Ссылка на регион, в котором находится карта URL.

scopes

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

Массив используемых областей действия

service_account_contents

jsonarg

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

service_account_email

строка

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

service_account_file

путь

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

state

строка

Указывает, должен ли данный объект существовать в GCP

Варианты:

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

tests

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

Список ожидаемых сопоставлений URL-адресов. Запросы на обновление этой карты URL будут успешны только в том случае, если пройдут все тестовые сценарии.

description

строка

Описание этого тестового сценария.

host

строка / обязательно

Часть хоста URL-адреса.

path

строка / обязательно

Часть пути URL-адреса.

service

словарь / обязательно

Ссылка на ожидаемый ресурс RegionBackendService, к которому должен быть сопоставлен данный URL-адрес.

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

Примеры

- name: create a health check
  google.cloud.gcp_compute_health_check:
    name: "{{ resource_name }}"
    type: HTTP
    http_health_check:
      port: 80
    check_interval_sec: 1
    timeout_sec: 1
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: healthcheck

- name: create a region backend service
  google.cloud.gcp_compute_region_backend_service:
    name: "{{ resource_name }}"
    region: us-central1
    health_checks:
    - "{{ healthcheck.selfLink }}"
    protocol: HTTP
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: backendservice

- name: create a region URL map
  google.cloud.gcp_compute_region_url_map:
    name: test_object
    region: us-central1
    default_service: "{{ backendservice }}"
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Значения возврата

Общие значения возврата документированы здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

creationTimestamp

строка

Дата и время создания в формате RFC3339.

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

defaultService

словарь

Полный или частичный URL ресурса defaultService, на который направляется трафик, если ни одно из правил hostRules не совпадает. Если дополнительно указан defaultRouteAction, выполняются расширенные действия маршрутизации, такие как перенаправление URL и т.д., прежде чем запрос отправляется на бэкенд. Однако, если указан defaultService, defaultRouteAction не может содержать никаких weightedBackendServices. И наоборот, если routeAction содержит какие-либо weightedBackendServices, service не должен быть указан. Только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService должен быть задан.

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

defaultUrlRedirect

сложный

Когда ни одно из указанных правил hostRules не совпадает, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если defaultUrlRedirect указан, defaultService или defaultRouteAction не должны быть заданы.

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

hostRedirect

строка

Хост, который будет использоваться в ответе о перенаправлении вместо того, который был предоставлен в запросе. Значение должно быть от 1 до 255 символов.

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

httpsRedirect

булево

Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка этого значения в true для TargetHttpsProxy запрещена. По умолчанию значение false.

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

pathRedirect

строка

Путь, который будет использован в ответе о перенаправлении вместо пути, указанного в запросе. pathRedirect не может быть использован вместе с prefixRedirect. Используйте только один из них или ни одного. Если ни один не указан, путь из исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.

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

prefixRedirect

строка

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

prefixRedirect не может быть использован вместе с pathRedirect. Используйте только один из них или ни одного. Если ни один не указан, путь из исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.

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

redirectResponseCode

строка

Код HTTP-статуса, используемый для этого RedirectAction. Доступные значения: * MOVED_PERMANENTLY_DEFAULT (по умолчанию), соответствует 301.

* FOUND, соответствует 302.

* SEE_OTHER, соответствует 303.

* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.

* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.

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

stripQuery

булево

Если установлено в true, любая сопутствующая часть запроса из исходного URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса исходного URL сохраняется.

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

description

строка

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

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

fingerprint

строка

Отпечаток пальца этого ресурса. Это поле используется во внутренней системе во время обновлений этого ресурса.

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

hostRules

сложный

Список правил hostRules для использования с URL.

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

description

строка

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

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

hosts

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

Список шаблонов хостов для сопоставления. Они должны быть допустимыми именами хостов, кроме * который будет соответствовать любой строке ([a-z0-9-.]*). В этом случае, * должен быть первым символом и должен следовать за ним в шаблоне либо - или .

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

pathMatcher

строка

Имя PathMatcher для сопоставления с частью пути URL, если hostRule соответствует хосту URL.

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

id

целое число

Уникальный идентификатор ресурса.

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

name

string

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

Возвращено: success

pathMatchers

complex

Список именованных PathMatchers для использования с URL.

Возвращено: success

defaultService

dictionary

Ссылка на ресурс RegionBackendService. Он будет использоваться, если ни одно из правил pathRules, определенных этим PathMatcher, не соответствует части пути URL.

Возвращено: success

defaultUrlRedirect

complex

Если ни одно из указанных hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть установлены.

Возвращено: success

hostRedirect

string

Хост, который будет использоваться в ответе на перенаправление вместо того, который был предоставлен в запросе. Значение должно быть от 1 до 255 символов.

Возвращено: success

httpsRedirect

boolean

Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется той же, что и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка этого значения в true для TargetHttpsProxy не допускается. Значение по умолчанию установлено в false.

Возвращено: success

pathRedirect

string

Путь, который будет использоваться в ответе на перенаправление вместо того, который был предоставлен в запросе. pathRedirect не может быть предоставлен вместе с prefixRedirect. Предоставьте только один или ни один. Если ни один не предоставлен, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.

Возвращено: success

prefixRedirect

string

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

prefixRedirect не может быть предоставлен вместе с pathRedirect. Предоставьте только один или ни один. Если ни один не предоставлен, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.

Возвращено: success

redirectResponseCode

string

Код состояния HTTP, используемый для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, которое является значением по умолчанию и соответствует 301.

* FOUND, которое соответствует 302.

* SEE_OTHER, которое соответствует 303.

* TEMPORARY_REDIRECT, которое соответствует 307. В этом случае метод запроса будет сохранен.

* PERMANENT_REDIRECT, которое соответствует 308. В этом случае метод запроса будет сохранен.

Возвращено: success

stripQuery

boolean

Если установлено в true, любая часть запроса исходного URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса исходного URL сохраняется.

Возвращено: success

description

string

Необязательное описание этого ресурса.

Возвращено: success

name

string

Имя, к которому этот PathMatcher ссылается HostRule.

Возвращено: success

pathRules

complex

Список правил пути. Используйте этот список вместо routeRules, когда достаточно маршрутизации на основе простого сопоставления путей. Порядок, в котором указаны правила пути, не имеет значения. Сопоставления всегда выполняются по принципу «самый длинный путь в первую очередь». Например: pathRule с путем /a/b/c/* будет соответствовать перед /a/b/* независимо от того, в каком порядке эти пути отображаются в этом списке. В рамках данного pathMatcher должен быть установлен только один из pathRules или routeRules.

Возвращено: success

paths

list / elements=string

Список шаблонов путей для сопоставления. Каждый должен начинаться с /, и единственное место, где допускается \*, находится в конце после /. Строка, подаваемая в сопоставитель путей, не включает текст после первого ? или #, и эти символы здесь не допускаются.

Возвращено: success

routeAction

complex

В ответ на совпадение пути балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как переписывание URL, преобразование заголовков и т. д., прежде чем перенаправить запрос на выбранный бэкэнд. Если routeAction указывает какие-либо weightedBackendServices, service не должен быть установлен. И наоборот, если установлен service, routeAction не может содержать какие-либо weightedBackendServices. Должен быть установлен только один из routeAction или urlRedirect.

Возвращено: success

corsPolicy

complex

Спецификация для разрешения межсайтовых запросов на стороне клиента. Пожалуйста, см. Рекомендацию W3C по обмену ресурсами между разными источниками.

Возвращено: success

allowCredentials

boolean

В ответ на предварительный запрос, установка этого значения в true указывает на то, что фактический запрос может включать учетные данные пользователя. Это преобразуется в заголовок Access-Control-Allow-Credentials. По умолчанию false.

Возвращено: success

allowHeaders

list / elements=string

Указывает содержимое для заголовка Access-Control-Allow-Headers.

Возвращено: success

allowMethods

list / elements=string

Указывает содержимое для заголовка Access-Control-Allow-Methods.

Возвращено: success

allowOriginRegexes

list / elements=string

Указывает шаблоны регулярных выражений, которые соответствуют разрешенным источникам. Для грамматики регулярных выражений, пожалуйста, см. en.cppreference.com/w/cpp/regex/ecmascript. Источник разрешен, если он соответствует allow_origins или allow_origin_regex.

Возвращено: success

allowOrigins

list / elements=string

Указывает список источников, которым будет разрешено выполнять CORS-запросы. Источник разрешен, если он соответствует allow_origins или allow_origin_regex.

Возвращено: success

disabled

boolean

Если true, указывает, что политика CORS отключена.

Возвращено: success

exposeHeaders

list / elements=string

Указывает содержимое для заголовка Access-Control-Expose-Headers.

Возвращено: success

maxAge

integer

Указывает, как долго результаты предварительного запроса могут кэшироваться. Это преобразуется в содержимое заголовка Access-Control-Max-Age.

Возвращено: success

faultInjectionPolicy

complex

Спецификация для внедрения инжекции ошибок в трафик для проверки устойчивости клиентов к сбоям в службе бекенда. В рамках инжекции ошибок, когда клиенты отправляют запросы в службу бекенда, задержки могут быть введены балансировщиком нагрузки на определенном проценте запросов перед отправкой этих запросов в службу бекенда. Аналогично, запросы от клиентов могут быть прерваны балансировщиком нагрузки для определенного процента запросов. timeout и retry_policy будут игнорироваться клиентами, которые настроены с fault_injection_policy.

Возвращено: success

abort

complex

Спецификация того, как прерываются запросы клиентов как часть инжекции ошибок.

Возвращено: success

httpStatus

integer

Код состояния HTTP, используемый для прерывания запроса. Значение должно быть от 200 до 599 включительно.

Возвращено: success

percentage

string

Процент трафика (соединений/операций/запросов), который будет прерван как часть инжекции ошибок. Значение должно быть от 0,0 до 100,0 включительно.

Возвращено: success

delay

complex

Спецификация того, как запросы клиентов задерживаются как часть инжекции ошибок, прежде чем быть отправленными в службу бекенда.

Возвращено: success

fixedDelay

complex

Указывает значение интервала фиксированной задержки.

Возвращено: success

nanos

integer

Промежуток времени, который является дробью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены с полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Возвращено: success

seconds

string

Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

Возвращено: success

percentage

string

Процент трафика (соединений/операций/запросов), на котором будет введена задержка как часть инжекции ошибок. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.

Returned: success

requestMirrorPolicy

complex

Указывает политику того, как запросы, предназначенные для бэкендов маршрута, проецируются на отдельную зеркальную службу бэкенда. Loadbalancer не ожидает ответов от службы shadow. Перед отправкой трафика в shadow-службу к заголовку host / authority добавляется суффикс -shadow.

Returned: success

backendService

dictionary

Зеркалируемый ресурс RegionBackendService.

Returned: success

retryPolicy

complex

Указывает политику повтора, связанную с этим маршрутом.

Returned: success

numRetries

integer

Указывает допустимое количество повторных попыток. Это число должно быть > 0.

Returned: success

perTryTimeout

complex

Указывает ненулевое время ожидания для каждой попытки повтора.

Returned: success

nanos

integer

Промежуток времени, представляющий собой дробь секунды с разрешением в наносекунды. Продолжительность менее одной секунды представлена полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Returned: success

seconds

string

Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

Returned: success

retryConditions

list / elements=string

Указывает одно или несколько условий, когда применяется это правило повтора. Допустимые значения: - 5xx: Loadbalancer предпримет попытку повтора, если служба бэкенда отвечает с любым кодом ответа 5xx или если служба бэкенда вообще не отвечает, например: отключения, сброс, тайм-аут чтения, сбой соединения и отклоненные потоки.

  • gateway-error: Аналогично 5xx, но применяется только к кодам ответов 502, 503 или 504.
  • connect-failure: Loadbalancer повторит попытку при сбоях подключения к службам бэкенда, например, из-за тайм-аутов соединения.
  • retriable-4xx: Loadbalancer повторит попытку для повторяемых кодов ответа 4xx.

В настоящее время единственная поддерживаемая повторяемая ошибка - 409.

  • refused-stream: Loadbalancer повторит попытку, если служба бэкенда сбрасывает поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает на то, что повторение безопасно.
  • cancelled: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в cancelled - deadline-exceeded: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в deadline-exceeded - resource-exhausted: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в resource-exhausted - unavailable: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в unavailable.

Returned: success

timeout

complex

Указывает тайм-аут для выбранного маршрута. Тайм-аут вычисляется с момента полной обработки запроса (т. е. конец потока) до момента полной обработки ответа. Тайм-аут включает все повторные попытки. Если не указано, используется значение по умолчанию - 15 секунд.

Returned: success

nanos

integer

Промежуток времени, представляющий собой дробь секунды с разрешением в наносекунды. Продолжительность менее одной секунды представлена полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Returned: success

seconds

string

Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

Returned: success

urlRewrite

complex

Спецификация для изменения URL запроса перед переадресацией запроса на сопоставленную службу.

Returned: success

hostRewrite

string

Перед переадресацией запроса к выбранной службе заголовок host запроса заменяется содержимым hostRewrite. Значение должно быть от 1 до 255 символов.

Returned: success

pathPrefixRewrite

string

Перед переадресацией запроса к выбранной службе бэкенда соответствующая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть от 1 до 1024 символов.

Returned: success

weightedBackendServices

complex

Список взвешенных служб бекенда для отправки трафика при совпадении маршрута. Веса определяют долю трафика, которая передается соответствующей службе бекенда. Если весь трафик должен поступать в одну службу бекенда, должна быть одна weightedBackendService с весом, установленным в ненулевое число. После того, как служба бекенда определена и до пересылки запроса в службу бекенда, применяются дополнительные действия маршрутизации, такие как переписывание URL-адресов и преобразование заголовков, в зависимости от дополнительных параметров, указанных в этом HttpRouteAction.

Возвращено: success

backendService

dictionary

Ресурс RegionBackendService по умолчанию. Перед переадресацией запроса в backendService балансировщик нагрузки применяет любые соответствующие headerActions, указанные как часть этого backendServiceWeight.

Возвращено: success

headerAction

complex

Указывает изменения заголовков запроса и ответа, которые должны вступить в силу для выбранной службы бекенда. headerAction, указанный здесь, вступает в силу до headerAction в заключительном HttpRouteRule, PathMatcher и UrlMap.

Возвращено: success

requestHeadersToAdd

complex

Заголовки для добавления к соответствующему запросу перед переадресацией запроса в backendService.

Возвращено: success

headerName

string

Имя заголовка.

Возвращено: success

headerValue

string

Значение добавляемого заголовка.

Возвращено: success

replace

boolean

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Возвращено: success

requestHeadersToRemove

list / elements=string

Список имен заголовков для заголовков, которые необходимо удалить из запроса перед переадресацией запроса в backendService.

Возвращено: success

responseHeadersToAdd

complex

Заголовки для добавления в ответ перед отправкой ответа обратно клиенту.

Возвращено: success

headerName

string

Имя заголовка.

Возвращено: success

headerValue

string

Значение добавляемого заголовка.

Возвращено: success

replace

boolean

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Возвращено: success

responseHeadersToRemove

list / elements=string

Список имен заголовков для заголовков, которые необходимо удалить из ответа перед отправкой ответа обратно клиенту.

Возвращено: success

weight

integer

Указывает долю трафика, отправляемого в backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction). Выбор службы бекенда определяется только для нового трафика. После того, как запрос пользователя был направлен в службу бекенда, последующие запросы будут отправлены в ту же службу бекенда, как определено политикой аффинности сеанса BackendService.

Значение должно быть от 0 до 1000.

Возвращено: success

service

dictionary

Ресурс региональной службы бекенда, на который направляется трафик, если это правило совпадает. Если дополнительно указан routeAction, дополнительные действия маршрутизации, такие как переписывание URL-адресов и т. д., вступают в силу до отправки запроса в бекенд. Однако, если указана служба, routeAction не может содержать какие-либо weightedBackendService. И наоборот, если routeAction указывает какие-либо weightedBackendServices, service не должен быть указан. Должен быть установлен только один из urlRedirect, service или routeAction.weightedBackendService.

Возвращено: success

urlRedirect

complex

Когда совпадает шаблон пути, запрос перенаправляется на URL-адрес, указанный в urlRedirect. Если указан urlRedirect, service или routeAction не должны быть установлены.

Возвращено: success

hostRedirect

string

Хост, который будет использоваться в ответе перенаправления вместо того, который был предоставлен в запросе. Значение должно быть от 1 до 255 символов.

Возвращено: success

httpsRedirect

boolean

Если установлено значение true, схема URL в перенаправленном запросе устанавливается в https.

Если установлено значение false, схема URL перенаправленного запроса останется такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка этого значения true для TargetHttpsProxy не допускается. Значение по умолчанию установлено в false.

Возвращено: success

pathRedirect

string

Путь, который будет использоваться в ответе перенаправления вместо того, который был предоставлен в запросе. pathRedirect не может быть предоставлен вместе с prefixRedirect. Предоставьте один или ни одного. Если ни один не предоставлен, путь исходного запроса будет использован для перенаправления.

Значение должно быть от 1 до 1024 символов.

Возвращено: success

prefixRedirect

string

Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL-адреса перед перенаправлением запроса. prefixRedirect не может быть предоставлен вместе с pathRedirect. Предоставьте один или ни одного. Если ни один не предоставлен, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.

Возвращено: success

redirectResponseCode

string

Код состояния HTTP, который будет использоваться для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, что является значением по умолчанию и соответствует 301.

* FOUND, что соответствует 302.

* SEE_OTHER, что соответствует 303.

* TEMPORARY_REDIRECT, что соответствует 307. В этом случае метод запроса будет сохранен.

* PERMANENT_REDIRECT, что соответствует 308. В этом случае метод запроса будет сохранен.

Возвращено: success

stripQuery

boolean

Если установлено значение true, любая сопровождающая часть запроса исходного URL-адреса удаляется перед перенаправлением запроса. Если установлено значение false, часть запроса исходного URL-адреса сохраняется.

Возвращено: success

routeRules

complex

Список упорядоченных правил маршрутизации HTTP. Используйте этот список вместо pathRules, когда требуются расширенные возможности сопоставления маршрутов и действия маршрутизации. Порядок указания routeRules имеет значение: первое совпадающее правило приведет к применению указанного действия маршрутизации. В пределах данного pathMatcher должен быть установлен только один из pathRules или routeRules. routeRules не поддерживаются в UrlMaps, предназначенных для внешних балансировщиков нагрузки.

Возвращено: success

headerAction

complex

Указывает изменения заголовков запросов и ответов, которые должны вступить в силу для выбранного backendService. Указанные здесь headerAction применяются до pathMatchers[].headerAction и после pathMatchers[].routeRules[].r outeAction.weightedBackendService.backendServiceWeightAction[].headerAction.

Возвращено: success

requestHeadersToAdd

complex

Заголовки, которые необходимо добавить к совпадающему запросу перед переадресацией запроса на backendService.

Возвращено: success

headerName

string

Имя заголовка.

Возвращено: success

headerValue

string

Значение добавляемого заголовка.

Возвращено: success

replace

boolean

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Возвращено: success

requestHeadersToRemove

list / elements=string

Список имен заголовков, которые необходимо удалить из запроса перед переадресацией запроса на backendService.

Возвращено: success

responseHeadersToAdd

complex

Заголовки, которые необходимо добавить к ответу перед отправкой ответа обратно клиенту.

Возвращено: success

headerName

string

Имя заголовка.

Возвращено: success

headerValue

string

Значение заголовка для добавления.

Возвращено: success

replace

boolean

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Возвращено: success

responseHeadersToRemove

list / elements=string

Список имен заголовков, которые необходимо удалить из ответа перед отправкой ответа обратно клиенту.

Возвращено: success

matchRules

complex

Правила определения соответствия.

Возвращено: success

fullPathMatch

string

Для удовлетворения условия matchRule путь запроса должен точно соответствовать значению, указанному в fullPathMatch после удаления любых параметров запроса и якоря, которые могут быть частью исходного URL-адреса. FullPathMatch должен содержать от 1 до 1024 символов. Должно быть указано только одно из параметров: prefixMatch, fullPathMatch или regexMatch.

Возвращено: success

headerMatches

complex

Указывает список критериев соответствия заголовков, все из которых должны соответствовать соответствующим заголовкам в запросе.

Возвращено: success

exactMatch

string

Значение должно точно совпадать с содержимым exactMatch. Должно быть установлено только одно из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

Возвращено: success

headerName

string

Имя HTTP-заголовка для сопоставления. Для сопоставления с авторитетом HTTP-запроса используйте headerMatch с именем заголовка «:authority». Для сопоставления метода запроса используйте headerName «:method».

Возвращено: success

invertMatch

boolean

Если установлено значение false, headerMatch считается совпадением, если указанные выше критерии соответствия выполнены. Если установлено значение true, headerMatch считается совпадением, если указанные выше критерии соответствия НЕ выполнены. По умолчанию — false.

Возвращено: success

prefixMatch

string

Значение заголовка должно начинаться с содержимого prefixMatch. Должно быть установлено только одно из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

Возвращено: success

presentMatch

boolean

Заголовок с содержимым headerName должен существовать. Сопоставление происходит независимо от того, имеет ли заголовок запроса значение или нет. Должно быть установлено только одно из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

Возвращено: success

rangeMatch

complex

Значение заголовка должно быть целым числом, и его значение должно находиться в диапазоне, указанном в rangeMatch. Если заголовок не содержит целого числа, числа или пуст, сопоставление завершается неудачей. Например, для диапазона [-5, 0] * -3 будет соответствовать * 0 не будет соответствовать * 0,25 не будет соответствовать * -3someString не будет соответствовать.

Должно быть установлено только одно из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

Возвращено: success

rangeEnd

integer

Конец диапазона (исключительно).

Возвращено: success

rangeStart

integer

Начало диапазона (включительно).

Возвращено: success

regexMatch

string

Значение заголовка должно соответствовать регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений см.: en.cppreference.com/w/cpp/regex/ecmascript Для сопоставления с портом, указанным в HTTP-запросе, используйте headerMatch с headerName, установленным в PORT, и регулярное выражение, которое удовлетворяет спецификатору порта заголовка RFC2616 Host.

Должно быть установлено только одно из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

Возвращено: success

suffixMatch

string

Значение заголовка должно заканчиваться содержимым suffixMatch. Должно быть установлено только одно из параметров: exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

Возвращено: success

ignoreCase

boolean

Указывает, учитывается ли регистр в сопоставлениях prefixMatch и fullPathMatch.

По умолчанию — false.

Возвращено: success

metadataFilters

complex

Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации ограниченным набором совместимых с xDS клиентов. В своих запросах xDS к Loadbalancer, клиенты xDS предоставляют метаданные узла. Если происходит совпадение, соответствующая конфигурация маршрутизации становится доступной этим прокси. Для каждого metadataFilter в этом списке, если его filterMatchCriteria установлен в MATCH_ANY, по крайней мере один из filterLabels должен соответствовать соответствующей метке, указанной в метаданных. Если его filterMatchCriteria установлен в MATCH_ALL, то все его filterLabels должны соответствовать соответствующим меткам в предоставленных метаданных. metadataFilters, указанные здесь, могут переопределять те, которые указаны в ForwardingRule, который ссылается на этот UrlMap. metadataFilters применяется только к Loadbalancers, у которых loadBalancingScheme установлен в INTERNAL_SELF_MANAGED.

Возвращено: success

filterLabels

complex

Список пар «имя-значение» меток, которые должны соответствовать меткам в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 записей.

Возвращено: success

name

string

Имя метки метаданных. Имя может иметь максимальную длину 1024 символа и должно быть не короче 1 символа.

Возвращено: success

value

string

Значение метки должно совпадать с указанным значением. Значение может иметь максимальную длину 1024 символа.

Возвращено: success

filterMatchCriteria

string

Указывает, как отдельные совпадения filterLabel в списке filterLabels влияют на общее совпадение metadataFilter. Поддерживаемые значения: * MATCH_ANY: По крайней мере одна из меток filterLabels должна иметь соответствующую метку в предоставленных метаданных.

* MATCH_ALL: Все метки filterLabels должны иметь соответствующие метки в предоставленных метаданных.

Возвращено: success

prefixMatch

string

Для выполнения условия matchRule путь запроса должен начинаться с указанного prefixMatch. prefixMatch должен начинаться с /. Значение должно быть от 1 до 1024 символов. Можно указать только один из параметров prefixMatch, fullPathMatch или regexMatch.

Возвращено: success

queryParameterMatches

complex

Указывает список критериев соответствия параметров запроса, все из которых должны соответствовать соответствующим параметрам запроса в запросе.

Возвращено: success

exactMatch

string

queryParameterMatch соответствует, если значение параметра точно совпадает с содержимым exactMatch. Должен быть установлен только один из параметров presentMatch, exactMatch и regexMatch.

Возвращено: success

name

string

Имя параметра запроса для сопоставления. Параметр запроса должен существовать в запросе, в противном случае сопоставление запроса не удастся.

Возвращено: success

presentMatch

boolean

Указывает, что queryParameterMatch соответствует, если запрос содержит параметр запроса, независимо от того, имеет ли параметр значение или нет. Должен быть установлен только один из параметров presentMatch, exactMatch и regexMatch.

Возвращено: success

regexMatch

string

queryParameterMatch соответствует, если значение параметра соответствует регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript Должен быть установлен только один из параметров presentMatch, exactMatch и regexMatch.

Возвращено: success

regexMatch

string

Для выполнения условия matchRule путь запроса должен удовлетворять регулярному выражению, указанному в regexMatch, после удаления любых параметров запроса и якоря, предоставленных с исходным URL-адресом. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript Можно указать только один из параметров prefixMatch, fullPathMatch или regexMatch.

Возвращено: success

priority

integer

Для routeRules в пределах данного pathMatcher приоритет определяет порядок, в котором балансировщик нагрузки будет интерпретировать routeRules. RouteRules оцениваются в порядке приоритета, от наименьшего к наибольшему числу. Первое правило, соответствующее запросу, применяется.

Нельзя настраивать два или более routeRules с одинаковым приоритетом.

Приоритет для каждого правила должен быть установлен в число от 0 до 2147483647 включительно.

Номера приоритетов могут иметь пробелы, которые позволяют добавлять или удалять правила в будущем, не влияя на остальные правила. Например, 1, 2, 3, 4, 5, 9, 12, 16 — это допустимая последовательность номеров приоритетов, к которой можно добавить правила с номерами от 6 до 8, от 10 до 11 и от 13 до 15 в будущем без какого-либо влияния на существующие правила.

Возвращено: success

routeAction

complex

В ответ на совпадение matchRule, балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как переписывание URL-адресов, преобразование заголовков и т. д., перед переадресацией запроса на выбранный бэкэнд. Если routeAction указывает какие-либо weightedBackendServices, service не должен быть установлен. И наоборот, если установлен service, routeAction не может содержать какие-либо weightedBackendServices. Должно быть установлено только одно из routeAction или urlRedirect.

Возвращено: success

corsPolicy

complex

Спецификация для разрешения межсайтовых запросов на стороне клиента. Пожалуйста, см. Рекомендацию W3C по обмену ресурсами между разными источниками.

Возвращено: success

allowCredentials

boolean

В ответ на предварительный запрос, установка этого значения в true указывает на то, что фактический запрос может включать учетные данные пользователя. Это преобразуется в заголовок Access-Control-Allow-Credentials. По умолчанию — false.

Возвращено: success

allowHeaders

list / elements=string

Указывает содержимое заголовка Access-Control-Allow-Headers.

Возвращено: success

allowMethods

list / elements=string

Указывает содержимое заголовка Access-Control-Allow-Methods.

Возвращено: success

allowOriginRegexes

list / elements=string

Указывает шаблоны регулярных выражений, которые соответствуют разрешенным источникам. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript Источник разрешен, если он соответствует allow_origins или allow_origin_regex.

Возвращено: success

allowOrigins

list / elements=string

Указывает список источников, которым будет разрешено выполнять CORS-запросы. Источник разрешен, если он соответствует allow_origins или allow_origin_regex.

Возвращено: success

disabled

boolean

Если true, указывает, что политика CORS отключена.

что указывает на то, что политика CORS действует. По умолчанию — false.

Возвращено: success

exposeHeaders

list / elements=string

Указывает содержимое заголовка Access-Control-Expose-Headers.

Возвращено: success

maxAge

integer

Указывает, как долго результаты предварительного запроса могут кэшироваться. Это преобразуется в содержимое заголовка Access-Control-Max-Age.

Возвращено: success

faultInjectionPolicy

complex

Спецификация для введения инжекции ошибок в трафик для проверки устойчивости клиентов к сбоям в службе backend. В рамках инжекции ошибок, когда клиенты отправляют запросы в службу backend, задержки могут быть введены балансировщиком нагрузки для определенного процента запросов перед отправкой этих запросов в службу backend. Аналогично, запросы от клиентов могут быть прерваны балансировщиком нагрузки для определенного процента запросов. timeout и retry_policy будут игнорироваться клиентами, которые настроены с fault_injection_policy.

Возвращено: success

abort

complex

Спецификация того, как прерываются запросы клиентов в рамках инжекции ошибок.

Возвращено: success

httpStatus

integer

Код состояния HTTP, используемый для прерывания запроса. Значение должно быть в диапазоне от 200 до 599 включительно.

Возвращено: success

percentage

string

Процент трафика (подключений/операций/запросов), который будет прерван в рамках инжекции ошибок. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.

Возвращено: success

delay

complex

Спецификация того, как запросы клиентов задерживаются в рамках инжекции ошибок, прежде чем быть отправленными в службу backend.

Возвращено: success

fixedDelay

complex

Указывает значение интервала фиксированной задержки.

Возвращено: success

nanos

integer

Промежуток времени, являющийся долей секунды с разрешением в наносекунды. Продолжительность менее одной секунды представляется полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Возвращено: success

seconds

string

Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

Возвращено: success

percentage

string

Процент трафика (подключений/операций/запросов), на котором будет введена задержка как часть инъекции ошибок. Значение должно быть от 0,0 до 100,0 включительно.

Возвращено: success

requestMirrorPolicy

complex

Указывает политику того, как запросы, предназначенные для бэкендов маршрута, отображаются на отдельный зеркальный сервис бэкенда. Loadbalancer не ожидает ответов от теневого сервиса. Перед отправкой трафика в теневой сервис к заголовку host/authority добавляется суффикс -shadow.

Возвращено: success

backendService

dictionary

Зеркалируемый ресурс RegionBackendService.

Возвращено: success

retryPolicy

complex

Указывает политику повтора, связанную с этим маршрутом.

Возвращено: success

numRetries

integer

Указывает допустимое число повторных попыток. Это число должно быть > 0.

Возвращено: success

perTryTimeout

complex

Указывает ненулевое время ожидания для каждой попытки повтора.

Возвращено: success

nanos

integer

Промежуток времени, являющийся долей секунды с разрешением в наносекунды. Продолжительность менее одной секунды представляется полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Возвращено: success

seconds

string

Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

Возвращено: success

retryConditions

list / elements=string

Указывает одно или несколько условий, когда применяется это правило повтора. Допустимые значения: * 5xx: Loadbalancer предпримет повторную попытку, если сервис бэкенда ответит любым кодом ответа 5xx или если сервис бэкенда вообще не ответит, например: отключения, сброс, тайм-аут чтения, сбой соединения и отклоненные потоки.

* gateway-error: Аналогично 5xx, но применяется только к кодам ответа 502, 503 или 504.

* connect-failure: Loadbalancer повторит попытку при сбоях подключения к сервисам бэкенда, например, из-за тайм-аутов подключения.

* retriable-4xx: Loadbalancer повторит попытку для повторно передаваемых кодов ответа 4xx.

В настоящее время единственной поддерживаемой ошибкой, которую можно повторить, является 409.

* refused-stream: Loadbalancer повторит попытку, если сервис бэкенда сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает на то, что повторить попытку безопасно.

* cancelled: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в cancelled * deadline-exceeded: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в deadline-exceeded * resource-exhausted: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в resource-exhausted * unavailable: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в unavailable.

Возвращено: success

timeout

complex

Указывает время ожидания для выбранного маршрута. Время ожидания вычисляется с момента полной обработки запроса (т. е. конец потока) до момента полной обработки ответа. Время ожидания включает все повторные попытки. Если не указано, значение по умолчанию составляет 15 секунд.

Возвращено: success

nanos

integer

Промежуток времени, являющийся долей секунды с разрешением в наносекунды. Продолжительность менее одной секунды представляется полем `seconds`, равным 0, и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.

Возвращено: success

seconds

string

Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.

Возвращено: success

urlRewrite

complex

Спецификация для изменения URL запроса перед переадресацией запроса на соответствующий сервис.

Возвращено: success

hostRewrite

string

Перед переадресацией запроса к выбранной службе, заголовок host запроса заменяется содержимым hostRewrite. Значение должно быть от 1 до 255 символов.

Возвращено: success

pathPrefixRewrite

string

Перед переадресацией запроса к выбранной службе back-end, совпадающая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть от 1 до 1024 символов.

Возвращено: success

weightedBackendServices

complex

Список взвешенных служб back-end для отправки трафика при совпадении маршрута. Веса определяют долю трафика, поступающего на соответствующую службу back-end. Если весь трафик должен поступать на одну службу back-end, должна быть одна weightedBackendService с весом, отличным от 0. После определения службы backendService и перед переадресацией запроса к службе back-end применяются расширенные действия маршрутизации, такие как переписывание URL-адресов и преобразования заголовков, в зависимости от дополнительных параметров, указанных в этом HttpRouteAction.

Возвращено: success

backendService

dictionary

Ресурс RegionBackendService по умолчанию. Перед переадресацией запроса к backendService балансировщик нагрузки применяет любые соответствующие headerActions, указанные как часть этого backendServiceWeight.

Возвращено: success

headerAction

complex

Указывает изменения заголовков запроса и ответа, которые должны вступить в силу для выбранной службы backendService. headerAction, указанные здесь, вступают в силу перед headerAction в заключительных HttpRouteRule, PathMatcher и UrlMap.

Возвращено: success

requestHeadersToAdd

complex

Заголовки, которые необходимо добавить к соответствующему запросу перед переадресацией запроса к службе backendService.

Возвращено: success

headerName

string

Имя заголовка.

Возвращено: success

headerValue

string

Значение добавляемого заголовка.

Возвращено: success

replace

boolean

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Возвращено: success

requestHeadersToRemove

list / elements=string

Список имен заголовков, которые необходимо удалить из запроса перед переадресацией запроса к службе backendService.

Возвращено: success

responseHeadersToAdd

complex

Заголовки, которые необходимо добавить к ответу перед отправкой ответа обратно клиенту.

Возвращено: success

headerName

string

Имя заголовка.

Возвращено: success

headerValue

string

Значение добавляемого заголовка.

Возвращено: success

replace

boolean

Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.

Возвращено: success

responseHeadersToRemove

list / elements=string

Список имен заголовков, которые необходимо удалить из ответа перед отправкой ответа обратно клиенту.

Возвращено: success

weight

integer

Указывает долю трафика, отправляемого в backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction). Выбор службы back-end определяется только для нового трафика. После того, как запрос пользователя был направлен на службу backendService, последующие запросы будут отправляться на ту же службу back-end, как определено политикой сродства сеансов BackendService.

Значение должно быть от 0 до 1000.

Возвращено: success

service

словарь

Ресурс регионального сервиса обратного подключения, на который направляется трафик, если правило совпадает. Если дополнительно указан параметр routeAction, применяются расширенные действия маршрутизации, такие как перенаправление URL и т. д., перед отправкой запроса на сервер. Однако, если указан service, routeAction не может содержать weightedBackendService. И наоборот, если routeAction содержит weightedBackendServices, service не должен быть указан. Должен быть установлен только один из параметров: urlRedirect, service или routeAction.weightedBackendService.

Возвращаемое значение: успех

urlRedirect

сложное

При совпадении этого правила запрос перенаправляется на URL, указанный в urlRedirect. Если указан urlRedirect, service или routeAction не должны быть установлены.

Возвращаемое значение: успех

hostRedirect

строка

Хост, который будет использоваться в ответе перенаправления вместо хоста, указанного в запросе. Значение должно быть от 1 до 255 символов.

Возвращаемое значение: успех

httpsRedirect

логическое

Если установлено в значение true, схема URL в перенаправленном запросе устанавливается в https.

Если установлено в значение false, схема URL перенаправленного запроса останется такой же, как у запроса. Это значение должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка этого значения в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.

Возвращаемое значение: успех

pathRedirect

строка

Путь, который будет использоваться в ответе перенаправления вместо пути, указанного в запросе. pathRedirect не может быть указан вместе с prefixRedirect. Указывается только один параметр или ни один. Если ни один не указан, для перенаправления используется путь исходного запроса.

Значение должно быть от 1 до 1024 символов.

Возвращаемое значение: успех

prefixRedirect

строка

Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса. prefixRedirect не может быть указан вместе с pathRedirect. Указывается только один параметр или ни один. Если ни один не указан, для перенаправления используется путь исходного запроса. Значение должно быть от 1 до 1024 символов.

Возвращаемое значение: успех

redirectResponseCode

строка

Код HTTP-статуса, который следует использовать для этого действия перенаправления. Допустимые значения: * MOVED_PERMANENTLY_DEFAULT (по умолчанию), соответствует 301.

* FOUND, соответствует 302.

* SEE_OTHER, соответствует 303.

* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.

* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.

Возвращаемое значение: успех

stripQuery

логическое

Если установлено в true, любая часть запроса URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса URL сохраняется. По умолчанию установлено в false.

Возвращаемое значение: успех

region

строка

Ссылка на регион, в котором находится карта URL.

Возвращаемое значение: успех

tests

сложное

Список ожидаемых сопоставлений URL. Запросы на обновление этой UrlMap будут успешны только в том случае, если пройдут все тесты.

Возвращаемое значение: успех

description

строка

Описание данного тестового случая.

Возвращаемое значение: успех

host

строка

Часть хоста URL.

Возвращаемое значение: успех

path

строка

Часть пути URL.

Возвращаемое значение: успех

service

словарь

Ссылка на ожидаемый ресурс RegionBackendService, которому должен быть сопоставлен данный URL.

Возвращаемое значение: успех

Авторы

  • 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_region_url_map_module.html

Spec-Zone.ru

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