Spec-Zone.ru › Ansible 2.11

google.cloud.gcp_compute_region_url_map – Создаёт GCP RegionUrlMap

Примечание

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
default_service
словарь
Полный или частичный URL ресурса defaultService, к которому направляется трафик, если ни одно из правил hostRules не соответствует. Если дополнительно указан defaultRouteAction, выполняются расширенные действия маршрутизации, такие как перенаправление URL и т. д., перед отправкой запроса на бэкенд. Однако, если указан defaultService, defaultRouteAction не может содержать weightedBackendServices. И наоборот, если routeAction содержит weightedBackendServices, service не должен быть указан. Должен быть установлен только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService.
Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя_ресурса` в задачу gcp_compute_region_backend_service, а затем установить это поле default_service в "{{ имя_ресурса }}"
default_url_redirect
словарь
Если ни одно из указанных правил hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть установлены.
host_redirect
строка
Хост, который будет использоваться в ответе о перенаправлении вместо предоставленного в запросе. Значение должно быть от 1 до 255 символов.
https_redirect
булево
    Варианты:
  • no
  • yes
Значение по умолчанию:
"false"
Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса остается такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в true для TargetHttpsProxy запрещена. Значение по умолчанию - false.
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
булево
    Варианты:
  • no
  • yes
Значение по умолчанию:
"false"
Если установлено в true, любая сопровождающая часть запроса исходного URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса исходного URL сохраняется.
description
строка
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
env_type
строка
Указывает, в какой среде Ansible вы выполняете этот модуль.
Не следует устанавливать, если вы не знаете, что делаете.
Это только изменяет строку User Agent для всех запросов к API.
host_rules
список / элементы=словарь
Список HostRules, используемых для URL.
description
строка
Необязательное описание этого HostRule. Укажите это свойство при создании ресурса.
hosts
список / элементы=строка / обязательно
Список шаблонов хостов для сопоставления. Они должны быть допустимыми именами хостов, за исключением *, который будет соответствовать любой строке ([a-z0-9-.]*). В этом случае * должен быть первым символом и должен быть после него в шаблоне либо - либо .
path_matcher
строка / обязательно
Имя PathMatcher, используемого для сопоставления пути URL, если hostRule соответствует хосту URL.
name
строка / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 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: имя_ресурса` в задачу gcp_compute_region_backend_service, а затем установить это поле default_service в "{{ имя_ресурса }}"
default_url_redirect
словарь
Если ни одно из указанных правил hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть установлены.
host_redirect
строка
Хост, который будет использоваться в ответе о перенаправлении вместо предоставленного в запросе. Значение должно быть от 1 до 255 символов.
https_redirect
булево
    Варианты:
  • no
  • yes
Значение по умолчанию:
"false"
Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса остается такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в true для TargetHttpsProxy запрещена. Значение по умолчанию - false.
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
булево
    Варианты:
  • no
  • yes
Значение по умолчанию:
"false"
Если установлено в true, любая сопровождающая часть запроса исходного URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса исходного URL сохраняется.
описание
строка
Необязательное описание данного ресурса.
имя
строка / обязательно
Имя, по которому этот PathMatcher упоминается в HostRule.
path_rules
список / элементы=словарь
Список правил маршрутизации по пути. Используйте этот список вместо routeRules, если требуется только маршрутизация на основе простого сопоставления путей. Порядок указания правил путей не имеет значения. Сопоставления всегда выполняются на основе самого длинного пути. Например: pathRule с путем /a/b/c/* будет соответствовать пути /a/b/* независимо от порядка, в котором эти пути появляются в этом списке. В данном PathMatcher должен быть установлен только один из pathRules или routeRules.
пути
список / элементы=строка / обязательно
Список шаблонов путей для сопоставления. Каждый должен начинаться с /, и единственное место, где допускается *, — это в конце после /. Строка, подаваемая в соответствие путей, не включает текст после первого ? или #, а эти символы здесь не допускаются.
route_action
словарь
В ответ на совпавший путь балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как переписывание URL, преобразование заголовков и т. д., прежде чем перенаправлять запрос на выбранный бэкенд. Если routeAction указывает какие-либо weightedBackendServices, service не должен быть установлен. И наоборот, если service установлен, routeAction не может содержать weightedBackendServices. Должен быть установлен только один из routeAction или urlRedirect.
cors_policy
словарь
Спецификация для разрешения кросс-доменных запросов со стороны клиента. Пожалуйста, см. Рекомендацию W3C для Cross Origin Resource Sharing.
allow_credentials
булево
    Варианты:
  • нет
  • да
По умолчанию:
"false"
В ответ на предварительный запрос установка этого значения в true указывает, что фактический запрос может включать учетные данные пользователя. Это переводится в заголовок Access- Control-Allow-Credentials. По умолчанию false.
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
список / элементы=строка
Указывает список источников, которым разрешено выполнять запросы CORS. Происхождение разрешено, если оно соответствует либо allow_origins, либо allow_origin_regex.
disabled
булево / обязательно
    Варианты:
  • нет
  • да
Если true, указывает, что политика CORS отключена.
expose_headers
список / элементы=строка
Указывает содержимое заголовка Access-Control-Expose-Headers.
max_age
целое число
Указывает, как долго результаты предварительного запроса могут храниться в кэше. Это переводится в содержимое заголовка Access-Control-Max-Age.
fault_injection_policy
словарь
Спецификация для введения сбоев в трафик для проверки устойчивости клиентов к сбоям в работе бэкенд-службы. В рамках введения сбоев, когда клиенты отправляют запросы на бэкенд-службу, балансировщик нагрузки может вводить задержки для определенного процента запросов перед отправкой этих запросов на бэкенд-службу. Аналогично запросы от клиентов могут быть прерваны балансировщиком нагрузки для определенного процента запросов. timeout и retry_policy будут проигнорированы клиентами, настроенными с политикой fault_injection_policy.
abort
словарь
Спецификация для того, как запросы клиентов прерываются в рамках введения сбоев.
http_status
целое число / обязательно
Код HTTP-статуса, используемый для прерывания запроса. Значение должно быть в диапазоне от 200 до 599 включительно.
percentage
строка / обязательно
Процент трафика (соединения/операции/запросы), который будет прерван в рамках введения сбоев. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
delay
словарь
Спецификация для того, как запросы клиентов задерживаются в рамках введения сбоев перед отправкой на бэкенд-службу.
fixed_delay
словарь / обязательно
Указывает значение интервала фиксированной задержки.
nanos
целое число
Продолжительность, которая представляет собой дробь секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
строка / обязательно
Продолжительность со временным разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
percentage
строка / обязательно
Процент трафика (соединения/операции/запросы), для которого будет введена задержка в рамках введения сбоев. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
request_mirror_policy
словарь
Указывает политику того, как запросы, предназначенные для бэкендов маршрута, дублируются в отдельной зеркальной бэкенд-службе. Балансировщик нагрузки не ждет ответов от зеркальной службы. Перед отправкой трафика зеркальной службе к хосту / заголовку власти добавляется -shadow.
backend_service
словарь / обязательно
Ресурс RegionBackendService, к которому выполняется зеркалирование.
Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете разместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В-вторых, вы можете добавить `register: name-of-resource` к задаче gcp_compute_region_backend_service, а затем установить это поле backend_service в "{{ name-of-resource }}"
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: балансировщик нагрузки попытается повторить попытку, если служба обратной связи ответила любым кодом состояния 5xx или если служба обратной связи не ответила вообще (например, разъединения, сбросы, таймауты чтения, сбои соединения и отказ потоков).
- gateway-error: аналогично 5xx, но применяется только к кодам состояния 502, 503 или 504.
- connect-failure: балансировщик нагрузки повторит попытку при сбоях подключения к службам обратной связи, например, из-за таймаутов подключения.
- retriable-4xx: балансировщик нагрузки повторит попытку для исправленных кодов состояния 4xx.
В настоящее время поддерживается только одна исправленная ошибка 409.
- refused-stream: балансировщик нагрузки повторит попытку, если служба обратной связи сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает, что повторение попытки безопасно.
- cancelled: балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в отменённый - deadline-exceeded: балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в превышение срока - resource-exhausted: балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в исчерпание ресурсов - unavailable: балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в недоступность.
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 с весом, установленным на ненулевое число. После определения backendService и перед пересылкой запроса на службу обратной связи применяются расширенные действия по маршрутизации, такие как Url rewrites и преобразования заголовков, в зависимости от дополнительных параметров, указанных в этой HttpRouteAction.
backend_service
словарь / обязательно
Ресурс RegionBackendService по умолчанию. Перед пересылкой запроса на backendService балансировщик нагрузки применяет все соответствующие headerActions, указанные в качестве части этой backendServiceWeight.
Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_region_backend_service и затем установить это поле backend_service на "{{ имя-ресурса }}"
header_action
словарь
Указывает изменения в заголовках запроса и ответа, которые должны быть применены для выбранной backendService. headerAction, указанные здесь, применяются до headerAction во вложенном HttpRouteRule, PathMatcher и UrlMap.
request_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить к соответствующему запросу перед пересылкой запроса на backendService.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение добавляемого заголовка.
replace
булево / обязательно
    Варианты:
  • нет
  • да
Если ложь, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если истина, headerValue устанавливается для заголовка, игнорируя любые значения, которые были установлены для этого заголовка.
request_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые нужно удалить из запроса перед пересылкой запроса на backendService.
response_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить в ответ перед отправкой ответа обратно клиенту.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение добавляемого заголовка.
заменить
boolean / обязательно
    Варианты:
  • нет
  • да
Если ложь, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если истина, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
response_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые нужно удалить из ответа перед отправкой ответа клиенту.
вес
целое число / обязательно
Указывает долю трафика, отправляемого в backendService, вычисляемую как вес / (сумма всех весов weightedBackendService в routeAction). Выбор backendService определяется только для нового трафика. После того, как запрос пользователя был направлен в backendService, последующие запросы будут отправлены в тот же backendService, как определено политикой сеансовой привязки BackendService.
Значение должно быть между 0 и 1000.
сервис
словарь
Ресурс региона backend service, в который направляется трафик, если это правило совпадает. Если дополнительно указан routeAction, применяются расширенные действия маршрутизации, такие как перенаправление URL и т. д., перед отправкой запроса в бэкенд. Однако, если указан service, routeAction не может содержать weightedBackendService. И наоборот, если routeAction указывает weightedBackendServices, service не должен быть указан. Только один из urlRedirect, service или routeAction.weightedBackendService должен быть установлен.
Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Или же вы можете добавить `register: имя-ресурса` к задаче gcp_compute_region_backend_service, а затем установить это поле service в "{{ имя-ресурса }}"
url_redirect
словарь
При совпадении шаблона пути запрос перенаправляется на URL, указанный в urlRedirect. Если urlRedirect указан, service или routeAction не должны быть установлены.
host_redirect
строка
Хост, который будет использоваться в ответе перенаправления вместо того, который был предоставлен в запросе. Значение должно быть между 1 и 255 символами.
https_redirect
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в значение true, схема URL в перенаправленном запросе устанавливается в https.
Если установлено в значение false, схема URL перенаправленного запроса останется такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка этого значения в true для TargetHttpsProxy не допускается. По умолчанию установлено в false.
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
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в значение true, любая сопровождающая часть запроса из исходного URL удаляется перед перенаправлением запроса. Если установлено в значение false, часть запроса исходного URL сохраняется.
route_rules
список / элементы=словарь
Список упорядоченных правил маршрутизации HTTP. Используйте этот список вместо pathRules, когда желательны расширенное соответствие пути и действия маршрутизации. Порядок указания routeRules имеет значение: первое правило, которому соответствует запрос, вызовет действие маршрутизации, указанное в нём. В рамках данного pathMatcher должен быть установлен только один из pathRules или routeRules. routeRules не поддерживаются в UrlMaps, предназначенных для внешних балансировщиков.
header_action
словарь
Указывает изменения запросов и ответов заголовков, которые должны вступить в силу для выбранного backendService. Указанные здесь headerAction применяются до соответствующих pathMatchers[].headerAction и после pathMatchers[].routeRules[].r outeAction.weightedBackendService.backendServiceWeightAction[].headerAction.
request_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить к соответствующему запросу перед пересылкой запроса в backendService.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение добавляемого заголовка.
заменить
boolean / обязательно
    Варианты:
  • нет
  • да
Если ложь, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если истина, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
request_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые нужно удалить из запроса перед пересылкой запроса в backendService.
response_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить к ответу перед отправкой ответа клиенту.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение добавляемого заголовка.
заменить
boolean / обязательно
    Варианты:
  • нет
  • да
Если ложь, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если истина, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
response_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые нужно удалить из ответа перед отправкой ответа клиенту.
правила_сопоставления
список / элементы=словарь
Правила определения соответствия.
полное_сопоставление_пути
строка
Для удовлетворения условия matchRule путь запроса должен точно совпадать со значением, указанным в fullPathMatch после удаления параметров запроса и якоря, которые могут быть частью исходного URL. FullPathMatch должен быть от 1 до 1024 символов. Должен быть указан только один из prefixMatch, fullPathMatch или regexMatch.
сопоставления_заголовков
список / элементы=словарь
Указывает список критериев соответствия заголовков, все из которых должны соответствовать соответствующим заголовкам в запросе.
точное_сопоставление
строка
Значение должно точно совпадать с содержимым exactMatch. Только одно из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch должно быть установлено.
имя_заголовка
строка / обязательно
Имя HTTP-заголовка для соответствия. Для соответствия авторитету HTTP-запроса используйте headerMatch с именем заголовка ":authority". Для соответствия методу запроса используйте headerName ":method".
инвертировать_сопоставление
булево
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в false, headerMatch считается совпадением, если вышеуказанные критерии соответствия выполнены. Если установлено в true, headerMatch считается совпадением, если вышеуказанные критерии соответствия НЕ выполнены. По умолчанию false.
сопоставление_префикса
строка
Значение заголовка должно начинаться с содержимого prefixMatch. Только одно из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch должно быть установлено.
сопоставление_наличия
булево
    Варианты:
  • нет
  • да
Заголовок с содержимым headerName должен существовать. Сопоставление происходит, независимо от того, имеет ли заголовок запроса значение или нет. Только одно из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch должно быть установлено.
сопоставление_диапазона
словарь
Значение заголовка должно быть целым числом и его значение должно находиться в указанном в rangeMatch диапазоне. Если заголовок не содержит целого числа, числа или пуст, соответствие не происходит. Например, для диапазона [-5, 0]: * -3 - совпадёт * 0 - не совпадёт * 0.25 - не совпадёт * -3someString - не совпадёт.
Только одно из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch должно быть установлено.
конец_диапазона
целое_число / обязательно
Конец диапазона (исключая).
начало_диапазона
целое_число / обязательно
Начало диапазона (включая).
сопоставление_по_регулярному_выражению
строка
Значение заголовка должно соответствовать регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений, см.: en.cppreference.com/w/cpp/regex/ecmascript Для соответствия порту, указанному в HTTP-запросе, используйте headerMatch с headerName, установленным в PORT, и регулярным выражением, удовлетворяющим спецификатору порта заголовка Host RFC2616.
Только одно из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch должно быть установлено.
сопоставление_суффикса
строка
Значение заголовка должно оканчиваться содержимым suffixMatch. Только одно из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch должно быть установлено.
игнорировать_регистр
булево
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Указывает, что prefixMatch и fullPathMatch соответствия чувствительны к регистру.
По умолчанию false.
фильтры_метаданных
список / элементы=словарь
Неявные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации ограниченным набором клиентов, соответствующих xDS. В своих запросах xDS к Loadbalancer клиенты xDS предоставляют метаданные узла. Если соответствие происходит, соответствующая конфигурация маршрутизации становится доступной для этих прокси-серверов. Для каждого metadataFilter в этом списке, если его filterMatchCriteria установлено в MATCH_ANY, по крайней мере одно из filterLabels должно соответствовать соответствующей метке, предоставленной в метаданных. Если его filterMatchCriteria установлено в MATCH_ALL, то все его filterLabels должны соответствовать соответствующим меткам в предоставленных метаданных. metadataFilters, указанные здесь, могут переопределять те, что указаны в ForwardingRule, которые относятся к этому UrlMap. metadataFilters применяются только к Loadbalancer, у которых loadBalancingScheme установлено в INTERNAL_SELF_MANAGED.
метки_фильтра
список / элементы=словарь / обязательно
Список пар значений меток, которые должны соответствовать меткам в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 элементов.
имя
строка / обязательно
Имя метки метаданных. Имя может иметь максимальную длину 1024 символа и должно быть не менее 1 символа длиной.
значение
строка / обязательно
Значение метки должно соответствовать указанному значению. значение может иметь максимальную длину 1024 символа.
критерии_сопоставления_фильтра
строка / обязательно
Указывает, как отдельные соответствия filterLabel в списке filterLabels влияют на общее соответствие metadataFilter. Поддерживаемые значения: * MATCH_ANY: По крайней мере одна из filterLabels должна иметь соответствующую метку в предоставленных метаданных.
* MATCH_ALL: Все filterLabels должны иметь соответствующие метки в предоставленных метаданных.
Некоторые допустимые значения включают: "MATCH_ALL", "MATCH_ANY"
сопоставление_префикса
строка
Для удовлетворения условия matchRule путь запроса должен начинаться с указанного prefixMatch. prefixMatch должен начинаться с /. Значение должно быть от 1 до 1024 символов. Должен быть указан только один из prefixMatch, fullPathMatch или regexMatch.
сопоставления_параметров_запроса
список / элементы=словарь
Указывает список критериев соответствия параметрам запроса, все из которых должны соответствовать соответствующим параметрам запроса.
точное_сопоставление
строка
queryParameterMatch соответствует, если значение параметра точно совпадает с содержимым exactMatch. Только одно из presentMatch, exactMatch и regexMatch должно быть установлено.
имя
строка / обязательно
Имя параметра запроса для соответствия. Параметр запроса должен существовать в запросе, в противном случае соответствие запросу не состоится.
present_match
boolean
    Варианты:
  • no
  • yes
Указывает, что соответствие queryParameterMatch происходит, если запрос содержит указанный параметр, независимо от того, имеет ли параметр значение или нет. Только один из presentMatch, exactMatch и regexMatch должен быть установлен.
regex_match
string
queryParameterMatch соответствует, если значение параметра соответствует регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений, пожалуйста, обратитесь к en.cppreference.com/w/cpp/regex/ecmascript. Только один из presentMatch, exactMatch и regexMatch должен быть установлен.
regex_match
string
Для выполнения условия matchRule путь запроса должен соответствовать регулярному выражению, указанному в regexMatch, после удаления любых параметров запроса и якорей, предоставленных в исходном URL. Для грамматики регулярных выражений, пожалуйста, обратитесь к en.cppreference.com/w/cpp/regex/ecmascript. Только один из prefixMatch, fullPathMatch или regexMatch должен быть указан.
priority
integer / обязательно
Для routeRules в рамках заданного pathMatcher, priority определяет порядок, в котором балансировщик нагрузки интерпретирует routeRules. RouteRules оцениваются в порядке приоритета, от наименьшего к наибольшему. Приоритет правила уменьшается с увеличением его номера (1, 2, 3, N+1). Первое правило, которое соответствует запросу, применяется.
Вы не можете настроить два или более routeRules с одинаковым приоритетом.
Приоритет каждого правила должен быть числом от 0 до 2147483647 включительно.
Номера приоритета могут иметь пробелы, что позволяет добавлять или удалять правила в будущем без влияния на остальные правила. Например, 1, 2, 3, 4, 5, 9, 12, 16 — это допустимая последовательность номеров приоритета, к которой можно добавить правила с номерами от 6 до 8, от 10 до 11 и от 13 до 15 в будущем без каких-либо последствий для существующих правил.
route_action
словарь
В ответ на совпадение matchRule, балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как перенастройка URL, преобразование заголовков и т. д., перед пересылкой запроса на выбранный бэкенд. Если routeAction указывает какие-либо weightedBackendServices, service не должен быть установлен. И наоборот, если service установлен, routeAction не может содержать weightedBackendServices. Только один из routeAction или urlRedirect должен быть установлен.
cors_policy
словарь
Спецификация для разрешения кросс-доменных запросов со стороны клиента. Пожалуйста, обратитесь к рекомендации W3C по кросс-доменной передаче ресурсов.
allow_credentials
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
В ответ на предварительный запрос, установка этого значения в true указывает, что фактический запрос может включать учетные данные пользователя. Это отображается в заголовке Access-Control-Allow-Credentials. По умолчанию — false.
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
список / элементы=строка
Указывает список источников, которым разрешено выполнять запросы CORS. Источник разрешается, если он соответствует либо allow_origins, либо allow_origin_regex.
disabled
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если true, указывает, что политика CORS отключена.
что указывает на то, что политика CORS активна. По умолчанию — false.
expose_headers
список / элементы=строка
Указывает содержимое для заголовка Access-Control-Expose-Headers.
max_age
целое число
Указывает, как долго результаты предварительного запроса могут быть кэшированы. Это отображается в содержимом заголовка Access-Control-Max-Age.
fault_injection_policy
словарь
Спецификация для введения сбоев в трафик для проверки устойчивости клиентов к отказу службы бэкенда. В рамках введения сбоев, когда клиенты отправляют запросы на службу бэкенда, балансировщик нагрузки может вводить задержки на определенный процент запросов перед отправкой этих запросов на службу бэкенда. Аналогично, балансировщик нагрузки может прерывать запросы от клиентов на определенный процент запросов. timeout и retry_policy будут игнорироваться клиентами, которые настроены с fault_injection_policy.
abort
словарь
Спецификация того, как прерываются запросы клиентов в рамках введения сбоев.
http_status
целое число
Код HTTP-статуса, используемый для прерывания запроса. Значение должно быть в диапазоне от 200 до 599 включительно.
percentage
строка
Процент трафика (соединений/операций/запросов), который будет прерван в рамках введения сбоев. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
delay
словарь
Спецификация того, как задерживаются запросы клиентов в рамках введения сбоев, перед отправкой на службу бэкенда.
fixed_delay
словарь
Указывает значение интервала фиксированной задержки.
nanos
целое число
Промежуток времени, представляющий собой дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
строка / обязательно
Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
percentage
строка
Процент трафика (соединений/операций/запросов), на котором будет введена задержка в рамках введения сбоев. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
request_mirror_policy
словарь
Указывает политику, определяющую, как запросы, предназначенные для бэкендов маршрута, дублируются на отдельной зеркальной службе бэкенда. Балансировщик нагрузки не ждет ответов от зеркальной службы. Перед отправкой трафика на зеркальную службу в заголовок хоста/авторитета добавляется суффикс -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
строка
Перед пересылкой запроса на выбранный сервис заголовок Host запроса заменяется содержимым hostRewrite. Значение должно быть от 1 до 255 символов.
path_prefix_rewrite
строка
Перед пересылкой запроса на выбранный сервис обратного подключения соответствующая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть от 1 до 1024 символов.
weighted_backend_services
список / элементы=словарь
Список взвешенных сервисов обратного подключения, которым необходимо направить трафик при совпадении с маршрутом. Веса определяют долю трафика, направляемую в соответствующий сервис обратного подключения. Если весь трафик должен направляться в один сервис обратного подключения, должен быть один weightedBackendService с весом, отличным от 0. После определения backendService и перед пересылкой запроса на сервис обратного подключения применяются дополнительные действия маршрутизации, такие как преобразования URL и заголовков, в зависимости от дополнительных настроек, указанных в данном HttpRouteAction.
backend_service
словарь / обязательно
Ресурс RegionBackendService по умолчанию. Перед пересылкой запроса на backendService балансировщик приложений применяет все соответствующие headerActions, указанные в рамках данного backendServiceWeight.
Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_region_backend_service, а затем установить это поле backend_service на "{{ имя-ресурса }}"
header_action
словарь
Указывает изменения в заголовках запроса и ответа, которые должны быть выполнены для выбранного backendService. headerAction, указанные здесь, выполняются до headerAction в охватывающей HttpRouteRule, PathMatcher и UrlMap.
request_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить к соответствующему запросу перед пересылкой запроса на backendService.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение заголовка для добавления.
replace
булево / обязательно
    Варианты:
  • нет
  • да
Если значение ложь, headerValue добавляется к любым значениям, которые уже существуют для заголовка. Если значение истина, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
request_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые необходимо удалить из запроса перед пересылкой запроса на backendService.
response_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить к ответу перед отправкой ответа клиенту.
Имя_заголовка
строка / обязательно
Название заголовка.
Значение_заголовка
строка / обязательно
Значение добавляемого заголовка.
Заменить
булево / обязательно
    Варианты:
  • нет
  • да
Если ложь, значение заголовка добавляется к существующим значениям для заголовка. Если истина, значение заголовка устанавливается для заголовка, отбрасывая любые ранее заданные значения для этого заголовка.
Заголовки_ответа_для_удаления
список / элементы=строка
Список имён заголовков, которые нужно удалить из ответа перед отправкой его клиенту.
Вес
целое число / обязательно
Определяет долю трафика, направляемого на backendService, вычисляемую как вес / (сумма весов всех взвешенных backendService в routeAction). Выбор backend сервиса определяется только для нового трафика. После направления запроса пользователя к backendService последующие запросы будут отправляться тому же backendService, как определяется политикой аффинити сессии BackendService.
Значение должно быть между 0 и 1000.
Сервис
словарь
Ресурс регионального backend сервиса GCP, которому направляется трафик, если совпадает данное правило. Если дополнительно указан routeAction, выполняются расширенные действия маршрутизации, такие как перенаправление URL и т. д., перед отправкой запроса на backend. Однако, если указан service, routeAction не может содержать weightedBackendService. И наоборот, если routeAction указывает weightedBackendServices, service не должен быть указан. Только один из urlRedirect, service или routeAction.weightedBackendService должен быть установлен.
Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя_ресурса` к задаче gcp_compute_region_backend_service, а затем установить это поле service на "{{ имя_ресурса }}"
Перенаправление_URL
словарь
При совпадении с данным правилом запрос перенаправляется на URL, указанный в urlRedirect. Если указан urlRedirect, service или routeAction не должны быть установлены.
Перенаправление_хоста
строка
Хост, который будет использоваться в ответе перенаправления вместо хоста, предоставленного в запросе. Значение должно быть между 1 и 255 символами.
Перенаправление_HTTPS
булево
    Варианты:
  • нет
  • да
По умолчанию:
"ложь"
Если установлено в истинное значение, схема URL в перенаправленном запросе устанавливается в https.
Если установлено в ложное значение, схема URL перенаправленного запроса останется такой же, как в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в истинное значение для TargetHttpsProxy запрещена. По умолчанию установлено в ложь.
Перенаправление_пути
строка
Путь, который будет использоваться в ответе перенаправления вместо пути, предоставленного в запросе. pathRedirect нельзя использовать вместе с prefixRedirect. Используйте либо тот, либо другой, либо ни того, ни другого. Если ни то, ни другое не указано, для перенаправления будет использован путь исходного запроса.
Значение должно быть между 1 и 1024 символами.
Перенаправление_префикса
строка
Префикс, который заменяет префиксMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса. prefixRedirect нельзя использовать вместе с pathRedirect. Используйте либо тот, либо другой, либо ни того, ни другого. Если ни то, ни другое не указано, для перенаправления будет использован путь исходного запроса. Значение должно быть между 1 и 1024 символами.
Код_ответа_перенаправления
строка
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"
Убрать_запрос
булево
    Варианты:
  • нет
  • да
По умолчанию:
"ложь"
Если установлено в истинное значение, любая сопутствующая часть запроса исходного URL удаляется перед перенаправлением запроса. Если установлено в ложное значение, часть запроса исходного URL сохраняется. По умолчанию установлено в ложное значение.
Проект
строка
Проект Google Cloud Platform для использования.
Регион
строка / обязательно
Ссылка на регион, в котором находится url map.
Области
список / элементы=строка
Массив областей для использования
Содержимое_аккаунта_службы
jsonarg
Содержимое файла JSON учетной записи службы, либо в словаре, либо как JSON-строка, его представляющая.
Электронная_почта_аккаунта_службы
строка
Необязательный адрес электронной почты учетной записи службы, если machineaccount выбран, и пользователь не хочет использовать адрес по умолчанию.
Файл_аккаунта_службы
путь
Путь к файлу JSON учетной записи службы, если serviceaccount выбран как тип.
Состояние
строка
    Варианты:
  • присутствует ←
  • отсутствует
Существует ли данный объект в GCP
Тесты
список / элементы=словарь
Список ожидаемых сопоставлений URL. Запросы на обновление этого UrlMap будут успешны только в том случае, если пройдут все тестовые сценарии.
Описание
строка
Описание этого тестового сценария.
Хост
строка / обязательно
Часть хоста URL.
Путь
строка / обязательно
Часть пути URL.
Сервис
словарь / обязательно
Ссылка на ожидаемый ресурс RegionBackendService, к которому должен быть сопоставлен данный URL.
Это поле представляет ссылку на ресурс RegionBackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя_ресурса` к задаче gcp_compute_region_backend_service, а затем установить это поле service на "{{ имя_ресурса }}"

Примеры

- 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
строка
success
Маркер времени создания в формате RFC3339.

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

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

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

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

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

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

redirectResponseCode
строка
success
HTTP-код состояния, используемый для этого RedirectAction. Допустимые значения: * MOVED_PERMANENTLY_DEFAULT, по умолчанию, соответствует 301.
* FOUND, соответствует 302.
* SEE_OTHER, соответствует 303.
* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.
* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.

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

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

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

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

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

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

pathMatcher
строка
success
Имя PathMatcher, используемого для сопоставления пути части URL, если hostRule соответствует хосту URL.

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

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

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

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

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

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

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

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

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

redirectResponseCode
строка
success
HTTP-код состояния, используемый для этого RedirectAction. Допустимые значения: * MOVED_PERMANENTLY_DEFAULT, по умолчанию, соответствует 301.
* FOUND, соответствует 302.
* SEE_OTHER, соответствует 303.
* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.
* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.

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

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

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

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

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

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

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

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

разрешенные_заголовки
список / элементы=строка
успех
Указывает содержимое заголовка Access-Control-Allow-Headers.

разрешенные_методы
список / элементы=строка
успех
Указывает содержимое заголовка Access-Control-Allow-Methods.

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

разрешенные_источники
список / элементы=строка
успех
Указывает список источников, которым будет разрешено выполнять запросы CORS. Происхождение разрешается, если оно соответствует либо allow_origins, либо allow_origin_regex.

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

отображаемые_заголовки
список / элементы=строка
успех
Указывает содержимое заголовка Access-Control-Expose-Headers.

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

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

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

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

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

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

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

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

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

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

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

бэкенд_служба
словарь
успех
Ресурс RegionBackendService, зеркально отображаемый.

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

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

таймаут_за_попытку
сложный
успех
Указывает ненулевой таймаут за попытку.

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

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

retryConditions
список / элементы=строка
успех
Указывает один или несколько условий, при которых применяется данное правило повторной попытки. Допустимые значения:
- 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
сложный
успех
Устанавливает таймаут для выбранного маршрута. Таймаут рассчитывается от момента полного обработки запроса (т.е. окончания потока) до момента полной обработки ответа. Таймаут включает все повторные попытки. Если не указано, значение по умолчанию составляет 15 секунд.

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

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

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

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

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

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

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

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

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

headerName
строка
успех
Имя заголовка.

headerValue
строка
успех
Значение добавляемого заголовка.

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

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

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

headerName
строка
успех
Имя заголовка.

headerValue
строка
успех
Значение добавляемого заголовка.

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

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

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

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

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

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

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

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

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

redirectResponseCode
string
success
Код HTTP-статуса, который следует использовать для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, по умолчанию, соответствует 301.
* FOUND, соответствует 302.
* SEE_OTHER, соответствует 303.
* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.
* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.

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

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

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

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

headerName
string
success
Имя заголовка.

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

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

requestHeadersToRemove
list / elements=string
success
Список имён заголовков для заголовков, которые необходимо удалить из запроса перед пересылкой запроса в backendService.

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

headerName
string
success
Имя заголовка.

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

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

responseHeadersToRemove
list / elements=string
success
Список имён заголовков для заголовков, которые необходимо удалить из ответа перед отправкой ответа клиенту.

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

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

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

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

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

invertMatch
boolean
success
Если установлено в false, headerMatch считается соответствием, если критерии соответствия выше соблюдены. Если установлено в true, headerMatch считается соответствием, если критерии соответствия выше НЕ соблюдены. По умолчанию false.

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

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

rangeMatch
complex
success
Значение заголовка должно быть целым числом, и его значение должно находиться в заданном диапазоне в rangeMatch. Если заголовок не содержит целого числа, числа или пустой, соответствие не выполняется. Например, для диапазона [-5, 0] * -3 будет соответствовать * 0 не будет соответствовать * 0.25 не будет соответствовать * -3someString не будет соответствовать.
Только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch должен быть задан.

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

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

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

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

ignoreCase
boolean
success
Указывает, что сопоставления prefixMatch и fullPathMatch чувствительны к регистру.
По умолчанию false.

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

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

name
string
success
Имя метки метаданных. Длина имени может составлять максимум 1024 символа, и оно должно иметь длину не менее 1 символа.

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

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

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

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

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

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

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

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

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

priority
integer
success
Для 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 в будущем без каких-либо последствий для существующих правил.

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

corsPolicy
complex
success
Спецификация для разрешения запросов с разных сайтов со стороны клиента. См. рекомендацию W3C для совместного использования ресурсов с разных сайтов.

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

allowHeaders
list / elements=string
success
Указывает содержимое заголовка Access-Control-Allow-Headers.

allowMethods
list / elements=string
success
Указывает содержимое заголовка Access-Control-Allow-Methods.

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

allowOrigins
list / elements=string
success
Указывает список источников, которым разрешено выполнять запросы CORS. Происхождение разрешено, если оно соответствует либо allow_origins, либо allow_origin_regex.

disabled
boolean
success
Если true, указывает, что политика CORS отключена.
что указывает, что политика CORS активна. По умолчанию false.

exposeHeaders
list / elements=string
success
Указывает содержимое заголовка Access-Control-Expose-Headers.

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

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

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

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

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

delay
complex
success
Спецификация того, как запросы клиентов задерживаются в рамках введения сбоев перед отправкой на службу бэкенда.

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

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

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

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

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

backendService
dictionary
success
Ресурс RegionBackendService, который будет дублироваться.

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

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

perTryTimeout
complex
success
Указывает ненулевой тайм-аут на попытку повтора.

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

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

retryConditions
список / элементы=строка
успех
Указывает один или несколько условий, при которых применяется это правило повторной попытки. Допустимые значения: * 5xx: Балансировщик нагрузки будет пытаться повторить попытку, если бэкенд-сервис отвечает кодом ответа 5xx, или если бэкенд-сервис вообще не отвечает, например: отключения, сбросы, таймауты чтения, ошибки подключения и отклоненные потоки.
* gateway-error: Аналогично 5xx, но применяется только к кодам ответа 502, 503 или 504.
* connect-failure: Балансировщик нагрузки будет повторять попытки при ошибках подключения к бэкенд-сервисам, например, из-за таймаутов подключения.
* retriable-4xx: Балансировщик нагрузки будет повторять попытки для повторно-обрабатываемых кодов ответа 4xx.
В настоящее время единственная поддерживаемая повторно-обрабатываемая ошибка — 409.
* refused-stream: Балансировщик нагрузки повторит попытку, если бэкенд-сервис сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает, что повторение попытки безопасно.
* cancelled: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в отменённый * deadline-exceeded: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в превышение крайнего срока * resource-exhausted: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в исчерпание ресурсов * unavailable: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в недоступность .

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

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

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

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

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

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

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

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

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

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

headerName
строка
успех
Имя заголовка.

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

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

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

responseHeadersToAdd
сложный
успех
Заголовки для добавления в ответ перед отправкой ответа клиенту.

headerName
строка
успех
Имя заголовка.

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

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

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

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

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

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

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

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

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

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

redirectResponseCode
string
success
Код HTTP-статуса, который будет использован для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, которое является значением по умолчанию и соответствует 301.
* FOUND, который соответствует 302.
* SEE_OTHER, которое соответствует 303.
* TEMPORARY_REDIRECT, которое соответствует 307. В этом случае метод запроса будет сохранён.
* PERMANENT_REDIRECT, которое соответствует 308. В этом случае метод запроса будет сохранён.

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

region
string
success
Ссылка на регион, в котором находится url-карта.

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

description
string
success
Описание этого тестового случая.

host
string
success
Часть хоста URL.

path
string
success
Часть пути URL.

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



Авторы

  • Google Inc. (@googlecloudplatform)

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

Spec-Zone.ru

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