Spec-Zone.ru › Ansible 2.11

google.cloud.gcp_compute_url_map – Создаёт GCP UrlMap

Примечание

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

Для его установки используйте: ansible-galaxy collection install google.cloud

Для использования в плейбуке укажите: google.cloud.gcp_compute_url_map

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

Описание

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
auth_kind
строка / обязательно
    Варианты:
  • application
  • machineaccount
  • serviceaccount
Тип используемых учетных данных.
default_route_action
словарь
defaultRouteAction действует, когда ни одно из правил hostRules не соответствует. Load Balancer выполняет расширенные действия маршрутизации, такие как перенаправление URL, преобразование заголовков и т. п., прежде чем передать запрос выбранному бэкенду.
Если defaultRouteAction задаёт weightedBackendServices, defaultService не должен быть задан. И наоборот, если задан defaultService, defaultRouteAction не должен содержать weightedBackendServices.
Только одно из defaultRouteAction или defaultUrlRedirect должно быть задано.
cors_policy
словарь
Настройки для разрешения межсайтовых запросов со стороны клиента. Обратитесь к [Рекомендации W3C по межсайтовому обмену ресурсами](https://www.w3.org/TR/cors/).
allow_credentials
логическое значение
    Варианты:
  • no
  • yes
Значение по умолчанию:
"false"
В ответ на предварительный запрос, установка этого значения в true указывает, что фактический запрос может включать учетные данные пользователя.
Это соответствует заголовку Access-Control-Allow-Credentials.
allow_headers
список / элементы=строка
Указывает содержимое заголовка Access-Control-Allow-Headers.
allow_methods
список / элементы=строка
Указывает содержимое заголовка Access-Control-Allow-Methods.
allow_origin_regexes
список / элементы=строка
Указывает шаблоны регулярных выражений, которые соответствуют разрешенным источникам. Для грамматики регулярных выражений обратитесь к en.cppreference.com/w/cpp/regex/ecmascript. Источник разрешается, если он соответствует элементу в allowOrigins или элементу в allowOriginRegexes.
allow_origins
список / элементы=строка
Указывает список источников, которым разрешено выполнять запросы CORS.
Источник разрешается, если он соответствует элементу в allowOrigins или элементу в allowOriginRegexes.
disabled
логическое значение
    Варианты:
  • no
  • yes
Значение по умолчанию:
"false"
Если true, указывает, что политика CORS отключена. По умолчанию false, что означает, что политика CORS активна.
expose_headers
список / элементы=строка
Указывает содержимое заголовка Access-Control-Expose-Headers.
max_age
целое число
Указывает, как долго результаты предварительного запроса могут быть кэшированы в секундах.
Это соответствует заголовку Access-Control-Max-Age.
fault_injection_policy
словарь
Настройки для введения ошибок в трафик, чтобы проверить устойчивость клиентов к сбоям службы бэкенда.
В рамках введения ошибок, при отправке клиентами запросов на службу бэкенда, Load Balancer может вводить задержки для определенного процента запросов перед их отправкой на бэкенд. Аналогично, запросы от клиентов могут быть прерваны Load Balancer для определенного процента запросов.
timeout и retryPolicy будут проигнорированы клиентами, настроенными с faultInjectionPolicy.
abort
словарь
Настройки для прерывания клиентских запросов в рамках введения ошибок.
http_status
целое число
Код HTTP-статуса, используемый для прерывания запроса.
Значение должно быть в диапазоне от 200 до 599 включительно.
percentage
строка
Процент трафика (соединений/операций/запросов), который будет прерван в рамках введения ошибок.
Значение должно быть в диапазоне от 0.0 до 100.0 включительно.
delay
словарь
Настройки для введения задержки в клиентские запросы в рамках введения ошибок перед отправкой их на службу бэкенда.
fixed_delay
словарь
Указывает значение интервала фиксированной задержки.
nanos
целое число
Промежуток времени, являющийся долей секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются значением 0 секунд и положительным значением nanos. Должно быть от 0 до 999 999 999 включительно.
seconds
строка
Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 дней/год * 10000 лет.
percentage
строка
Процент трафика (соединений/операций/запросов), по которому будет введена задержка в рамках введения ошибок.
Значение должно быть в диапазоне от 0.0 до 100.0 включительно.
request_mirror_policy
словарь
Указывает политику, определяющую, как запросы, предназначенные для бэкендов маршрута, дублируются на отдельную зеркальную службу бэкенда.
Load Balancer не ожидает ответов от зеркальной службы. Перед отправкой трафика на зеркальную службу к заголовку host / authority добавляется суффикс -shadow.
backend_service
словарь / обязательно
Полный или частичный URL ресурса BackendService, который зеркалируется.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно задать двумя способами. Во-первых, можно указать словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_backend_service, а затем установить это поле backend_service в "{{ имя-ресурса }}"
retry_policy
словарь
Указывает политику повторных попыток, связанную с этим маршрутом.
num_retries
целое число
Значение по умолчанию:
"1"
Указывает разрешенное количество повторных попыток. Это число должно быть > 0. Если не указано, по умолчанию равно 1.
per_try_timeout
словарь
Указывает ненулевой тайм-аут для каждой попытки повторной отправки.
Если не указано, будет использоваться тайм-аут, заданный в HttpRouteAction. Если тайм-аут в HttpRouteAction не задан, будет использоваться максимальный тайм-аут среди всех служб бэкенда, связанных с маршрутом.
nanos
целое число
Промежуток времени, являющийся долей секунды с разрешением в наносекунды. Продолжительности менее одной секунды представляются значением 0 секунд и положительным значением nanos. Должно быть от 0 до 999 999 999 включительно.
seconds
строка
Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 дней/год * 10000 лет.
retry_conditions
list / elements=string
Указывает один или несколько условий, когда применяется это правило повторной попытки. Допустимые значения: * 5xx: балансировщик нагрузки предпримет повторную попытку, если бэкенд-сервис ответит любым кодом ответа 5xx или вообще не ответит, например: разрывы соединения, сброс, таймаут чтения, * ошибки подключения и отклоненные потоки.
* gateway-error: Аналогично 5xx, но применяется только к кодам ответов 502, 503 или 504.
* connect-failure: Балансировщик нагрузки будет пытаться повторно подключиться к бэкенд-сервисам, например, из-за таймаутов подключения.
* retriable-4xx: Балансировщик нагрузки будет пытаться повторно для исправленных кодов ответов 4xx.
В настоящее время единственная поддерживаемая ошибка для повторной попытки — 409.
* refused-stream: Балансировщик нагрузки повторит попытку, если бэкенд-сервис сбросит поток с кодом ошибки REFUSED_STREAM.
Этот тип сброса указывает, что повторить попытку безопасно.
* cancelled: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в cancelled * deadline-exceeded: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в deadline-exceeded * resource-exhausted: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в resource-exhausted * unavailable: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в unavailable.
timeout
dictionary
Указывает таймаут для выбранного маршрута. Таймаут рассчитывается от момента полного обработки запроса (т.е. конца потока) до момента полной обработки ответа. Таймаут включает все повторные попытки.
Если не указано, используется наибольший таймаут среди всех бэкенд-сервисов, связанных с маршрутом.
nanos
integer
Продолжительность времени, которая является дробью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены с полем 0 секунд и положительным полем наносекунд. Должно быть от 0 до 999 999 999 включительно.
seconds
string
Продолжительность времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет.
url_rewrite
dictionary
Спецификация для изменения URL запроса перед пересылкой его на сопоставленный сервис.
host_rewrite
string
Перед пересылкой запроса на выбранный сервис заголовок хоста запроса заменяется содержимым hostRewrite.
Значение должно быть между 1 и 255 символами.
path_prefix_rewrite
string
Перед пересылкой запроса на выбранный бэкенд-сервис соответствующая часть пути запроса заменяется pathPrefixRewrite.
Значение должно быть между 1 и 1024 символами.
weighted_backend_services
list / elements=dictionary
Список взвешенных бэкенд-сервисов, которым необходимо направить трафик при совпадении с маршрутом.
Веса определяют долю трафика, которая перенаправляется на соответствующий бэкенд-сервис.
Если весь трафик должен направляться на один бэкенд-сервис, должен быть один weightedBackendService с весом, отличным от 0.
После определения бэкенд-сервиса и перед пересылкой запроса на бэкенд-сервис применяются расширенные действия по маршрутизации, такие как изменение URL и преобразование заголовков, в зависимости от дополнительных настроек, указанных в этом HttpRouteAction.
backend_service
dictionary
Полный или частичный URL ресурса BackendService по умолчанию. Перед пересылкой запроса на backendService балансировщик нагрузки применяет все соответствующие headerActions, указанные в рамках этого backendServiceWeight.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Кроме того, вы можете добавить `register: имя_ресурса` в задачу gcp_compute_backend_service, а затем установить это поле backend_service в "{{ имя_ресурса }}"
header_action
dictionary
Указывает изменения в заголовках запроса и ответа, которые должны быть применены для выбранного backendService.
headerAction, указанный здесь, применяются до headerAction в содержащем HttpRouteRule, PathMatcher и UrlMap.
request_headers_to_add
list / elements=dictionary
Заголовки, которые необходимо добавить к соответствующему запросу перед пересылкой его на backendService.
header_name
string
Имя заголовка, который нужно добавить.
header_value
string
Значение заголовка, который нужно добавить.
replace
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
request_headers_to_remove
list / elements=string
Список имен заголовков для заголовков, которые нужно удалить из запроса перед пересылкой его на backendService.
response_headers_to_add
list / elements=dictionary
Заголовки для добавления в ответ перед отправкой ответа клиенту.
header_name
string
Имя заголовка, который нужно добавить.
header_value
string
Значение заголовка, который нужно добавить.
replace
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если false, headerValue добавляется к любым значениям, которые уже существуют для заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
response_headers_to_remove
list / elements=string
Список имён заголовков для заголовков, которые нужно удалить из ответа перед отправкой ответа клиенту.
weight
integer
Указывает долю трафика, отправляемого на backendService, вычисленную как weight / (сумма всех весов weightedBackendService в routeAction).
Выбор бэкенд-сервиса определяется только для нового трафика. После того, как запрос пользователя был перенаправлен на backendService, последующие запросы будут отправлены тому же backendService, как определено политикой affinity сессии BackendService.
Значение должно быть между 0 и 1000.
default_service
dictionary
Полный или частичный URL ресурса defaultService, на который перенаправляется трафик, если ни одно из hostRules не соответствует. Если дополнительно указан defaultRouteAction, расширенные действия по маршрутизации, такие как изменение URL и т. д., выполняются перед отправкой запроса на бэкенд. Однако, если указан defaultService, defaultRouteAction не может содержать weightedBackendServices. И наоборот, если routeAction указывает weightedBackendServices, service не должен быть указан. Должен быть установлен только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Кроме того, вы можете добавить `register: имя_ресурса` в задачу gcp_compute_backend_service, а затем установить это поле default_service в "{{ имя_ресурса }}"
default_url_redirect
dictionary
Если ни одно из указанных hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если defaultUrlRedirect указан, defaultService или defaultRouteAction не должны быть установлены.
host_redirect
string
Хост, который будет использоваться в ответе перенаправления вместо хоста, предоставленного в запросе. Значение должно быть от 1 до 255 символов.
https_redirect
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в значение true, схема URL в запросе перенаправления устанавливается как https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как у исходного запроса. Это свойство должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка значения true для TargetHttpsProxy запрещена. По умолчанию значение равно false.
path_redirect
string
Путь, который будет использован в ответе перенаправления вместо пути, предоставленного в запросе. pathRedirect не может быть указан вместе с prefixRedirect. Укажите либо один, либо ни один. Если ни один не указан, путь из исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.
prefix_redirect
string
Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса.
prefixRedirect не может быть указан вместе с pathRedirect. Укажите либо один, либо ни один. Если ни один не указан, путь из исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.
redirect_response_code
string
Код HTTP-статуса, используемый для этого RedirectAction. Допустимые значения: * MOVED_PERMANENTLY_DEFAULT, по умолчанию, соответствует 301.
* FOUND, соответствует 302.
* SEE_OTHER, соответствует 303.
* TEMPORARY_REDIRECT, соответствует 307. В этом случае метод запроса сохраняется.
* PERMANENT_REDIRECT, соответствует 308. В этом случае метод запроса сохраняется.
Некоторые допустимые варианты: "FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"
strip_query
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в true, любая часть запроса с параметрами URL из исходного запроса удаляется перед перенаправлением. Если установлено в false, часть запроса с параметрами исходного URL сохраняется. По умолчанию значение равно false.
description
string
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
env_type
string
Указывает, в какой среде Ansible выполняется этот модуль.
Не устанавливайте это свойство, если не знаете, что делаете.
Это свойство изменяет только строку User Agent для всех API-запросов.
header_action
dictionary
Указывает изменения в заголовках запросов и ответов, которые должны быть применены для выбранного backendService. Заголовки headerAction, указанные здесь, применяются после headerAction, указанных в pathMatcher.
request_headers_to_add
list / elements=dictionary
Заголовки, которые нужно добавить к соответствующему запросу перед пересылкой запроса в backendService.
header_name
string / обязательно
Имя заголовка.
header_value
string / обязательно
Значение заголовка, которое нужно добавить.
replace
boolean / обязательно
    Варианты:
  • нет
  • да
Если false, headerValue добавляется к существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее установленные значения.
request_headers_to_remove
list / elements=string
Список имен заголовков для удаления из запроса перед пересылкой его в backendService.
response_headers_to_add
list / elements=dictionary
Заголовки, которые нужно добавить к ответу перед отправкой клиенту.
header_name
string / обязательно
Имя заголовка.
header_value
string / обязательно
Значение заголовка для добавления.
replace
boolean / обязательно
    Варианты:
  • нет
  • да
Если false, headerValue добавляется к существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее установленные значения.
response_headers_to_remove
list / elements=string
Список имен заголовков, которые нужно удалить из ответа перед отправкой клиенту.
host_rules
list / elements=dictionary
Список HostRules для применения к URL.
description
string
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
hosts
list / elements=string / обязательно
Список шаблонов хостов для соответствия. Они должны быть допустимыми именами хостов, за исключением *, который соответствует любой строке ([a-z0-9-.]*). В этом случае * должен быть первым символом и должен быть после него - или .
path_matcher
string / обязательно
Имя PathMatcher для соответствия части пути URL, если hostRule соответствует хосту URL.
name
string / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
path_matchers
list / elements=dictionary
Список именованных PathMatchers для применения к URL.
default_route_action
dictionary
defaultRouteAction применяется, когда ни один из pathRules или routeRules не совпадает. Балансировщик нагрузки выполняет расширенные действия по маршрутизации, такие как изменение URL, преобразование заголовков и т. д., прежде чем пересылать запрос выбранному бэкенду. Если defaultRouteAction указывает какие-либо weightedBackendServices, defaultService не должен быть установлен.
В противном случае, если установлен defaultService, defaultRouteAction не может содержать weightedBackendServices.
Только одно из defaultRouteAction или defaultUrlRedirect должно быть установлено.
cors_policy
dictionary
Спецификация для разрешения кросс-доменных запросов со стороны клиента. Обратитесь к [Рекомендации W3C по кросс-доменному обмену ресурсами](https://www.w3.org/TR/cors/).
allow_credentials
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
В ответ на предварительный запрос, установка этого значения в true указывает, что фактический запрос может включать учетные данные пользователя.
Это приводит к заголовку Access-Control-Allow-Credentials.
allow_headers
list / elements=string
Указывает содержимое заголовка Access-Control-Allow-Headers.
allow_methods
list / elements=string
Указывает содержимое заголовка Access-Control-Allow-Methods.
allow_origin_regexes
list / elements=string
Указывает шаблоны регулярных выражений, соответствующие разрешенным источникам. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Источник разрешен, если он соответствует элементу в allowOrigins или элементу в allowOriginRegexes.
allow_origins
список / элементы=строка
Указывает список источников, которым разрешено выполнять запросы CORS.
Источник разрешен, если он соответствует элементу в allowOrigins или элементу в allowOriginRegexes.
disabled
булево
    Варианты:
  • нет
  • да
Значение по умолчанию:
"false"
Если true, указывает, что политика CORS отключена. Значение по умолчанию — false, что означает, что политика CORS активна.
expose_headers
список / элементы=строка
Указывает содержимое заголовка Access-Control-Expose-Headers.
max_age
целое число
Указывает, сколько времени результаты запроса предварительной проверки могут кэшироваться в секундах.
Это соответствует заголовку Access-Control-Max-Age.
fault_injection_policy
словарь
Спецификация для внедрения ошибок в трафик для проверки устойчивости клиентов к отказам службы бэкенда.
В рамках внедрения ошибок, когда клиенты отправляют запросы на службу бэкенда, задержки могут быть внедрены балансировщиком нагрузки для определенного процента запросов перед отправкой этих запросов на службу бэкенда. Аналогичным образом запросы от клиентов могут быть прерваны балансировщиком нагрузки для определенного процента запросов.
timeout и retryPolicy будут проигнорированы клиентами, настроенными с faultInjectionPolicy.
abort
словарь
Спецификация того, как запросы клиентов прерываются в рамках внедрения ошибок.
http_status
целое число
Код HTTP-статуса, используемый для прерывания запроса.
Значение должно быть в диапазоне от 200 до 599 включительно.
percentage
строка
Процент трафика (соединений/операций/запросов), который будет прерван в рамках внедрения ошибок.
Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
delay
словарь
Спецификация того, как запросы клиентов задерживаются в рамках внедрения ошибок перед отправкой на службу бэкенда.
fixed_delay
словарь
Указывает значение интервала фиксированной задержки.
nanos
целое число
Продолжительность, являющаяся долей секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением 0 для секунд и положительным значением для наносекунд. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
строка
Продолжительность с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычисляются из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 дней/год * 10000 лет.
percentage
строка
Процент трафика (соединений/операций/запросов), для которого будет введена задержка в рамках внедрения ошибок.
Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
request_mirror_policy
словарь
Указывает политику, определяющую, как запросы, предназначенные для бэкендов маршрута, дублируются на отдельной зеркальной службе бэкенда.
Балансировщик нагрузки не ожидает ответов от зеркальной службы. Перед отправкой трафика на зеркальную службу к хосту/заголовку authority добавляется суффикс -shadow.
backend_service
словарь / обязательно
Полный или частичный URL ресурса BackendService, который будет дублироваться.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Кроме того, вы можете добавить `register: name-of-resource` к задаче gcp_compute_backend_service, а затем установить это поле backend_service в "{{ name-of-resource }}"
retry_policy
словарь
Указывает политику повторных попыток, связанную с этим маршрутом.
num_retries
целое число
Значение по умолчанию:
"1"
Указывает разрешенное количество повторных попыток. Это число должно быть > 0. Если не указано, по умолчанию равно 1.
per_try_timeout
словарь
Указывает ненулевой таймаут за попытку.
Если не указано, будет использоваться таймаут, заданный в HttpRouteAction. Если таймаут в HttpRouteAction не задан, будет использоваться наибольший таймаут среди всех служб бэкенда, связанных с маршрутом.
nanos
целое число
Продолжительность, являющаяся долей секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением 0 для секунд и положительным значением для наносекунд. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
строка
Продолжительность с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычисляются из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 дней/год * 10000 лет.
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
словарь
Указывает таймаут для выбранного маршрута. Таймаут вычисляется с момента полного обработки запроса (т. е. конца потока) до момента полной обработки ответа. Таймаут включает все повторные попытки.
Если не указано, будет использоваться наибольший таймаут среди всех служб бэкенда, связанных с маршрутом.
nanos
целое число
Продолжительность, являющаяся долей секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением 0 для секунд и положительным значением для наносекунд. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
строка
Продолжительность с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычисляются из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 дней/год * 10000 лет.
url_rewrite
dictionary
Спецификация для изменения URL запроса перед его пересылкой соответствующему сервису.
host_rewrite
string
Перед пересылкой запроса выбранному сервису заголовок хоста запроса заменяется содержимым hostRewrite.
Значение должно быть между 1 и 255 символами.
path_prefix_rewrite
string
Перед пересылкой запроса выбранному бэкенд-сервису соответствующая часть пути запроса заменяется на pathPrefixRewrite.
Значение должно быть между 1 и 1024 символами.
weighted_backend_services
list / elements=dictionary
Список взвешенных бэкенд-сервисов, которым будет направлен трафик при совпадении маршрута.
Веса определяют долю трафика, направляемого на соответствующий бэкенд-сервис.
Если весь трафик должен быть направлен на один бэкенд-сервис, должен быть один weightedBackendService с весом, отличным от 0.
После определения бэкенд-сервиса и перед пересылкой запроса на него применяются дополнительные действия маршрутизации, такие как перенаправление URL и преобразования заголовков, в зависимости от дополнительных настроек, указанных в HttpRouteAction.
backend_service
dictionary
Полный или частичный URL ресурса BackendService по умолчанию. Перед пересылкой запроса на backendService балансировщик приложений применяет все соответствующие действия с заголовками, указанные как часть этого backendServiceWeight.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service и затем установить это поле backend_service на "{{ имя-ресурса }}"
header_action
dictionary
Указывает изменения в заголовках запроса и ответа, которые должны быть применены для выбранного backendService.
headerAction, указанный здесь, применяется до headerAction в окружающем HttpRouteRule, PathMatcher и UrlMap.
request_headers_to_add
list / elements=dictionary
Заголовки, которые необходимо добавить к соответствующему запросу перед пересылкой запроса на backendService.
header_name
string
Имя добавляемого заголовка.
header_value
string
Значение добавляемого заголовка.
replace
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если false, headerValue добавляется к уже существующим значениям для заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая все ранее заданные значения для этого заголовка.
request_headers_to_remove
list / elements=string
Список имён заголовков, которые необходимо удалить из запроса перед пересылкой запроса на backendService.
response_headers_to_add
list / elements=dictionary
Заголовки для добавления в ответ перед отправкой ответа обратно клиенту.
header_name
string
Имя добавляемого заголовка.
header_value
string
Значение добавляемого заголовка.
replace
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если false, headerValue добавляется к уже существующим значениям для заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая все ранее заданные значения для этого заголовка.
response_headers_to_remove
list / elements=string
Список имён заголовков, которые необходимо удалить из ответа перед отправкой ответа обратно клиенту.
weight
integer
Указывает долю трафика, направляемого на backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction).
Выбор бэкенд-сервиса определяется только для нового трафика. После направления запроса пользователя на backendService последующие запросы будут направлены на тот же backendService, как определено политикой согласованности сеанса BackendService.
Значение должно быть между 0 и 1000.
default_service
dictionary
Полный или частичный URL ресурса BackendService по умолчанию. Он будет использован, если ни один из pathRules или routeRules, определённых этим PathMatcher, не совпадёт. Например, следующие являются допустимыми URL для ресурса BackendService: - https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService Если дополнительно указан defaultRouteAction, перед отправкой запроса на бэкенд применяются дополнительные действия маршрутизации, такие как перенаправление URL и т. д. Однако, если указан defaultService, defaultRouteAction не может содержать weightedBackendServices. И наоборот, если defaultRouteAction содержит weightedBackendServices, defaultService не должен быть указан.
Должен быть указан только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService. Для авторизации требуется одно или несколько разрешений Google IAM на указанный ресурс defaultService: - compute.backendBuckets.use - compute.backendServices.use .
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service и затем установить это поле default_service на "{{ имя-ресурса }}"
default_url_redirect
dictionary
Если ни один из указанных hostRules не совпадает, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть указаны.
host_redirect
string
Хост, который будет использоваться в ответном перенаправлении вместо переданного в запросе. Значение должно быть между 1 и 255 символами.
https_redirect
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если значение true, схема URL в перенаправленном запросе устанавливается в https. Если значение false, схема URL перенаправленного запроса останется такой же, как и в исходном запросе. Это значение должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка значения true для TargetHttpsProxy запрещена. По умолчанию значение false.
path_redirect
string
Путь, который будет использоваться в ответе о перенаправлении вместо переданного в запросе. pathRedirect не может быть использован вместе с prefixRedirect. Используйте один из них или ни одного. Если ни один не указан, путь исходного запроса будет использован для перенаправления. Значение должно быть между 1 и 1024 символами.
prefix_redirect
string
Префикс, заменяющий префикс prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL-адреса перед перенаправлением запроса.
prefixRedirect нельзя использовать вместе с pathRedirect. Используйте один из них или ни один. Если ни один не указан, для перенаправления будет использоваться путь исходного запроса. Значение должно быть от 1 до 1024 символов.
redirect_response_code
string
Код HTTP-статуса, используемый для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT — значение по умолчанию, соответствует 301.
* FOUND — соответствует 302.
* SEE_OTHER — соответствует 303.
* TEMPORARY_REDIRECT — соответствует 307. В этом случае метод запроса сохранится.
* PERMANENT_REDIRECT — соответствует 308. В этом случае метод запроса сохранится.
Некоторые допустимые значения: «FOUND», «MOVED_PERMANENTLY_DEFAULT», «PERMANENT_REDIRECT», «SEE_OTHER», «TEMPORARY_REDIRECT»
strip_query
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если установлено в true, любая сопровождающая часть запроса исходного URL-адреса удаляется перед перенаправлением запроса. Если установлено в false, часть запроса исходного URL-адреса сохраняется.
description
string
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
header_action
dictionary
Указывает изменения в заголовках запроса и ответа, которые должны вступить в силу для выбранной службы backendService. Заголовки HeaderAction, указанные здесь, применяются после HeaderAction в совпадающем HttpRouteRule и перед HeaderAction в UrlMap.
request_headers_to_add
list / elements=dictionary
Заголовки, которые нужно добавить к соответствующему запросу перед передачей запроса в backendService.
header_name
string / required
Имя заголовка.
header_value
string / required
Значение добавляемого заголовка.
replace
boolean / required
    Варианты:
  • no
  • yes
Если false, headerValue добавляется к любым имеющимся значениям для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая все ранее заданные значения для этого заголовка.
request_headers_to_remove
list / elements=string
Список имён заголовков, которые нужно удалить из запроса перед передачей запроса в backendService.
response_headers_to_add
list / elements=dictionary
Заголовки, которые нужно добавить к ответу перед отправкой ответа клиенту.
header_name
string / required
Имя заголовка.
header_value
string / required
Значение добавляемого заголовка.
replace
boolean / required
    Варианты:
  • no
  • yes
Если false, headerValue добавляется к любым имеющимся значениям для заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая все ранее заданные значения для этого заголовка.
response_headers_to_remove
list / elements=string
Список имён заголовков, которые нужно удалить из ответа перед отправкой ответа клиенту.
name
string / required
Имя, под которым эта PathMatcher упоминается в HostRule.
path_rules
list / elements=dictionary
Список правил путей. Используйте этот список вместо routeRules, если необходимо маршрутизировать на основе простого соответствия пути. Порядок указания правил путей не важен. Совпадение всегда выполняется по принципу «длиннейший путь вначале». Например: pathRule с путем /a/b/c/* будет соответствовать перед /a/b/* независимо от порядка, в котором эти пути появляются в списке. В данной pathMatcher должен быть задан только один из pathRules или routeRules.
paths
list / elements=string / required
Список шаблонов путей для соответствия. Каждый должен начинаться с /, и * разрешён только в конце после /. Строка, передаваемая в path matcher, не включает текст после первого ? или #, и эти символы здесь недопустимы.
route_action
dictionary
В ответ на совпавший путь балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как изменения URL, преобразование заголовков и т. д., перед передачей запроса выбранному бэкенду. Если routeAction указывает какие-либо weightedBackendServices, то service не должен быть установлен. И наоборот, если service установлен, routeAction не может содержать weightedBackendServices. Должен быть установлен только один из routeAction или urlRedirect.
cors_policy
dictionary
Спецификация для разрешения кросс-доменных запросов со стороны клиента. См. рекомендации W3C по кросс-доменному обмену ресурсами.
allow_credentials
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
В ответ на запрос префлайта, установка этого значения в true указывает, что фактический запрос может включать учётные данные пользователя. Это отображается в заголовке Access-Control-Allow-Credentials. По умолчанию false.
allow_headers
list / elements=string
Указывает содержимое заголовка Access-Control-Allow-Headers.
allow_methods
list / elements=string
Указывает содержимое заголовка Access-Control-Allow-Methods.
allow_origin_regexes
list / elements=string
Указывает шаблоны регулярных выражений, соответствующие разрешённым источникам. Для синтаксиса регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Источник разрешён, если он соответствует либо allow_origins, либо allow_origin_regex.
allow_origins
list / elements=string
Указывает список источников, которым разрешено выполнять запросы CORS. Источник разрешён, если он соответствует либо allow_origins, либо allow_origin_regex.
disabled
boolean / required
    Варианты:
  • no
  • yes
Если true, указывает, что политика CORS отключена.
expose_headers
list / elements=string
Указывает содержимое заголовка Access-Control-Expose-Headers.
max_age
integer
Указывает, как долго результаты запроса префлайта могут кэшироваться. Это отображается в заголовке Access-Control-Max-Age.
fault_injection_policy
dictionary
Спецификация для введения сбоев в трафик для тестирования устойчивости клиентов к ошибкам службы бэкенда. В рамках введения сбоев, когда клиенты отправляют запросы на службу бэкенда, задержки могут быть введены балансировщиком нагрузки для процента запросов до отправки этих запросов на службу бэкенда. Аналогично, запросы от клиентов могут быть прерваны балансировщиком нагрузки для процента запросов. timeout и retry_policy будут проигнорированы клиентами, настроенными с fault_injection_policy.
abort
dictionary
Спецификация для того, как запросы клиентов прерываются в рамках введения сбоев.
http_status
integer / required
Код HTTP-статуса, используемый для прерывания запроса. Значение должно быть от 200 до 599 включительно.
percentage
string / required
Процент трафика (соединений/операций/запросов), который будет прерван в рамках введения сбоев. Значение должно быть от 0.0 до 100.0 включительно.
delay
dictionary
Спецификация того, как запросы клиентов задерживаются в рамках введения сбоев, прежде чем они будут отправлены на службу бэкенда.
fixed_delay
dictionary / required
Указывает значение интервала фиксированной задержки.
nanos
integer
Промежуток времени, являющийся дробью секунды с разрешением наносекунды. Продолжительности менее одной секунды представлены с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
string / required
Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.
percentage
string / required
Процент трафика (соединений/операций/запросов), для которого будет введена задержка в рамках введения сбоев. Значение должно быть от 0.0 до 100.0 включительно.
request_mirror_policy
dictionary
Указывает политику того, как запросы, предназначенные для бэкендов маршрута, дублируются в отдельную службу бэкенда для отражения. Балансировщик нагрузки не ждет ответов от службы отражения. Перед отправкой трафика в службу отражения хост/заголовок authority дополняется -shadow.
backend_service
dictionary / required
Ресурс BackendService, который будет дублироваться.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service и затем установить это поле backend_service на "{{ имя-ресурса }}"
retry_policy
dictionary
Указывает политику повторных попыток, связанную с этим маршрутом.
num_retries
integer
Указывает разрешенное количество повторов попыток. Это число должно быть > 0.
per_try_timeout
dictionary
Указывает ненулевой таймаут за попытку повтора.
nanos
integer
Промежуток времени, являющийся дробью секунды с разрешением наносекунды. Продолжительности менее одной секунды представлены с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
string / required
Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.
retry_conditions
list / elements=string
Указывает один или несколько условий, когда применяется это правило повторных попыток. Допустимые значения: * 5xx: Балансировщик нагрузки предпримет попытку повтора, если служба бэкенда ответит любым кодом состояния 5xx или вообще не ответит, например: разъединения, сброс, таймаут чтения, ошибка подключения и отказ потоков.
* gateway-error: Аналогично 5xx, но применяется только к кодам ответов 502, 503 или 504.
* connect-failure: Балансировщик нагрузки повторит попытку при ошибках подключения к службам бэкенда, например, из-за таймаутов подключения.
* retriable-4xx: Балансировщик нагрузки повторит попытку для подлежащих повторному выполнению кодов ответов 4xx.
В настоящее время единственная поддерживаемая ошибка для повторной попытки — 409.
* refused-stream: Балансировщик нагрузки повторит попытку, если служба бэкенда сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает, что повторная попытка безопасна.
* cancelled: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в cancelled * deadline-exceeded: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в deadline-exceeded * resource-exhausted: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в resource-exhausted * unavailable: Балансировщик нагрузки повторит попытку, если код состояния gRPC в заголовке ответа установлен в unavailable.
timeout
dictionary
Указывает таймаут для выбранного маршрута. Таймаут рассчитывается с момента полного обработки запроса (т.е. конец потока) до момента полной обработки ответа. Таймаут включает все повторы. Если не указано, значение по умолчанию равно 15 секундам.
nanos
integer
Промежуток времени, являющийся дробью секунды с разрешением наносекунды. Продолжительности менее одной секунды представлены с полем `seconds` равным 0 и положительным полем `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
string / required
Промежуток времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.
url_rewrite
dictionary
Спецификация для изменения URL запроса перед пересылкой его на сопоставленную службу.
host_rewrite
string
Перед пересылкой запроса на выбранную службу заголовок хоста запроса заменяется содержимым hostRewrite. Значение должно быть между 1 и 255 символами.
path_prefix_rewrite
string
Перед пересылкой запроса на выбранную службу бэкенда соответствующая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть между 1 и 1024 символами.
weighted_backend_services
список / элементы=словарь
Список весовых бэкенд-служб, к которым будет направлен трафик при совпадении маршрута. Веса определяют долю трафика, направляемого на соответствующую бэкенд-службу. Если весь трафик должен идти в одну бэкенд-службу, должна быть одна weightedBackendService с весом, отличным от 0. После идентификации бэкенд-службы и перед перенаправлением запроса к бэкенд-службе применяются расширенные действия маршрутизации, такие как переписывание URL и преобразование заголовков, в зависимости от дополнительных настроек, указанных в этом HttpRouteAction.
backend_service
словарь / обязательно
Ресурс бэкенд-службы по умолчанию. Перед перенаправлением запроса к backendService, балансировщик нагрузки применяет все соответствующие headerActions, указанные в рамках этого backendServiceWeight.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В качестве альтернативы, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле backend_service в "{{ имя-ресурса }}"
header_action
словарь
Указывает изменения в заголовках запроса и ответа, которые должны быть применены для выбранной бэкенд-службы. 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
строка / обязательно
Значение заголовка для добавления.
replace
булево / обязательно
    Варианты:
  • нет
  • да
Если ложь, headerValue добавляется к любым уже существующим значениям для заголовка. Если истина, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
response_headers_to_remove
список / элементы=строка
Список имён заголовков, которые нужно удалить из ответа перед отправкой ответа обратно клиенту.
weight
целое число / обязательно
Указывает долю трафика, направляемого на backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction). Выбор бэкенд-службы определяется только для нового трафика. После того, как запрос пользователя был направлен на backendService, последующие запросы будут отправлены на ту же backendService, как определено политикой Affinity сессии BackendService.
Значение должно быть между 0 и 1000.
service
словарь
Ресурс бэкенд-службы, на который направляется трафик, если совпадает это правило. Если дополнительно указан routeAction, расширенные действия маршрутизации, такие как переписывание URL, и т. д., вступают в силу перед отправкой запроса на бэкенд. Однако, если указан service, routeAction не может содержать weightedBackendService s. И наоборот, если routeAction указывает weightedBackendServices, service не должен быть указан. Должен быть указан только один из urlRedirect, service или routeAction.weightedBackendService.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В качестве альтернативы, вы можете добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле service в "{{ имя-ресурса }}"
url_redirect
словарь
При совпадении шаблона пути запрос перенаправляется на URL, указанный в urlRedirect. Если urlRedirect указан, service или routeAction не должны быть установлены.
host_redirect
строка
Хост, который будет использоваться в ответе о перенаправлении вместо того, что был предоставлен в запросе. Значение должно быть между 1 и 255 символами.
https_redirect
булево
    Варианты:
  • нет
  • да
По умолчанию:
"ложь"
Если установлено в истину, схема URL в перенаправленном запросе устанавливается в https.
Если установлено в ложь, схема URL перенаправленного запроса останется такой же, как и у запроса. Это должно быть установлено только для UrlMap, используемых в TargetHttpProxys. Установка в истину для TargetHttpsProxy запрещена. По умолчанию установлено в ложь.
path_redirect
строка
Путь, который будет использоваться в ответе о перенаправлении вместо предоставленного в запросе. pathRedirect не может быть предоставлен вместе с prefixRedirect. Предоставьте только один или ни одного. Если ни один не предоставлен, путь исходного запроса будет использован для перенаправления.
Значение должно быть между 1 и 1024 символами.
prefix_redirect
строка
Префикс, который заменяет префиксMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса. prefixRedirect не может быть предоставлен вместе с pathRedirect. Предоставьте только один или ни одного. Если ни один не предоставлен, путь исходного запроса будет использован для перенаправления. Значение должно быть между 1 и 1024 символами.
redirect_response_code
строка
Код HTTP-статуса, который нужно использовать для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, которое является значением по умолчанию и соответствует 301.
* FOUND, которое соответствует 302.
* SEE_OTHER, которое соответствует 303.
* TEMPORARY_REDIRECT, которое соответствует 307. В этом случае метод запроса сохранится.
* PERMANENT_REDIRECT, которое соответствует 308. В этом случае метод запроса сохранится.
Некоторые допустимые варианты включают: "FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"
strip_query
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если установлено в значение true, любая часть запроса, сопровождающая исходный URL, удаляется перед перенаправлением запроса. Если установлено в значение false, часть запроса исходного URL сохраняется.
route_rules
list / elements=dictionary
Список упорядоченных правил маршрутизации HTTP. Используйте этот список вместо pathRules, когда требуются расширенное сопоставление маршрутов и действия маршрутизации. Порядок указания routeRules имеет значение: первое совпавшее правило вызовет указанное действие маршрутизации. В рамках заданного pathMatcher должен быть задан только один из pathRules или routeRules. routeRules не поддерживаются в UrlMaps, предназначенных для внешних балансировщиков нагрузки.
header_action
dictionary
Указывает изменения в заголовках запроса и ответа, которые должны быть выполнены для выбранного backendService. Указанные здесь headerAction применяются перед сопоставлением pathMatchers[].headerAction и после pathMatchers[].routeRules[].r outeAction.weightedBackendService.backendServiceWeightAction[].headerAction.
request_headers_to_add
list / elements=dictionary
Заголовки, которые необходимо добавить к соответствующему запросу перед пересылкой запроса backendService.
header_name
string / обязательно
Имя заголовка.
header_value
string / обязательно
Значение добавляемого заголовка.
replace
boolean / обязательно
    Варианты:
  • no
  • yes
Если false, headerValue добавляется к уже существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее установленные значения для этого заголовка.
request_headers_to_remove
list / elements=string
Список имён заголовков, которые необходимо удалить из запроса перед пересылкой его backendService.
response_headers_to_add
list / elements=dictionary
Заголовки для добавления в ответ перед отправкой ответа клиенту.
header_name
string / обязательно
Имя заголовка.
header_value
string / обязательно
Значение добавляемого заголовка.
replace
boolean / обязательно
    Варианты:
  • no
  • yes
Если false, headerValue добавляется к уже существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее установленные значения для этого заголовка.
response_headers_to_remove
list / elements=string
Список имён заголовков, которые необходимо удалить из ответа перед отправкой его клиенту.
match_rules
list / elements=dictionary
Правила определения соответствия.
full_path_match
string
Для удовлетворения условия matchRule путь запроса должен точно совпадать со значением, указанным в fullPathMatch, после удаления любых параметров запроса и якоря, которые могут быть частью исходного URL. FullPathMatch должен быть между 1 и 1024 символами. Должен быть указан только один из prefixMatch, fullPathMatch или regexMatch.
header_matches
list / elements=dictionary
Указывает список критериев сопоставления заголовков, все из которых должны соответствовать соответствующим заголовкам в запросе.
exact_match
string
Значение должно точно совпадать с содержимым exactMatch. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
header_name
string / обязательно
Имя HTTP-заголовка для сопоставления. Для сопоставления с авторитетом HTTP-запроса используйте headerMatch с именем заголовка ":authority". Для сопоставления метода запроса используйте headerName ":method".
invert_match
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если установлено в значение false, headerMatch считается совпадением, если вышеуказанные критерии сопоставления выполнены. Если установлено в значение true, headerMatch считается совпадением, если вышеуказанные критерии сопоставления НЕ выполнены. По умолчанию false.
prefix_match
string
Значение заголовка должно начинаться с содержимого prefixMatch. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
present_match
boolean
    Варианты:
  • no
  • yes
Заголовок с содержимым headerName должен существовать. Сопоставление происходит независимо от того, имеет ли заголовок запроса значение или нет. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
range_match
dictionary
Значение заголовка должно быть целым числом и должно находиться в диапазоне, указанном в rangeMatch. Если заголовок не содержит целого числа, числа или пуст, сопоставление не выполняется. Например, для диапазона [-5, 0] - -3 будет соответствовать. - 0 не будет соответствовать. - 0.25 не будет соответствовать. - -3someString не будет соответствовать. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
range_end
integer / обязательно
Конец диапазона (исключительно).
range_start
integer / обязательно
Начало диапазона (включительно).
regex_match
string
Значение заголовка должно соответствовать регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений см.: en.cppreference.com/w/cpp/regex/ecmascript Для сопоставления с портом, указанным в HTTP-запросе, используйте headerMatch с headerName, установленным на PORT, и регулярное выражение, которое удовлетворяет спецификатору порта заголовка Host RFC2616.
Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
suffix_match
string
Значение заголовка должно заканчиваться содержимым suffixMatch. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
ignore_case
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Указывает, что соответствия prefixMatch и fullPathMatch чувствительны к регистру.
По умолчанию значение false.
metadata_filters
список / элементы=словарь
Непрозрачные критерии фильтрации, используемые Loadbalancer для ограничения конфигурации маршрутизации ограниченным набором клиентов, совместимых с xDS. В своих запросах xDS к Loadbalancer клиенты xDS представляют метаданные узла. Если происходит совпадение, соответствующая конфигурация маршрутизации становится доступной для этих прокси. Для каждого metadataFilter в этом списке, если его filterMatchCriteria установлено в MATCH_ANY, по крайней мере, одна из filterLabels должна соответствовать соответствующей метке, предоставленной в метаданных. Если filterMatchCriteria установлено в MATCH_ALL, то все filterLabels должны соответствовать соответствующим меткам в предоставленных метаданных. metadataFilters, указанные здесь, могут переопределять те, которые указаны в ForwardingRule, который ссылается на эту UrlMap. metadataFilters применяются только к Loadbalancer, у которых loadBalancingScheme установлено в INTERNAL_SELF_MANAGED.
filter_labels
список / элементы=словарь / обязательно
Список пар имя-значение меток, которые должны соответствовать меткам в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 элементов.
name
строка / обязательно
Имя метки метаданных. Длина имени может составлять максимум 1024 символа и должна быть не менее 1 символа.
value
строка / обязательно
Значение метки должно соответствовать указанному значению. Длина значения может составлять максимум 1024 символа.
filter_match_criteria
строка / обязательно
Указывает, как индивидуальные соответствия filterLabel в списке filterLabels вносят вклад в общее соответствие metadataFilter. Поддерживаемые значения: - MATCH_ANY: По крайней мере, одна из filterLabels должна иметь соответствующую метку в предоставленных метаданных.
- MATCH_ALL: Все filterLabels должны иметь соответствующие метки в предоставленных метаданных.
Некоторые допустимые значения включают: "MATCH_ALL", "MATCH_ANY"
prefix_match
строка
Для удовлетворения условия matchRule путь запроса должен начинаться с указанного prefixMatch. prefixMatch должен начинаться с /. Значение должно быть между 1 и 1024 символами. Только одно из prefixMatch, fullPathMatch или regexMatch должно быть указано.
query_parameter_matches
список / элементы=словарь
Указывает список критериев соответствия параметрам запроса, все из которых должны соответствовать соответствующим параметрам запроса в запросе.
exact_match
строка
queryParameterMatch соответствует, если значение параметра точно совпадает с содержимым exactMatch. Только одно из presentMatch, exactMatch и regexMatch должно быть установлено.
name
строка / обязательно
Имя параметра запроса для соответствия. Параметр запроса должен существовать в запросе, в противном случае запрос не соответствует.
present_match
boolean
    Варианты:
  • нет
  • да
Указывает, что queryParameterMatch соответствует, если запрос содержит параметр запроса, независимо от того, имеет ли параметр значение или нет. Только одно из presentMatch, exactMatch и regexMatch должно быть установлено.
regex_match
строка
queryParameterMatch соответствует, если значение параметра соответствует регулярному выражению, заданному regexMatch. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Только одно из presentMatch, exactMatch и regexMatch должно быть установлено.
regex_match
строка
Для удовлетворения условия matchRule путь запроса должен удовлетворять регулярному выражению, указанному в regexMatch, после удаления всех параметров запроса и якоря, предоставленных исходным URL-адресом. Для грамматики регулярных выражений см. en.cppreference.com/w/cpp/regex/ecmascript. Только одно из prefixMatch, fullPathMatch или regexMatch должно быть указано.
priority
целое число / обязательно
Для routeRules в заданном pathMatcher приоритет определяет порядок, в котором load balancer будет интерпретировать 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, load balancer выполняет расширенные действия маршрутизации, такие как переписывание URL, преобразование заголовков и т. д., прежде чем пересылать запрос выбранному бэкенду. Если routeAction указывает какие-либо weightedBackendServices, service не должно быть установлено. И наоборот, если service установлено, routeAction не может содержать weightedBackendServices. Только одно из routeAction или urlRedirect должно быть установлено.
cors_policy
словарь
Спецификация для разрешения кросс-доменных запросов со стороны клиента. См. рекомендации W3C по кросс-доменному обмену ресурсами.
allow_credentials
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"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
    Варианты:
  • нет
  • да
По умолчанию:
"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
целое число
Длительность, представляющая долю секунды с разрешением в наносекунды. Длительности меньше одной секунды представлены значением 0 в поле `seconds` и положительным значением в поле `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
строка / обязательно
Длительность с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
percentage
строка
Процент трафика (соединений/операций/запросов), для которого будет введена задержка в рамках введения сбоев. Значение должно быть включительно от 0.0 до 100.0.
request_mirror_policy
словарь
Указывает политику, определяющую, как запросы, предназначенные для бэкэндов маршрута, дублируются на отдельный зеркальный сервис бэкэнда. Балансировщик нагрузки не ожидает ответов от зеркального сервиса. Перед отправкой трафика на зеркальный сервис к заголовку host / authority добавляется суффикс -shadow.
backend_service
словарь / обязательно
Ресурс BackendService, на который производится дублирование.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя-ресурса` к задаче gcp_compute_backend_service, а затем установить это поле backend_service в "{{ имя-ресурса }}"
retry_policy
словарь
Указывает политику повторных попыток, связанную с этим маршрутом.
num_retries
целое число / обязательно
Указывает разрешенное количество повторных попыток. Это число должно быть > 0.
per_try_timeout
словарь
Указывает ненулевой таймаут для каждой попытки повторной обработки.
Если не указано, используется таймаут, заданный в HttpRouteAction. Если таймаут в HttpRouteAction не задан, используется максимальный таймаут среди всех сервисов бэкэнда, связанных с маршрутом.
nanos
целое число
Длительность, представляющая долю секунды с разрешением в наносекунды. Длительности меньше одной секунды представлены значением 0 в поле `seconds` и положительным значением в поле `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. В настоящее время единственная ошибка 4xx, поддерживающая повторную обработку, — это 409. * refused-stream: Балансировщик нагрузки будет пытаться повторить попытку, если сервис бэкэнда сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает на то, что повторная попытка безопасна. * cancelled: Балансировщик нагрузки будет пытаться повторить попытку, если код статуса gRPC в ответном заголовке установлен в отменённый * deadline-exceeded: Балансировщик нагрузки будет пытаться повторить попытку, если код статуса gRPC в ответном заголовке установлен в превышенный срок * resource-exhausted: Балансировщик нагрузки будет пытаться повторить попытку, если код статуса gRPC в ответном заголовке установлен в исчерпанные ресурсы * unavailable: Балансировщик нагрузки будет пытаться повторить попытку, если код статуса gRPC в ответном заголовке установлен в недоступность.
timeout
словарь
Указывает таймаут для выбранного маршрута. Таймаут вычисляется с момента полного обработки запроса (т. е. конца потока) до момента полной обработки ответа. Таймаут включает все повторные попытки. Если не указано, значение по умолчанию составляет 15 секунд.
nanos
целое число
Длительность, представляющая долю секунды с разрешением в наносекунды. Длительности меньше одной секунды представлены значением 0 в поле `seconds` и положительным значением в поле `nanos`. Должно быть от 0 до 999 999 999 включительно.
seconds
строка / обязательно
Длительность с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
url_rewrite
словарь
Описание изменения URL запроса перед пересылкой его сопоставленному сервису.
host_rewrite
строка
Перед пересылкой запроса выбранной службе заголовок хоста запроса заменяется содержимым hostRewrite. Значение должно быть между 1 и 255 символами.
path_prefix_rewrite
строка
Перед пересылкой запроса выбранной службе обратной стороны, соответствующая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть между 1 и 1024 символами.
weighted_backend_services
список / элементы=словарь
Список взвешенных служб обратной стороны, которым будет отправляться трафик при совпадении с маршрутом. Веса определяют долю трафика, направляемую в соответствующую службу обратной стороны. Если весь трафик должен идти в одну службу обратной стороны, должен быть один weightedBackendService с весом, отличным от 0. После идентификации backendService и перед пересылкой запроса службе обратной стороны применяются дополнительные действия маршрутизации, такие как перенаправление URL и преобразование заголовков, в зависимости от дополнительных настроек, указанных в HttpRouteAction.
backend_service
словарь / обязательно
Ресурс BackendService по умолчанию. Перед пересылкой запроса backendService балансировщик приложений применяет все соответствующие headerActions, указанные в рамках этого backendServiceWeight.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_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
строка / обязательно
Значение заголовка для добавления.
replace
булево / обязательно
    Варианты:
  • нет
  • да
Если ложно, headerValue добавляется к любым существующим значениям для заголовка. Если истинно, headerValue устанавливается для заголовка, отбрасывая любые значения, которые были установлены для этого заголовка.
response_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые необходимо удалить из ответа перед отправкой ответа клиенту.
weight
целое число / обязательно
Указывает долю трафика, отправляемого в backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction). Выбор службы обратной стороны определяется только для нового трафика. После того, как запрос пользователя был направлен в backendService, последующие запросы будут отправлены в тот же backendService, как определено политикой кэширования BackendService.
Значение должно быть между 0 и 1000.
service
словарь
Ресурс службы обратной стороны, в который направляется трафик, если соответствует данному правилу. Если дополнительно указан routeAction, действия продвинутой маршрутизации, такие как перенаправление URL и т.д., применяются перед отправкой запроса в службу обратной стороны. Однако, если указан service, routeAction не может содержать weightedBackendService. И наоборот, если routeAction содержит weightedBackendServices, service не должен быть указан. Только одно из urlRedirect, service или routeAction.weightedBackendService должно быть установлено.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_backend_service, а затем установить это поле service на "{{ имя-ресурса }}"
url_redirect
словарь
При соответствии этому правилу запрос перенаправляется на URL, указанный в urlRedirect. Если urlRedirect указан, service или routeAction не должны быть установлены.
host_redirect
строка
Хост, который будет использоваться в ответе о перенаправлении вместо того, который был предоставлен в запросе. Значение должно быть между 1 и 255 символами.
https_redirect
булево
    Варианты:
  • нет
  • да
По умолчанию:
"ложь"
Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как и в запросе. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys.
Установка в true для TargetHttpsProxy запрещена. По умолчанию ложно.
path_redirect
строка
Путь, который будет использоваться в ответе о перенаправлении вместо того, который был предоставлен в запросе. Только одно из pathRedirect или prefixRedirect должно быть указано. Значение должно быть между 1 и 1024 символами.
prefix_redirect
строка
Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса.
redirect_response_code
string
Код HTTP-статуса, используемый для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, которое является значением по умолчанию и соответствует 301.
* FOUND, которое соответствует 302.
* SEE_OTHER, которое соответствует 303.
* TEMPORARY_REDIRECT, которое соответствует 307. В этом случае метод запроса сохранится.
* PERMANENT_REDIRECT, которое соответствует 308. В этом случае метод запроса сохранится.
Некоторые допустимые варианты включают: "FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"
strip_query
boolean
    Варианты:
  • no
  • yes
По умолчанию:
"false"
Если установлено в true, любая часть запроса в оригинальном URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса в оригинальном URL сохраняется. По умолчанию false.
project
string
Проект Google Cloud Platform, который следует использовать.
scopes
list / elements=string
Массив используемых областей.
service_account_contents
jsonarg
Содержимое файла JSON учетной записи службы, либо в виде словаря, либо как строка JSON, его представляющая.
service_account_email
string
Необязательный адрес электронной почты учетной записи службы, если выбран machineaccount и пользователь не хочет использовать адрес электронной почты по умолчанию.
service_account_file
path
Путь к файлу JSON учетной записи службы, если тип serviceaccount выбран как тип.
state
string
    Варианты:
  • present ←
  • absent
Требуется ли наличие данного объекта в GCP
tests
list / elements=dictionary
Список ожидаемых тестов сопоставления URL. Запрос на обновление этого UrlMap будет успешным только в том случае, если пройдут все тестовые сценарии. Вы можете указать максимум 100 тестов на UrlMap.
description
string
Описание данного тестового случая.
host
string / required
Часть хоста URL.
path
string / required
Часть пути URL.
service
dictionary / required
Ожидаемый ресурс BackendService, к которому должен быть сопоставлен данный URL.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, вы можете поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. В качестве альтернативы, вы можете добавить `register: имя-ресурса` к задаче gcp_compute_backend_service, а затем установить это поле service в "{{ имя-ресурса }}"

Примечания

Примечание

  • Ссылка на API: https://cloud.google.com/compute/docs/reference/rest/v1/urlMaps
  • для аутентификации можно задать service_account_file с помощью переменной среды gcp_service_account_file.
  • для аутентификации можно задать service_account_contents с помощью переменной среды GCP_SERVICE_ACCOUNT_CONTENTS.
  • для аутентификации можно задать service_account_email с помощью переменной среды GCP_SERVICE_ACCOUNT_EMAIL.
  • для аутентификации можно задать auth_kind с помощью переменной среды GCP_AUTH_KIND.
  • для аутентификации можно задать scopes с помощью переменной среды GCP_SCOPES.
  • Значения переменных окружения будут использоваться только в том случае, если значения в плейбуке не заданы.
  • Параметры service_account_email и service_account_file взаимоисключающие.

Примеры

- name: create a instance group
  google.cloud.gcp_compute_instance_group:
    name: instancegroup-urlmap
    zone: us-central1-a
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: instancegroup

- name: create a HTTP health check
  google.cloud.gcp_compute_http_health_check:
    name: httphealthcheck-urlmap
    healthy_threshold: 10
    port: 8080
    timeout_sec: 2
    unhealthy_threshold: 5
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: healthcheck

- name: create a backend service
  google.cloud.gcp_compute_backend_service:
    name: backendservice-urlmap
    backends:
    - group: "{{ instancegroup.selfLink }}"
    health_checks:
    - "{{ healthcheck.selfLink }}"
    enable_cdn: 'true'
    project: "{{ gcp_project }}"
    auth_kind: "{{ gcp_cred_kind }}"
    service_account_file: "{{ gcp_cred_file }}"
    state: present
  register: backendservice

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

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

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

Краткое описание полей Возвращаемое значение Описание
creationTimestamp
string
success
Отметка времени создания в формате RFC3339.

defaultRouteAction
complex
success
defaultRouteAction срабатывает, когда ни одно из правил hostRules не соответствует запросу. Балансировщик выполняет расширенные действия по маршрутизации, такие как изменение URL, преобразование заголовков и т. п., перед пересылкой запроса выбранному бэкенду.
Если defaultRouteAction указывает какие-либо weightedBackendServices, то defaultService не должен быть задан. И наоборот, если defaultService задан, то defaultRouteAction не может содержать weightedBackendServices.
Только одно из defaultRouteAction или defaultUrlRedirect должно быть задано.

corsPolicy
complex
success
Спецификация для разрешения кросс-доменных запросов со стороны клиента. См. [Рекомендацию W3C для кросс-доменного обмена ресурсами](https://www.w3.org/TR/cors/).

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

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. Источник разрешен, если он соответствует элементу в allowOrigins или allowOriginRegexes.

allowOrigins
list / elements=string
success
Указывает список источников, которым разрешено выполнять запросы CORS.
Источник разрешен, если он соответствует элементу в allowOrigins или allowOriginRegexes.

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

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

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

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

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
Промежуток времени, являющийся дробью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представлены значением 0 секунд и положительным значением nanos. Должно быть от 0 до 999 999 999 включительно.

seconds
string
success
Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет.

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

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

backendService
dictionary
success
Полный или частичный URL ресурса BackendService, который будет дублироваться.

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

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

perTryTimeout
complex
success
Указывает ненулевой таймаут для каждой попытки повтора.
Если не указано, будет использоваться таймаут, заданный в HttpRouteAction. Если таймаут в HttpRouteAction не задан, будет использоваться наибольший таймаут среди всех бэкенд-служб, связанных с маршрутом.

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

seconds
string
success
Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет.

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

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

seconds
строка
успешно
Промежуток времени с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 дн/год * 10000 лет .

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

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

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

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

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

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

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

headerName
строка
успешно
Имя добавляемого заголовка.

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

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

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

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

headerName
строка
успешно
Имя добавляемого заголовка.

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

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

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

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

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

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

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

httpsRedirect
логическое
успешно
Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как и в запросе. Это должно быть установлено только для UrlMap, используемых в 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-статуса для использования в этом действии перенаправления. Допустимые значения: * MOVED_PERMANENTLY_DEFAULT, значение по умолчанию, соответствующее 301.
* FOUND, соответствующее 302.
* SEE_OTHER, соответствующее 303.
* TEMPORARY_REDIRECT, соответствующее 307. В этом случае метод запроса сохранится.
* PERMANENT_REDIRECT, соответствующее 308. В этом случае метод запроса сохранится.

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

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

fingerprint
string
success
Отпечаток этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки.

headerAction
complex
success
Указывает изменения в заголовках запроса и ответа, которые должны вступить в силу для выбранной службы backendService. Заголовок headerAction, указанный здесь, вступает в силу после заголовка headerAction, указанного в pathMatcher.

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
Список имён заголовков, которые необходимо удалить из ответа перед отправкой ответа клиенту.

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

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

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

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

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

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

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

defaultRouteAction
complex
success
defaultRouteAction вступает в силу, когда ни одно из pathRules или routeRules не соответствует. Балансировщик нагрузки выполняет продвинутые действия по маршрутизации, такие как изменение URL, преобразование заголовков и т. д., прежде чем перенаправлять запрос на выбранный бэкенд. Если defaultRouteAction указывает какие-либо weightedBackendServices, defaultService не должен быть установлен.
И наоборот, если установлен defaultService, defaultRouteAction не должен содержать weightedBackendServices.
Только одно из defaultRouteAction или defaultUrlRedirect должно быть установлено.

corsPolicy
complex
success
Спецификация для разрешения кросс-доменных запросов со стороны клиента. См. [Рекомендацию W3C для совместного использования ресурсов через домен](https://www.w3.org/TR/cors/).

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

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. Источник разрешен, если он соответствует либо элементу в allowOrigins, либо элементу в allowOriginRegexes.

allowOrigins
list / elements=string
success
Указывает список источников, которым разрешено выполнять запросы CORS.
Источник разрешен, если он соответствует либо элементу в allowOrigins, либо элементу в allowOriginRegexes.

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

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

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

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

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
Продолжительность, которая представляет собой дробь секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем «0 секунд» и положительным полем «наносекунды». Должно быть от 0 до 999 999 999 включительно.

seconds
string
success
Продолжительность с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет .

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

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

backendService
dictionary
success
Полный или частичный URL ресурса BackendService, который должен быть дублирован.

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

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

perTryTimeout
complex
success
Указывает ненулевой таймаут для каждой попытки повтора.
Если не указано, используется таймаут, установленный в HttpRouteAction. Если таймаут в HttpRouteAction не установлен, используется наибольший таймаут среди всех бэкенд-сервисов, связанных с маршрутом.

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

seconds
string
success
Продолжительность с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет .

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

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

seconds
string
success
Продолжительность с разрешением в секунды. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет .

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

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

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

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

backendService
dictionary
success
Полный или частичный URL ресурса BackendService по умолчанию. Перед пересылкой запроса на backendService балансировщик приложений применяет все соответствующие действия с заголовками, указанные в рамках этого backendServiceWeight.

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

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

headerName
string
success
Имя заголовка для добавления.

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

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

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

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

headerName
string
success
Имя заголовка для добавления.

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

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

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

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

defaultService
dictionary
success
Полный или частичный URL ресурса BackendService. Используется, если ни одно из правил pathRules или routeRules, определённых этим PathMatcher, не соответствует запросу. Например, следующие URL являются допустимыми URL-адресами ресурса BackendService: - https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService Если дополнительно указано defaultRouteAction, расширенные действия маршрутизации, такие как перенаправление URL, применяются перед отправкой запроса на бэкэнд. Однако, если указан defaultService, defaultRouteAction не может содержать weightedBackendServices. И наоборот, если defaultRouteAction содержит weightedBackendServices, defaultService не должен быть указан.
Должен быть указан только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService. Для авторизации требуется одно или несколько следующих разрешений Google IAM на указанный ресурс defaultService: - compute.backendBuckets.use - compute.backendServices.use.

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

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 сохраняется.

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

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

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
Список имён заголовков, которые необходимо удалить из ответа перед отправкой ответа клиенту.

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

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

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

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

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

allowCredentials
boolean
success
В ответ на запрос preflight, установка этого значения в 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 отключена.

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

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

faultInjectionPolicy
complex
success
Указывает спецификацию введения сбоев в трафик для проверки устойчивости клиентов к сбоям службы бэкенда. В рамках введения сбоев, когда клиенты отправляют запросы на службу бэкенда, балансировщик нагрузки может вводить задержки на проценте запросов до отправки запросов на службу бэкенда. Аналогичным образом запросы от клиентов могут быть прерваны балансировщиком нагрузки на проценте запросов. 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 не ждет ответов от зеркального сервиса. Перед отправкой трафика зеркальному сервису заголовку host / authority добавляется суффикс -shadow.

backendService
dictionary
success
Ресурс BackendService, к которому производится зеркалирование.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

имяЗаголовка
строка
успешно
Имя заголовка.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

имяЗаголовка
строка
успешно
Имя заголовка.

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

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

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

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

имяЗаголовка
строка
успешно
Имя заголовка.

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
Спецификация для введения ошибок в трафик для тестирования устойчивости клиентов к сбоям службы бэкенда. В рамках введения ошибок, когда клиенты отправляют запросы на службу бэкенда, балансировщик нагрузки может вводить задержки для определенного процента запросов перед отправкой этих запросов на службу бэкенда. Аналогичным образом балансировщик нагрузки может прерывать запросы клиентов для определенного процента запросов. 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 включительно.

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

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

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

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

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

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

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

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

условияПовторныхПопыток
список / элементы=строка
успех
Указывает одно или несколько условий, когда применяется это правило повторных попыток. Допустимые значения:
* 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

service
dictionary
success
Ресурс backend service, на который направляется трафик, если это правило совпадает. Если дополнительно указан routeAction, применяются расширенные действия маршрутизации, такие как URL Rewrites и т. д., перед отправкой запроса на backend. Однако, если указан 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 перед перенаправлением запроса.

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.

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

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

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

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

service
dictionary
success
Ожидаемый ресурс BackendService, к которому должен быть сопоставлен данный 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_url_map_module.html

Spec-Zone.ru

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