Spec-Zone.ru › Ansible 2.10

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

Примечание

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

Для его установки используйте: 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 не соответствует запросу. Балансировщик нагрузки выполняет расширенные действия маршрутизации, такие как переписывание URL, преобразование заголовков и т. д., прежде чем перенаправлять запрос на выбранный бэкенд.
Если defaultRouteAction указывает какие-либо weightedBackendServices, defaultService не должен быть задан. И наоборот, если defaultService задан, defaultRouteAction не может содержать какие-либо weightedBackendServices.
Должно быть задано только одно из defaultRouteAction или defaultUrlRedirect.
cors_policy
словарь
Спецификация для разрешения кросс-доменных запросов со стороны клиента. См. [Рекомендацию W3C для кросс-доменного обмена ресурсами](https://www.w3.org/TR/cors/).
allow_credentials
логическое значение
    Варианты:
  • нет
  • да
Значение по умолчанию:
"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
логическое значение
    Варианты:
  • нет
  • да
Значение по умолчанию:
"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
словарь
Указывает политику того, как запросы, предназначенные для бэкендов маршрута, дублируются для отдельной зеркальной бэкенд-службы.
Балансировщик нагрузки не ждет ответов от зеркальной службы. Перед отправкой трафика на зеркальную службу к заголовкам 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 для секунд и положительным значением для наносекунд. Должно быть от 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 секунд и положительным значением nanos. Должно быть от 0 до 999 999 999 включительно.
seconds
строка
Продолжительность времени с разрешением в секунду. Должно быть от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет .
url_rewrite
словарь
Спецификация для изменения URL запроса перед пересылкой запроса на соответствующий сервис.
host_rewrite
строка
Перед пересылкой запроса на выбранный сервис заголовок хоста запроса заменяется содержимым hostRewrite.
Значение должно быть между 1 и 255 символами.
path_prefix_rewrite
строка
Перед пересылкой запроса на выбранный сервер приложений соответствующая часть пути запроса заменяется на pathPrefixRewrite.
Значение должно быть между 1 и 1024 символами.
weighted_backend_services
список / элементы=словарь
Список взвешенных серверов приложений, которым необходимо отправить трафик при совпадении маршрута.
Веса определяют долю трафика, направляемого на соответствующий сервер приложений.
Если весь трафик необходимо направить на один сервер приложений, должен быть один weightedBackendService с весом, отличным от 0.
После определения backendService и перед пересылкой запроса на сервер приложений применяются расширенные действия по маршрутизации, такие как перенаправление URL и преобразование заголовков, в зависимости от дополнительных параметров, указанных в этом HttpRouteAction.
backend_service
словарь
Полный или частичный URL ресурса 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
булево
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если false, headerValue добавляется к уже существующим значениям заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее установленные значения для этого заголовка.
request_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые необходимо удалить из запроса перед пересылкой запроса на backendService.
response_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить в ответ перед отправкой ответа обратно клиенту.
header_name
строка
Имя заголовка, который нужно добавить.
header_value
строка
Значение заголовка, которое нужно добавить.
replace
булево
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если false, headerValue добавляется к уже существующим значениям заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее установленные значения для этого заголовка.
response_headers_to_remove
список / элементы=строка
Список имён заголовков для заголовков, которые необходимо удалить из ответа перед отправкой ответа обратно клиенту.
weight
целое число
Указывает долю трафика, направляемого на backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction).
Выбор сервера приложений определяется только для нового трафика. После того, как запрос пользователя был направлен на backendService, последующие запросы будут отправлены на тот же backendService, что и определено политикой аффинити сеансов BackendService.
Значение должно быть между 0 и 1000.
default_service
словарь
Полный или частичный 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
словарь
Когда ни один из указанных hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если defaultUrlRedirect указан, defaultService или defaultRouteAction не должны быть установлены.
host_redirect
строка
Хост, который будет использован в ответе перенаправления вместо хоста, указанного в запросе. Значение должно быть между 1 и 255 символами.
https_redirect
логическое
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в значение true, схема URL в запросе перенаправления устанавливается в https. Если установлено в значение false, схема URL перенаправляемого запроса останется такой же, как и в исходном запросе. Это свойство должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в значение true для TargetHttpsProxy запрещена. По умолчанию установлено в значение false.
path_redirect
строка
Путь, который будет использован в ответе перенаправления вместо пути, указанного в запросе. pathRedirect не может быть указан вместе с prefixRedirect. Укажите один из них или ни одного. Если ни один не указан, путь исходного запроса будет использован для перенаправления. Значение должно быть между 1 и 1024 символами.
prefix_redirect
строка
Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса.
prefixRedirect не может быть указан вместе с pathRedirect. Укажите один из них или ни одного. Если ни один не указан, путь исходного запроса будет использован для перенаправления. Значение должно быть между 1 и 1024 символами.
redirect_response_code
строка
Код HTTP-статуса, используемый для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, которое является значением по умолчанию и соответствует 301.
* FOUND, которое соответствует 302.
* SEE_OTHER, которое соответствует 303.
* TEMPORARY_REDIRECT, которое соответствует 307. В этом случае метод запроса будет сохранён.
* PERMANENT_REDIRECT, которое соответствует 308. В этом случае метод запроса будет сохранён.
Некоторые допустимые значения включают: "FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"
strip_query
логическое
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в значение true, любая сопутствующая часть запроса исходного URL удаляется перед перенаправлением запроса. Если установлено в значение false, часть запроса исходного URL сохраняется. По умолчанию установлено в значение false.
description
строка
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
env_type
строка
Указывает, в какой среде Ansible вы запускаете этот модуль.
Это не должно быть установлено, если вы не знаете, что делаете.
Это изменяет только строку User Agent для любых запросов к API.
header_action
словарь
Указывает изменения в заголовках запроса и ответа, которые должны быть применены для выбранной службы backendService. Заголовки headerAction, указанные здесь, применяются после заголовков headerAction, указанных в pathMatcher.
request_headers_to_add
список / элементы=словарь
Заголовки, которые необходимо добавить к соответствующему запросу перед пересылкой запроса в backendService.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение заголовка для добавления.
replace
логическое / обязательно
    Варианты:
  • нет
  • да
Если false, headerValue добавляется к уже существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, удаляя любые ранее установленные значения для этого заголовка.
request_headers_to_remove
список / элементы=строка
Список имён заголовков, которые необходимо удалить из запроса перед пересылкой запроса в backendService.
response_headers_to_add
список / элементы=словарь
Заголовки для добавления в ответ перед отправкой ответа обратно клиенту.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение заголовка для добавления.
replace
логическое / обязательно
    Варианты:
  • нет
  • да
Если false, headerValue добавляется к уже существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, удаляя любые ранее установленные значения для этого заголовка.
response_headers_to_remove
список / элементы=строка
Список имён заголовков, которые необходимо удалить из ответа перед отправкой ответа обратно клиенту.
host_rules
список / элементы=словарь
Список HostRules для использования с URL.
description
строка
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
hosts
список / элементы=строка / обязательно
Список шаблонов хостов для соответствия. Они должны быть допустимыми именами хостов, за исключением *, который будет соответствовать любой строке ([a-z0-9-.]*). В этом случае * должен быть первым символом и должен быть после него в шаблоне - или .
path_matcher
строка / обязательно
Имя PathMatcher для использования для сопоставления части пути URL, если hostRule соответствует части хоста URL.
name
строка / обязательно
Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению `[a-z]([-a-z0-9]*[a-z0-9])?`, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире.
path_matchers
список / элементы=словарь
Список именованных PathMatchers для использования с URL.
default_route_action
словарь
defaultRouteAction применяется, когда ни один из pathRules или routeRules не соответствует. Балансировщик нагрузки выполняет расширенные действия по маршрутизации, такие как переписывание URL, преобразование заголовков и т. д., прежде чем пересылать запрос выбранному бэкенду. Если defaultRouteAction указывает какие-либо weightedBackendServices, defaultService не должен быть установлен.
И наоборот, если defaultService установлен, defaultRouteAction не может содержать какие-либо weightedBackendServices.
Только одно из defaultRouteAction или defaultUrlRedirect должно быть установлено.
cors_policy
словарь
Указание для разрешения запросов cross-origin со стороны клиента. Пожалуйста, см. [W3C Рекомендацию по Cross Origin Resource Sharing](https://www.w3.org/TR/cors/) .
allow_credentials
логическое
    Варианты:
  • нет
  • да
По умолчанию:
"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
булево
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если true, указывает, что политика CORS отключена. Значение по умолчанию — false, что означает, что политика CORS активна.
expose_headers
список / элементы=строка
Указывает содержимое заголовка Access-Control-Expose-Headers.
max_age
целое число
Указывает, как долго результаты предварительного запроса могут кешироваться в секундах.
Это соответствует заголовку Access-Control-Max-Age.
fault_injection_policy
словарь
Описание политики введения ошибок в трафик для проверки устойчивости клиентов к сбоям в работе бэкенд-службы.
В рамках введения ошибок, когда клиенты отправляют запросы бэкенд-службе, Loadbalancer может вводить задержки в определённом проценте запросов перед отправкой запроса бэкенд-службе. Аналогично, Loadbalancer может прерывать запросы клиентов в определённом проценте случаев.
Клиенты, настроенные с политикой faultInjectionPolicy, проигнорируют timeout и retryPolicy.
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
словарь
Указывает политику, определяющую, как запросы, предназначенные для бэкенд-служб маршрута, дублируются в отдельный сервисе-зеркале.
Loadbalancer не ожидает ответов от сервиса-зеркала. Перед отправкой трафика сервису-зеркалу заголовок 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
список / элементы=строка
Определяет один или несколько условий, когда применяется это правило повторных попыток. Допустимые значения:
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
словарь
Указывает таймаут для выбранного маршрута. Таймаут вычисляется с момента полного обработки запроса (т.е. конца потока) до момента полной обработки ответа. Таймаут включает все повторные попытки.
Если не указано, будет использоваться наибольший таймаут среди всех бэкенд-служб, связанных с маршрутом.
nanos
целое число
Продолжительность времени, которая является дробью секунды с разрешением наносекунды. Продолжительности меньше одной секунды представлены с полем 0 секунд и положительным полем nanos. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
строка
Продолжительность времени с разрешением в секунду. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
Примечание: эти границы вычислены из: 60 сек/мин * 60 мин/ч * 24 ч/сут * 365,25 сут/год * 10000 лет.
url_rewrite
словарь
Спецификация для изменения URL запроса перед передачей его соответствующей службе.
host_rewrite
строка
Перед передачей запроса выбранной службе заголовок хоста запроса заменяется содержимым hostRewrite.
Значение должно быть от 1 до 255 символов.
path_prefix_rewrite
строка
Перед передачей запроса выбранной службе, соответствующая часть пути запроса заменяется на pathPrefixRewrite.
Значение должно быть от 1 до 1024 символов.
weighted_backend_services
список / элементы=словарь
Список весовых служб бэкенда, которым следует отправлять трафик при совпадении маршрута.
Веса определяют долю трафика, которая перенаправляется на соответствующую службу бэкенда.
Если весь трафик должен идти на одну службу бэкенда, должен быть один weightedBackendService с весом, отличным от 0.
После определения службы бэкенда и перед передачей запроса службе бэкенда применяются дополнительные действия маршрутизации, такие как перенаправление URL и преобразование заголовков, в зависимости от дополнительных настроек, указанных в данном HttpRouteAction.
backend_service
словарь
Полный или частичный URL ресурса BackendService по умолчанию. Перед пересылкой запроса backendService балансировщик приложений применяет все соответствующие заголовки, указанные в рамках этого 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
логический
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если false, headerValue добавляется к существующим значениям заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая любые предыдущие значения.
request_headers_to_remove
список / элементы=строка
Список имён заголовков, которые нужно удалить из запроса перед передачей его backendService.
response_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить в ответ перед отправкой его клиенту.
header_name
строка
Имя добавляемого заголовка.
header_value
строка
Значение добавляемого заголовка.
replace
логический
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если false, headerValue добавляется к существующим значениям заголовка.
Если true, headerValue устанавливается для заголовка, отбрасывая любые предыдущие значения.
response_headers_to_remove
список / элементы=строка
Список имён заголовков, которые нужно удалить из ответа перед отправкой его клиенту.
weight
целое число
Определяет долю трафика, отправляемого на backendService, вычисляемую как weight / (сумма всех весов weightedBackendService в routeAction).
Выбор службы бэкенда определяется только для нового трафика. После того, как запрос пользователя был направлен на backendService, последующие запросы будут отправляться на ту же backendService, как определено политикой аффинирования сеансов BackendService.
Значение должно быть от 0 до 1000.
default_service
словарь
Полный или частичный 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
словарь
Если ни один из указанных hostRules не совпадает, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть заданы.
host_redirect
строка
Хост, который будет использован в ответе о перенаправлении вместо того, что был предоставлен в запросе. Значение должно быть от 1 до 255 символов.
https_redirect
логический
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как у запроса. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.
path_redirect
строка
Путь, который будет использован в ответе о перенаправлении вместо пути, предоставленного в запросе. pathRedirect не может быть указан вместе с prefixRedirect. Укажите один из них или ни одного. Если ни один не указан, путь оригинального запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.
prefix_redirect
string
Префикс, который заменяет префиксMatch, указанный в 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 сохраняется.
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
    Варианты:
  • нет
  • да
Если 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
    Варианты:
  • нет
  • да
Если 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
    Варианты:
  • нет
  • да
По умолчанию:
"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
    Варианты:
  • нет
  • да
Если true, указывает, что политика CORS отключена.
expose_headers
list / elements=string
Указывает содержимое заголовка Access-Control-Expose-Headers.
max_age
integer
Указывает, как долго результаты предзапроса могут кэшироваться. Это соответствует содержимому заголовка Access-Control-Max-Age.
fault_injection_policy
словарь
Спецификация для введения ошибок в трафик для проверки устойчивости клиентов к отказу сервера бэкенда. В рамках введения ошибок, при отправке клиентами запросов к серверу бэкенда, задержки могут быть введены балансировщиком нагрузки для определенного процента запросов перед отправкой этих запросов на сервер бэкенда. Аналогично, запросы от клиентов могут быть прерваны балансировщиком нагрузки для определенного процента запросов. Параметры timeout и retry_policy будут игнорироваться клиентами, которые настроены с политикой fault_injection_policy.
abort
словарь
Спецификация того, как запросы клиентов прерываются в рамках введения ошибок.
http_status
целое число / обязательно
Код HTTP-статуса, используемый для прерывания запроса. Значение должно быть в диапазоне от 200 до 599 включительно.
percentage
строка / обязательно
Процент трафика (соединений/операций/запросов), который будет прерван в рамках введения ошибок. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
delay
словарь
Спецификация того, как запросы клиентов задерживаются в рамках введения ошибок перед отправкой на сервер бэкенда.
fixed_delay
словарь / обязательно
Указывает значение интервала фиксированной задержки.
nanos
целое число
Продолжительность времени, которая представляет собой дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем `seconds` со значением 0 и положительным полем `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
строка / обязательно
Продолжительность времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
percentage
строка / обязательно
Процент трафика (соединений/операций/запросов), для которого будет введена задержка в рамках введения ошибок. Значение должно быть в диапазоне от 0,0 до 100,0 включительно.
request_mirror_policy
словарь
Указывает политику того, как запросы, предназначенные для бэкендов маршрута, дублируются в отдельный сервер-дублер бэкенда. Балансировщик нагрузки не ожидает ответов от дублирующего сервера. Перед отправкой трафика на дублирующий сервер заголовок хоста / authority дополняется -shadow.
backend_service
словарь / обязательно
Ресурс BackendService, который дублируется.
Это поле представляет ссылку на ресурс BackendService в GCP. Его можно указать двумя способами. Во-первых, можно поместить словарь с ключом 'selfLink' и значением selfLink вашего ресурса. Во-вторых, можно добавить `register: имя-ресурса` в задачу gcp_compute_backend_service, а затем установить это поле backend_service в "{{ имя-ресурса }}"
retry_policy
словарь
Указывает политику повторных попыток, связанную с этим маршрутом.
num_retries
целое число
Указывает разрешенное количество повторных попыток. Это число должно быть > 0.
per_try_timeout
словарь
Указывает ненулевой таймаут на каждую попытку повторной отправки.
nanos
целое число
Продолжительность времени, которая представляет собой дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем `seconds` со значением 0 и положительным полем `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
строка / обязательно
Продолжительность времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
retry_conditions
список / элементы=строка
Указывает одно или несколько условий, при которых применяется это правило повторной попытки. Допустимые значения: - 5xx: Loadbalancer попытается повторить попытку, если сервер бэкенда ответит любым кодом статуса 5xx или вообще не ответит, например: отключения, сбросы, таймауты чтения, сбои соединения и отказ потоков.
- gateway-error: Аналогично 5xx, но применяется только к кодам ответов 502, 503 или 504.
- connect-failure: Loadbalancer повторит попытку при сбоях подключения к серверам бэкенда, например, из-за таймаутов подключения.
- retriable-4xx: Loadbalancer повторит попытку для обрабатываемых кодов ответов 4xx.
В настоящее время единственная поддерживаемая ошибка повторной попытки — 409.
- refused-stream: Loadbalancer повторит попытку, если сервер бэкенда сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает, что повторная попытка безопасна.
- cancelled: Loadbalancer повторит попытку, если код статуса gRPC в заголовке ответа установлен в cancelled - deadline-exceeded: Loadbalancer повторит попытку, если код статуса gRPC в заголовке ответа установлен в deadline-exceeded - resource-exhausted: Loadbalancer повторит попытку, если код статуса gRPC в заголовке ответа установлен в resource-exhausted - unavailable: Loadbalancer повторит попытку, если код статуса gRPC в заголовке ответа установлен в unavailable.
timeout
словарь
Указывает таймаут для выбранного маршрута. Таймаут вычисляется с момента полного обработки запроса (т. е. окончания потока) до момента полной обработки ответа. Таймаут включает все повторные попытки. Если не указано, значение по умолчанию составляет 15 секунд.
nanos
целое число
Продолжительность времени, которая представляет собой дробную часть секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены полем `seconds` со значением 0 и положительным полем `nanos`. Должно быть в диапазоне от 0 до 999 999 999 включительно.
seconds
строка / обязательно
Продолжительность времени с разрешением в секунды. Должно быть в диапазоне от 0 до 315 576 000 000 включительно.
url_rewrite
словарь
Спецификация для изменения URL-адреса запроса перед переадресацией запроса к соответствующей службе.
host_rewrite
строка
Перед переадресацией запроса к выбранной службе заголовок хоста запроса заменяется содержимым hostRewrite. Значение должно быть в диапазоне от 1 до 255 символов.
path_prefix_rewrite
строка
Перед переадресацией запроса к выбранному серверу бэкенда соответствующая часть пути запроса заменяется на pathPrefixRewrite. Значение должно быть в диапазоне от 1 до 1024 символов.
weighted_backend_services
список / элементы=словарь
Список весовых параметров бэкенд-сервисов, к которым будет направлен трафик при совпадении маршрута. Веса определяют долю трафика, направляемого к соответствующему бэкенд-сервису. Если весь трафик должен направляться к одному бэкенд-сервису, должен быть один weightedBackendService с весом, отличным от 0. После определения backendService и перед перенаправлением запроса на бэкенд-сервис применяются дополнительные действия маршрутизации, такие как изменение URL и преобразование заголовков, в зависимости от дополнительных параметров, указанных в HttpRouteAction.
backend_service
словарь / обязательно
Ресурс BackendService по умолчанию. Перед перенаправлением запроса на backendService, балансировщик нагрузки применяет все соответствующие действия с заголовками, указанные в качестве части 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, как определено политикой affinity сессии 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
логическое значение
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в true, схема URL в перенаправленном запросе устанавливается в https.
Если установлено в false, схема URL перенаправленного запроса останется такой же, как в запросе. Это должно быть установлено только для UrlMap, используемых в TargetHttpProxys. Установка в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.
path_redirect
строка
Путь, который будет использоваться в ответе перенаправления вместо предоставленного в запросе. pathRedirect нельзя указывать вместе с prefixRedirect. Укажите одно из них или ни одного. Если ни то, ни другое не указано, путь из исходного запроса будет использован для перенаправления.
Значение должно быть между 1 и 1024 символами.
prefix_redirect
строка
Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса. prefixRedirect нельзя указывать вместе с pathRedirect. Укажите одно из них или ни одного. Если ни то, ни другое не указано, путь из исходного запроса будет использован для перенаправления. Значение должно быть между 1 и 1024 символами.
redirect_response_code
строка
HTTP-код состояния, который нужно использовать для этого RedirectAction. Поддерживаемые значения: * MOVED_PERMANENTLY_DEFAULT, которое является значением по умолчанию и соответствует 301.
* FOUND, которое соответствует 302.
* SEE_OTHER, которое соответствует 303.
* TEMPORARY_REDIRECT, которое соответствует 307. В этом случае метод запроса сохранится.
* PERMANENT_REDIRECT, которое соответствует 308. В этом случае метод запроса сохранится.
Некоторые допустимые значения включают: "FOUND", "MOVED_PERMANENTLY_DEFAULT", "PERMANENT_REDIRECT", "SEE_OTHER", "TEMPORARY_REDIRECT"
strip_query
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в true, любая часть запроса из исходного URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса исходного URL сохраняется.
route_rules
список / элементы=словарь
Список упорядоченных правил маршрутизации HTTP. Используйте этот список вместо pathRules, когда требуются расширенное сопоставление маршрутов и действия маршрутизации. Порядок указания routeRules имеет значение: первое совпавшее правило вызовет указанное действие маршрутизации. В рамках заданного pathMatcher должен быть установлен только один из pathRules или routeRules. routeRules не поддерживаются в UrlMaps, предназначенных для внешних балансировщиков нагрузки.
header_action
словарь
Указывает изменения в заголовках запроса и ответа, которые должны вступить в силу для выбранной backendService. Заголовки, указанные в headerAction, применяются перед соответствующими pathMatchers[].headerAction и после pathMatchers[].routeRules[].r outeAction.weightedBackendService.backendServiceWeightAction[].headerAction.
request_headers_to_add
список / элементы=словарь
Заголовки, которые нужно добавить к соответствующему запросу перед передачей запроса backendService.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение заголовка для добавления.
replace
boolean / обязательно
    Варианты:
  • нет
  • да
Если false, headerValue добавляется к уже существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее заданные значения для этого заголовка.
request_headers_to_remove
список / элементы=строка
Список имён заголовков, которые нужно удалить из запроса перед передачей его backendService.
response_headers_to_add
список / элементы=словарь
Заголовки для добавления в ответ перед отправкой ответа клиенту.
header_name
строка / обязательно
Имя заголовка.
header_value
строка / обязательно
Значение заголовка для добавления.
replace
boolean / обязательно
    Варианты:
  • нет
  • да
Если false, headerValue добавляется к уже существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, отбрасывая любые ранее заданные значения для этого заголовка.
response_headers_to_remove
список / элементы=строка
Список имён заголовков, которые нужно удалить из ответа перед отправкой его клиенту.
match_rules
список / элементы=словарь
Правила определения соответствия.
full_path_match
строка
Для удовлетворения условия matchRule путь запроса должен точно совпадать со значением в fullPathMatch после удаления любых параметров запроса и якоря, которые могут быть частью исходного URL. FullPathMatch должен быть длиной от 1 до 1024 символов. Должен быть указан только один из prefixMatch, fullPathMatch или regexMatch.
header_matches
список / элементы=словарь
Указывает список критериев соответствия заголовков, все из которых должны соответствовать соответствующим заголовкам в запросе.
exact_match
строка
Значение должно точно совпадать с содержимым exactMatch. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
header_name
строка / обязательно
Имя HTTP-заголовка для сопоставления. Для сопоставления с авторитетом HTTP-запроса используйте headerMatch со значением headerName ":authority". Для сопоставления метода запроса используйте headerName ":method".
invert_match
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если установлено в false, headerMatch считается совпадением, если вышеуказанные критерии соответствия выполнены. Если установлено в true, headerMatch считается совпадением, если вышеуказанные критерии соответствия НЕ выполнены. По умолчанию false.
prefix_match
строка
Значение заголовка должно начинаться с содержимого prefixMatch. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
present_match
boolean
    Варианты:
  • нет
  • да
Должен существовать заголовок со значением headerName. Совпадение происходит независимо от того, есть ли у запроса значение для заголовка или нет. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
range_match
словарь
Значение заголовка должно быть целым числом и находиться в указанном диапазоне в rangeMatch. Если заголовок не содержит целого числа, числа или пуст, сопоставление не выполняется. Например, для диапазона [-5, 0] - -3 будет соответствовать. - 0 не будет соответствовать. - 0.25 не будет соответствовать. - -3someString не будет соответствовать. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
range_end
целое число / обязательно
Конец диапазона (исключительно).
range_start
целое число / обязательно
Начало диапазона (включительно).
regex_match
строка
Значение заголовка должно соответствовать регулярному выражению, указанному в regexMatch. Для грамматики регулярных выражений см.: en.cppreference.com/w/cpp/regex/ecmascript Для сопоставления порта, указанного в HTTP-запросе, используйте headerMatch с headerName, установленным в PORT, и регулярное выражение, которое удовлетворяет спецификатору порта заголовка Host RFC2616.
Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
suffix_match
строка
Значение заголовка должно оканчиваться содержимым suffixMatch. Должен быть указан только один из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.
ignore_case
boolean
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Указывает, что соответствия prefixMatch и fullPathMatch чувствительны к регистру.
По умолчанию значение ложь.
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
булево
    Варианты:
  • нет
  • да
Указывает, что 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
булево
    Варианты:
  • нет
  • да
По умолчанию:
"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. Источник разрешен, если он соответствует либо allow_origins, либо allow_origin_regex.
allow_origins
список / элементы=строка
Указывает список источников, которым разрешено выполнять запросы CORS. Источник разрешен, если он соответствует либо allow_origins, либо allow_origin_regex.
disabled
булево
    Варианты:
  • нет
  • да
По умолчанию:
"false"
Если значение true, указывает, что политика CORS отключена.
что указывает на то, что политика CORS активна. По умолчанию значение ложь.
expose_headers
список / элементы=строка
Указывает содержимое заголовка Access-Control-Expose-Headers.
max_age
целое число
Указывает, как долго результаты предварительного запроса могут кэшироваться. Это соответствует содержимому заголовка Access-Control-Max-Age.
fault_injection_policy
словарь
Спецификация для введения сбоев в трафик для проверки устойчивости клиентов к отказу службы бэкенда. В рамках введения сбоев, при отправке клиентами запросов на службу бэкенда, задержки могут быть введены Loadbalancer в проценте запросов перед отправкой этих запросов на службу бэкенда. Точно так же запросы от клиентов могут быть прерваны Loadbalancer в проценте запросов. 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
словарь
Указывает политику того, как запросы, предназначенные для бэкендов маршрута, дублируются в отдельной зеркальной службе бэкенда. Loadbalancer не ожидает ответов от зеркальной службы. Перед отправкой трафика в зеркальную службу заголовок 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: Loadbalancer предпримет повторную попытку, если служба бэкенда ответит любым кодом статуса 5xx или вообще не ответит, например: разъединения, сбросы, таймауты чтения, сбои подключения и отказ потоков.
- gateway-error: Аналогично 5xx, но применяется только к кодам ответов 502, 503 или 504.
- connect-failure: Loadbalancer будет повторять попытки подключения к службам бэкенда, например, из-за таймаутов подключения.
- retriable-4xx: Loadbalancer будет повторять попытки для корректируемых кодов ответов 4xx.
В настоящее время единственная поддерживаемая ошибка повторной попытки — 409.
- refused-stream: Loadbalancer повторит попытку, если служба бэкенда сбросит поток с кодом ошибки REFUSED_STREAM. Этот тип сброса указывает, что повторная попытка безопасна.
- cancelled: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в cancelled.
- deadline-exceeded: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в deadline-exceeded.
- resource-exhausted: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в resource-exhausted.
- unavailable: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен в unavailable.
timeout
словарь
Указывает таймаут для выбранного маршрута. Таймаут вычисляется с момента полного обработки запроса (т. е. окончания потока) до полного завершения обработки ответа. Таймаут включает все повторные попытки. Если не указано, значение по умолчанию составляет 15 секунд.
nanos
целое число
Продолжительность времени, являющаяся дробью секунды с разрешением в наносекунды. Продолжительности менее одной секунды представлены значением 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
строка
Префикс, который заменяет префиксMatch, указанный в 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: name-of-resource` в задачу gcp_compute_backend_service и затем установить это поле service на "{{ name-of-resource }}"

Примечания

Примечание

  • Справочник 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.
  • Значения переменных среды будут использоваться только в том случае, если значения в playbook не установлены.
  • Параметры 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
строка
success
Марка времени создания в формате RFC3339.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

nanos
integer
success
Продолжительность, которая является дробью секунды с разрешением в наносекунды. Продолжительности меньше одной секунды представляются полем 0 секунд и положительным полем nanos. Должно быть от 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 ресурса default BackendService. Перед пересылкой запроса на backendService балансировщик применит все соответствующие headerActions, указанные в рамках данного backendServiceWeight.

headerAction
complex
success
Указывает изменения запросов и ответов, которые необходимо применить для выбранного backendService.
headerAction, указанные здесь, применяются до headerAction во вложенных HttpRouteRule, PathMatcher и 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
Список имён заголовков, которые необходимо удалить из ответа перед отправкой клиенту.

weight
integer
success
Указывает долю трафика, отправляемого на backendService, вычисляемую как weight / (сумма всех weightedBackendService весов в routeAction).
Выбор бэкенд-сервиса определяется только для нового трафика. После того, как запрос пользователя был перенаправлен на backendService, последующие запросы будут отправлены тому же backendService, как определено политикой affinity сессии 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 перенаправленного запроса останется такой же, как у запроса. Это должно быть установлено только для UrlMaps, используемых в TargetHttpProxys. Установка в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.

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

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

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

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

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
В ответ на запрос предварительной проверки, установка этого значения в 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
Указывает, как долго результаты запроса предварительной проверки могут кешироваться. Это отражается в содержимом заголовка 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
Перед пересылкой запроса на выбранную службу заголовок хоста запроса заменяется содержимым hostRewrite. Значение должно быть от 1 до 255 символов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

бэкендСервис
словарь
успех
Ресурс 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 в заголовке ответа установлен на отменённый - deadline-exceeded: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен на превышение срока - resource-exhausted: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен на исчерпание ресурсов - unavailable: Loadbalancer повторит попытку, если код состояния gRPC в заголовке ответа установлен на недоступен.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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-сервиса определяется только для нового трафика. После того, как запрос пользователя был перенаправлен на backendService, последующие запросы будут отправлены на тот же backendService, как определено политикой сессионной аффинити backendService.
Значение должно быть от 0 до 1000.

service
dictionary
success
Ресурс backend-сервиса, которому направляется трафик, если правило совпало. Если routeAction также указан, выполняются продвинутые действия маршрутизации, такие как перенаправление URL и т. д., прежде чем запрос будет отправлен на 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/google/cloud/gcp_compute_url_map_module.html

Spec-Zone.ru

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