Spec-Zone.ru › Ansible

Модуль google.cloud.gcp_compute_region_url_map — создание GCP RegionUrlMap

Примечание

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

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

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

Чтобы использовать модуль в плейбуке, укажите: google.cloud.gcp_compute_region_url_map.

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

Краткое описание

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

Требования

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

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

Параметры

Параметр

Комментарии

access_token

string

Токен доступа OAuth2, если тип учетных данных — accesstoken.

auth_kind

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

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

Варианты:

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

default_service

dictionary

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

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

default_url_redirect

dictionary

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

host_redirect

string

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

https_redirect

boolean

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

Варианты:

  • false
  • true

path_redirect

string

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

prefix_redirect

string

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

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

redirect_response_code

string

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

* FOUND — соответствует коду 302.

* SEE_OTHER — соответствует коду 303.

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

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

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

strip_query

boolean

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

Варианты:

  • false
  • true

description

string

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

env_type

string

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

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

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

host_rules

list / elements=dictionary

Список правил HostRules для сопоставления с URL.

description

string

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

hosts

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

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

path_matcher

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

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

name

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

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

path_matchers

list / elements=dictionary

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

default_service

dictionary

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

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

default_url_redirect

dictionary

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

host_redirect

string

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

https_redirect

boolean

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

Варианты:

  • false
  • true

path_redirect

string

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

prefix_redirect

string

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

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

redirect_response_code

string

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

* FOUND — соответствует коду 302.

* SEE_OTHER — соответствует коду 303.

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

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

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

strip_query

boolean

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

Варианты:

  • false
  • true

description

string

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

name

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

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

path_rules

list / elements=dictionary

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

paths

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

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

route_action

dictionary

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

cors_policy

dictionary

Настройки, разрешающие междоменные запросы со стороны клиента. См. рекомендацию W3C по совместному использованию ресурсов между источниками.

allow_credentials

boolean

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

Варианты:

  • false
  • true

allow_headers

list / elements=string

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

allow_methods

list / elements=string

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

allow_origin_regexes

list / elements=string

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

allow_origins

list / elements=string

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

disabled

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

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

Варианты:

  • false
  • true

expose_headers

list / elements=string

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

max_age

integer

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

fault_injection_policy

dictionary

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

abort

dictionary

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

http_status

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

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

percentage

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

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

delay

dictionary

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

fixed_delay

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

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

nanos

integer

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

seconds

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

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

percentage

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

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

request_mirror_policy

dictionary

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

backend_service

dictionary / обязательный

Ресурс RegionBackendService, в который направляется зеркальный трафик.

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

retry_policy

dictionary

Определяет политику повторных попыток для этого маршрута.

num_retries

integer

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

per_try_timeout

dictionary

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

nanos

integer

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

seconds

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

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

retry_conditions

list / elements=string

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

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

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

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

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

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

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

timeout

dictionary

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

nanos

integer

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

seconds

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

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

url_rewrite

dictionary

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

host_rewrite

string

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

path_prefix_rewrite

string

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

weighted_backend_services

list / elements=dictionary

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

backend_service

dictionary / обязательный

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

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

header_action

dictionary

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

request_headers_to_add

list / elements=dictionary

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

header_name

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

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

header_value

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

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

replace

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

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

Варианты:

  • false
  • true

request_headers_to_remove

list / elements=string

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

response_headers_to_add

list / elements=dictionary

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

header_name

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

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

header_value

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

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

replace

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

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

Варианты:

  • false
  • true

response_headers_to_remove

list / elements=string

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

weight

integer / обязательный

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

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

service

dictionary

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

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

url_redirect

dictionary

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

host_redirect

string

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

https_redirect

boolean

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

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

Варианты:

  • false
  • true

path_redirect

string

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

Длина значения должна составлять от 1 до 1024 символов.

prefix_redirect

string

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

redirect_response_code

string

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

* FOUND — соответствует коду 302.

* SEE_OTHER — соответствует коду 303.

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

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

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

strip_query

boolean

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

Варианты:

  • false
  • true

route_rules

list / elements=dictionary

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

header_action

dictionary

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

request_headers_to_add

list / elements=dictionary

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

header_name

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

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

header_value

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

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

replace

boolean / required

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

Варианты:

  • false
  • true

request_headers_to_remove

list / elements=string

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

response_headers_to_add

list / elements=dictionary

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

header_name

string / required

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

header_value

string / required

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

replace

boolean / required

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

Варианты:

  • false
  • true

response_headers_to_remove

list / elements=string

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

match_rules

list / elements=dictionary

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

full_path_match

string

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

header_matches

list / elements=dictionary

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

exact_match

string

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

header_name

string / required

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

invert_match

boolean

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

Варианты:

  • false
  • true

prefix_match

string

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

present_match

boolean

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

Варианты:

  • false
  • true

range_match

dictionary

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

Необходимо задать только один из параметров exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

range_end

integer / required

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

range_start

integer / required

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

regex_match

string

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

Необходимо задать только один из параметров exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

suffix_match

string

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

ignore_case

boolean

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

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

Варианты:

  • false
  • true

metadata_filters

list / elements=dictionary

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

filter_labels

list / elements=dictionary / required

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

name

string / required

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

value

string / required

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

filter_match_criteria

string / required

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

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

Допустимые варианты: «MATCH_ALL», «MATCH_ANY»

prefix_match

string

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

query_parameter_matches

list / elements=dictionary

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

exact_match

string

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

name

string / required

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

present_match

boolean

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

Варианты:

  • false
  • true

regex_match

string

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

regex_match

string

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

priority

integer / required

Для routeRules в пределах заданного pathMatcher параметр priority определяет порядок, в котором балансировщик нагрузки обрабатывает routeRules. Правила routeRules проверяются в порядке приоритета — от наименьшего числа к наибольшему. Приоритет правила уменьшается по мере увеличения его номера (1, 2, 3, N+1). Применяется первое правило, которому соответствует запрос.

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

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

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

route_action

dictionary

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

cors_policy

dictionary

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

allow_credentials

boolean

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

Варианты:

  • false
  • true

allow_headers

list / elements=string

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

allow_methods

list / elements=string

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

allow_origin_regexes

list / elements=string

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

allow_origins

list / elements=string

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

disabled

boolean

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

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

Варианты:

  • false
  • true

expose_headers

list / elements=string

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

max_age

integer

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

fault_injection_policy

dictionary

Настройки внедрения сбоев в трафик для проверки устойчивости клиентов к отказам серверной службы. При внедрении сбоев, когда клиенты отправляют запросы серверной службе, Loadbalancer может задерживать часть запросов перед их отправкой в серверную службу. Аналогично Loadbalancer может прерывать часть запросов клиентов. Клиенты, для которых настроена fault_injection_policy, игнорируют timeout и retry_policy.

abort

dictionary

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

http_status

integer

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

percentage

string

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

delay

dictionary

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

fixed_delay

dictionary

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

nanos

integer

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

seconds

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

Интервал времени с точностью до секунды. Значение должно быть от 0 до 315,576,000,000 включительно.

percentage

string

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

request_mirror_policy

dictionary

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

backend_service

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

Ресурс RegionBackendService, в который выполняется зеркалирование.

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

retry_policy

dictionary

Задает политику повторных попыток для этого маршрута.

num_retries

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

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

per_try_timeout

dictionary

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

nanos

integer

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

seconds

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

Интервал времени с точностью до секунды. Значение должно быть от 0 до 315,576,000,000 включительно.

retry_conditions

list / elements=string

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

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

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

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

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

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

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

timeout

dictionary

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

nanos

integer

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

seconds

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

Интервал времени с точностью до секунды. Значение должно быть от 0 до 315,576,000,000 включительно.

url_rewrite

dictionary

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

host_rewrite

string

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

path_prefix_rewrite

string

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

weighted_backend_services

list / elements=dictionary

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

backend_service

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

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

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

header_action

dictionary

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

request_headers_to_add

list / elements=dictionary

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

header_name

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

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

header_value

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

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

replace

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

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

Варианты:

  • false
  • true

request_headers_to_remove

list / elements=string

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

response_headers_to_add

list / elements=dictionary

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

header_name

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

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

header_value

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

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

replace

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

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

Варианты:

  • false
  • true

response_headers_to_remove

list / elements=string

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

weight

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

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

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

service

dictionary

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

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

url_redirect

dictionary

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

host_redirect

string

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

https_redirect

boolean

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

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

Варианты:

  • false
  • true

path_redirect

string

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

Длина значения должна составлять от 1 до 1024 символов.

prefix_redirect

string

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

redirect_response_code

string

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

* FOUND соответствует коду 302.

* SEE_OTHER соответствует коду 303.

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

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

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

strip_query

boolean

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

Варианты:

  • false
  • true

project

string

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

region

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

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

scopes

list / elements=string

Массив областей действия, которые будут использоваться

service_account_contents

jsonarg

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

service_account_email

string

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

service_account_file

path

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

state

string

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

Варианты:

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

tests

list / elements=dictionary

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

description

string

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

host

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

Часть URL, содержащая имя хоста.

path

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

Путь в URL.

service

dictionary / обязательный

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

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

Примеры

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

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

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

Возвращаемые значения

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

Ключ

Описание

creationTimestamp

string

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

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

defaultService

dictionary

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

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

defaultUrlRedirect

complex

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

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

hostRedirect

string

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

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

httpsRedirect

boolean

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

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

pathRedirect

string

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

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

prefixRedirect

string

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

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

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

redirectResponseCode

string

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

* FOUND — соответствует коду 302.

* SEE_OTHER — соответствует коду 303.

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

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

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

stripQuery

boolean

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

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

description

string

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

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

fingerprint

string

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

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

hostRules

complex

Список правил HostRules для проверки URL.

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

description

string

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

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

hosts

list / elements=string

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

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

pathMatcher

string

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

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

id

integer

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

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

name

string

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

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

pathMatchers

complex

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

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

defaultService

dictionary

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

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

defaultUrlRedirect

complex

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

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

hostRedirect

string

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

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

httpsRedirect

boolean

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

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

pathRedirect

string

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

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

prefixRedirect

string

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

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

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

redirectResponseCode

string

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

* FOUND — соответствует коду 302.

* SEE_OTHER — соответствует коду 303.

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

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

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

stripQuery

boolean

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

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

description

string

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

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

name

string

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

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

pathRules

complex

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

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

paths

list / elements=string

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

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

routeAction

complex

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

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

corsPolicy

complex

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

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

allowCredentials

boolean

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

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

allowHeaders

list / elements=string

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

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

allowMethods

list / elements=string

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

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

allowOriginRegexes

list / elements=string

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

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

allowOrigins

list / elements=string

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

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

disabled

boolean

Если задано значение true, политика CORS отключается.

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

exposeHeaders

list / elements=string

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

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

maxAge

integer

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

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

faultInjectionPolicy

complex

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

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

abort

complex

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

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

httpStatus

integer

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

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

percentage

string

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

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

delay

complex

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

Возвращается: success

fixedDelay

complex

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

Возвращается: success

nanos

integer

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

Возвращается: success

seconds

string

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

Возвращается: success

percentage

string

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

Возвращается: success

requestMirrorPolicy

complex

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

Возвращается: success

backendService

dictionary

Ресурс RegionBackendService, в который выполняется зеркалирование.

Возвращается: success

retryPolicy

complex

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

Возвращается: success

numRetries

integer

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

Возвращается: success

perTryTimeout

complex

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

Возвращается: success

nanos

integer

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

Возвращается: success

seconds

string

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

Возвращается: success

retryConditions

list / elements=string

Задает одно или несколько условий применения этого правила повторных попыток. Допустимые значения: - 5xx: балансировщик нагрузки выполнит повторную попытку, если серверная служба ответит кодом 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 .

Возвращается: success

timeout

complex

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

Возвращается: success

nanos

integer

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

Возвращается: success

seconds

string

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

Возвращается: success

urlRewrite

complex

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

Возвращается: success

hostRewrite

string

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

Возвращается: success

pathPrefixRewrite

string

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

Возвращается: success

weightedBackendServices

complex

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

Возвращается: success

backendService

dictionary

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

Возвращается: success

headerAction

complex

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

Возвращается: success

requestHeadersToAdd

complex

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

Возвращается: success

headerName

string

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

Возвращается: success

headerValue

string

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

Возвращается: success

replace

boolean

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

Возвращается: success

requestHeadersToRemove

list / elements=string

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

Возвращается: success

responseHeadersToAdd

complex

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

Возвращается: success

headerName

string

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

Возвращается: success

headerValue

string

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

Возвращается: success

replace

boolean

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

Возвращается: success

responseHeadersToRemove

list / elements=string

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

Возвращается: success

weight

integer

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

Значение должно находиться в диапазоне от 0 до 1000.

Возвращается: success

service

dictionary

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

Возвращается: success

urlRedirect

complex

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

Возвращается: success

hostRedirect

string

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

Возвращается: success

httpsRedirect

boolean

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

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

Возвращается: success

pathRedirect

string

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

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

Возвращается: success

prefixRedirect

string

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

Возвращается: success

redirectResponseCode

string

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

* FOUND — соответствует коду 302.

* SEE_OTHER — соответствует коду 303.

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

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

Возвращается: success

stripQuery

boolean

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

Возвращается: success

routeRules

complex

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

Возвращается: success

headerAction

complex

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

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

requestHeadersToAdd

complex

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

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

headerName

string

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

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

headerValue

string

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

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

replace

boolean

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

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

requestHeadersToRemove

list / elements=string

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

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

responseHeadersToAdd

complex

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

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

headerName

string

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

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

headerValue

string

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

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

replace

boolean

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

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

responseHeadersToRemove

list / elements=string

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

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

matchRules

complex

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

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

fullPathMatch

string

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

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

headerMatches

complex

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

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

exactMatch

string

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

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

headerName

string

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

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

invertMatch

boolean

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

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

prefixMatch

string

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

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

presentMatch

boolean

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

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

rangeMatch

complex

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

Необходимо задать только один параметр из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

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

rangeEnd

integer

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

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

rangeStart

integer

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

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

regexMatch

string

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

Необходимо задать только один параметр из exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch или rangeMatch.

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

suffixMatch

string

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

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

ignoreCase

boolean

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

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

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

metadataFilters

complex

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

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

filterLabels

complex

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

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

name

string

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

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

value

string

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

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

filterMatchCriteria

string

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

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

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

prefixMatch

string

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

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

queryParameterMatches

complex

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

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

exactMatch

string

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

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

name

string

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

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

presentMatch

boolean

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

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

regexMatch

string

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

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

regexMatch

string

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

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

priority

integer

Для routeRules в заданном pathMatcher приоритет определяет порядок обработки этих правил балансировщиком нагрузки. Правила routeRules проверяются по приоритету — от наименьшего числа к наибольшему. Приоритет правила уменьшается по мере увеличения его номера (1, 2, 3, N+1). Применяется первое правило, соответствующее запросу.

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

Для каждого правила необходимо задать приоритет от 0 до 2147483647 включительно.

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

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

routeAction

complex

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

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

corsPolicy

complex

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

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

allowCredentials

boolean

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

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

allowHeaders

list / elements=string

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

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

allowMethods

list / elements=string

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

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

allowOriginRegexes

list / elements=string

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

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

allowOrigins

list / elements=string

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

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

disabled

boolean

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

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

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

exposeHeaders

list / elements=string

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

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

maxAge

integer

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

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

faultInjectionPolicy

complex

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

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

abort

complex

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

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

httpStatus

integer

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

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

percentage

string

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

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

delay

complex

Параметры задержки запросов клиентов при внедрении сбоев до их отправки службе серверной части.

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

fixedDelay

complex

Задает длительность фиксированной задержки.

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

nanos

integer

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

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

seconds

string

Длительность с точностью до секунды. Значение должно находиться в диапазоне от 0 до 315,576,000,000 включительно.

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

percentage

string

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

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

requestMirrorPolicy

complex

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

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

backendService

dictionary

Ресурс RegionBackendService, в который выполняется зеркалирование.

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

retryPolicy

complex

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

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

numRetries

integer

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

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

perTryTimeout

complex

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

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

nanos

integer

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

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

seconds

string

Длительность с точностью до секунды. Значение должно находиться в диапазоне от 0 до 315,576,000,000 включительно.

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

retryConditions

list / elements=string

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

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

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

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

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

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

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

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

timeout

complex

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

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

nanos

integer

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

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

seconds

string

Длительность с точностью до секунды. Значение должно находиться в диапазоне от 0 до 315,576,000,000 включительно.

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

urlRewrite

complex

Параметры изменения URL запроса перед его перенаправлением в соответствующую службу.

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

hostRewrite

string

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

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

pathPrefixRewrite

string

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

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

weightedBackendServices

complex

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

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

backendService

dictionary

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

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

headerAction

complex

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

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

requestHeadersToAdd

complex

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

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

headerName

string

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

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

headerValue

string

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

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

replace

boolean

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

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

requestHeadersToRemove

list / elements=string

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

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

responseHeadersToAdd

complex

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

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

headerName

string

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

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

headerValue

string

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

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

replace

boolean

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

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

responseHeadersToRemove

list / elements=string

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

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

weight

integer

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

Значение должно находиться в диапазоне от 0 до 1000.

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

service

dictionary

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

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

urlRedirect

complex

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

Возвращается: при успехе

hostRedirect

string

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

Возвращается: при успехе

httpsRedirect

boolean

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

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

Возвращается: при успехе

pathRedirect

string

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

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

Возвращается: при успехе

prefixRedirect

string

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

Возвращается: при успехе

redirectResponseCode

string

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

* FOUND — соответствует коду 302.

* SEE_OTHER — соответствует коду 303.

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

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

Возвращается: при успехе

stripQuery

boolean

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

Возвращается: при успехе

region

string

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

Возвращается: при успехе

tests

complex

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

Возвращается: при успехе

description

string

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

Возвращается: при успехе

host

string

Часть URL, содержащая имя хоста.

Возвращается: при успехе

path

string

Часть URL, содержащая путь.

Возвращается: при успехе

service

dictionary

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

Возвращается: при успехе

Авторы

  • Google Inc. (@googlecloudplatform)

Ссылки на коллекцию

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

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

Spec-Zone.ru

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