Ресурс google_compute_url_map
Синтаксис
Используется google_compute_url_map, чтобы проверить ресурс Google UrlMap.
Ресурс бета-версии
Этот ресурс имеет доступные поля бета-версии. Для получения этих полей включите beta: true в конструктор ресурса.
Примеры
describe google_compute_url_map(project: 'chef-gcp-inspec', name: 'inspec-gcp-url-map') do
it { should exist }
its('description') { should eq 'URL map description' }
its('default_service') { should match /\/inspec-gcp-backend-service$/ }
its('host_rules.count') { should eq 1 }
its('host_rules.first.hosts') { should include 'site.com' }
its('path_matchers.count') { should eq 1 }
its('path_matchers.first.default_service') { should match /\/inspec-gcp-backend-service$/ }
its('tests.count') { should eq 1 }
its('tests.first.host') { should eq 'test.com' }
its('tests.first.path') { should eq '/home' }
end
describe google_compute_url_map(project: 'chef-gcp-inspec', name: 'nonexistent') do
it { should_not exist }
end
Свойства
Свойства, доступные для ресурса google_compute_url_map:
creation_timestamp- Дата создания в формате RFC3339.
default_service- Полный или частичный URL ресурса defaultService, на который направляется трафик, если ни одно из hostRules не соответствует. Если дополнительно указан defaultRouteAction, действия маршрутизации высокого уровня, такие как перенаправление URL и т. д., выполняются перед отправкой запроса на бэкенд. Однако, если указан defaultService, defaultRouteAction не может содержать какие-либо weightedBackendServices. И наоборот, если routeAction содержит какие-либо weightedBackendServices, service не должен быть указан. Должен быть установлен только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService.
description- Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
id- Уникальный идентификатор ресурса.
fingerprint- Отпечаток этого ресурса. Хэш содержимого, хранящегося в этом объекте. Это поле используется для оптимистической блокировки.
header_action- Указывает изменения запросов и ответов заголовков, которые должны быть применены для выбранного backendService. Заголовки, указанные здесь, применяются после заголовков, указанных в pathMatcher.
request_headers_to_add- Заголовки, которые нужно добавить к соответствующему запросу перед пересылкой запроса в backendService.
header_name: Название заголовка.header_value: Значение добавляемого заголовка.replace: Если false, headerValue добавляется к существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, удаляя любые ранее установленные значения. request_headers_to_remove- Список имён заголовков, которые необходимо удалить из запроса перед его пересылкой в backendService.
response_headers_to_add- Заголовки для добавления в ответ перед отправкой ответа клиенту.
header_name: Название заголовка.header_value: Значение добавляемого заголовка.replace: Если false, headerValue добавляется к существующим значениям заголовка. Если true, headerValue устанавливается для заголовка, удаляя любые ранее установленные значения. response_headers_to_remove- Список имён заголовков, которые необходимо удалить из ответа перед его отправкой клиенту.
host_rules- Список HostRules для использования с URL.
description- Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
hosts- Список шаблонов хостов для сопоставления. Они должны быть действительными именами хостов, за исключением _ , которое соответствует любой строке ([a-z0-9-.]_). В этом случае * должен быть первым символом и должен следовать за ним либо - либо ..
path_matcher- Имя PathMatcher для сопоставления пути части URL, если hostRule соответствует хосту URL.
name- Имя ресурса. Предоставляется клиентом при создании ресурса. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. То есть, имя должно быть длиной от 1 до 63 символов и соответствовать регулярному выражению
[a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. path_matchers- Список именованных PathMatchers для использования с URL.
default_service- Полный или частичный URL ресурса BackendService. Будет использоваться, если ни одно из pathRules или routeRules, определённых этим PathMatcher, не соответствует. Например, следующие URL-адреса ресурса BackendService являются допустимыми: - https://www.googleapis.com/compute/v1/projects/project/global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService Если дополнительно указан defaultRouteAction, действия маршрутизации высокого уровня, такие как перенаправление URL и т. д., выполняются перед отправкой запроса на бэкенд. Однако, если указан defaultService, defaultRouteAction не может содержать какие-либо weightedBackendServices. И наоборот, если defaultRouteAction содержит какие-либо weightedBackendServices, defaultService не должен быть указан. Должен быть установлен только один из defaultService, defaultUrlRedirect или defaultRouteAction.weightedBackendService. Авторизация требует одного или нескольких следующих разрешений Google IAM на указанный ресурс defaultService: - compute.backendBuckets.use - compute.backendServices.use
description- Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
header_action- Указывает изменения запросов и ответов заголовков, которые должны быть применены для выбранного backendService. Заголовки, указанные здесь, применяются после заголовков, указанных в HttpRouteRule HeaderAction и перед заголовками в UrlMap
request_headers_to_add: Заголовки, которые нужно добавить к соответствующему запросу перед пересылкой запроса в backendService.`header_name` : The name of the header. `header_value` : The value of the header to add. `replace` : If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.request_headers_to_remove: Список имён заголовков, которые необходимо удалить из запроса перед его пересылкой в backendService.response_headers_to_add: Заголовки для добавления в ответ перед отправкой ответа клиенту.`header_name` : The name of the header. `header_value` : The value of the header to add. `replace` : If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.response_headers_to_remove: Список имён заголовков, которые необходимо удалить из ответа перед его отправкой клиенту. name- Имя, по которому этот PathMatcher упоминается в hostRule.
default_url_redirect- Если ни одна из указанных hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть установлены.
host_redirect: Хост, который будет использоваться в ответе о перенаправлении вместо указанного в запросе. Значение должно быть от 1 до 255 символов.https_redirect: Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как у запроса. Это должно быть установлено только для UrlMap, используемых в TargetHttpProxys. Установка этого в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.path_redirect: Путь, который будет использован в ответе о перенаправлении вместо указанного в запросе. pathRedirect нельзя использовать вместе с prefixRedirect. Используйте один или ни одного. Если ни одного не указано, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.prefix_redirect: Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса. prefixRedirect нельзя использовать вместе с pathRedirect. Используйте один или ни одного. Если ни одного не указано, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.redirect_response_code: HTTP-код состояния, используемый для этого RedirectAction. Поддерживаемые значения:Supported values are: - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method will be retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method will be retained.strip_query: Если установлено в true, любая сопровождающая часть запроса в исходном URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса в исходном URL сохраняется. tests- Список ожидаемых тестов сопоставления URL. Запрос на обновление UrlMap будет успешным только если пройдут все тесты. Вы можете указать не более 100 тестов на UrlMap.
description: Описание этого тестового случая.host: Часть хоста URL.path: Часть пути URL.service: Ожидаемый ресурс BackendService, к которому должен быть сопоставлен данный URL. default_url_redirect- Если ни одна из указанных hostRules не соответствует, запрос перенаправляется на URL, указанный в defaultUrlRedirect. Если указан defaultUrlRedirect, defaultService или defaultRouteAction не должны быть установлены.
host_redirect- Хост, который будет использован в ответе о перенаправлении вместо указанного в запросе. Значение должно быть от 1 до 255 символов.
https_redirect- Если установлено в true, схема URL в перенаправленном запросе устанавливается в https. Если установлено в false, схема URL перенаправленного запроса останется такой же, как у запроса. Это должно быть установлено только для UrlMap, используемых в TargetHttpProxys. Установка этого в true для TargetHttpsProxy запрещена. По умолчанию установлено в false.
path_redirect- Путь, который будет использован в ответе о перенаправлении вместо указанного в запросе. pathRedirect нельзя использовать вместе с prefixRedirect. Используйте один или ни одного. Если ни одного не указано, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.
prefix_redirect- Префикс, который заменяет prefixMatch, указанный в HttpRouteRuleMatch, сохраняя оставшуюся часть URL перед перенаправлением запроса. prefixRedirect нельзя использовать вместе с pathRedirect. Используйте один или ни одного. Если ни одного не указано, путь исходного запроса будет использован для перенаправления. Значение должно быть от 1 до 1024 символов.
redirect_response_code- HTTP-код состояния для этого RedirectAction.
Поддерживаемые значения:
- MOVED_PERMANENTLY_DEFAULT (по умолчанию), соответствующий 301.
- FOUND, соответствующий 302.
- SEE_OTHER, соответствующий 303.
- TEMPORARY_REDIRECT, соответствующий 307. В этом случае метод запроса будет сохранён.
- PERMANENT_REDIRECT, соответствующий 308. В этом случае метод запроса будет сохранён.
strip_query- Если установлено в true, любая сопровождающая часть запроса в исходном URL удаляется перед перенаправлением запроса. Если установлено в false, часть запроса в исходном URL сохраняется. По умолчанию установлено в false.
Разрешения GCP
Убедитесь, что для текущего проекта включен API Compute Engine.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/google_compute_url_map/