Ресурс google_compute_global_forwarding_rule
Синтаксис
Для проверки ресурса Google GlobalForwardingRule используется google_compute_global_forwarding_rule
Ресурс бета-версии
У данного ресурса доступны поля бета-версии. Для получения этих полей, включите beta: true в конструктор для ресурса
Примеры
describe google_compute_global_forwarding_rule(project: 'chef-gcp-inspec', name: 'inspec-gcp-global-forwarding-rule') do
it { should exist }
its('port_range') { should eq '80-80' }
its('target') { should match /\/inspec-gcp-http-proxy$/ }
end
describe google_compute_global_forwarding_rule(project: 'chef-gcp-inspec', name: 'nonexistent') do
it { should_not exist }
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_compute_global_forwarding_rule:
creation_timestamp- Дата и время создания в формате RFC3339.
description- Необязательное описание ресурса. Укажите это свойство при создании ресурса.
id- Уникальный идентификатор ресурса.
ip_address- IP-адрес, по которому этот маршрут перенаправления обслуживает запросы. Адреса ограничены схемой балансировки нагрузки маршрута перенаправления (внешняя или внутренняя) и областью (глобальная или региональная). Для глобальных правил перенаправления адрес должен быть глобальным IP-адресом. Если это поле пустое, выбирается временный IPv4-адрес из той же области (глобальной). Глобальные правила перенаправления поддерживают IPv4 или IPv6. Когда схема балансировки нагрузки — INTERNAL_SELF_MANAGED, это должно быть URL-ссылка на существующий ресурс Address (внутренний региональный статический IP-адрес) с целью GCE_END_POINT и типом адреса INTERNAL. Адрес может быть указан либо пословно, либо в виде URL-ссылки на существующий ресурс Address. Следующие примеры являются допустимыми:
- 100.1.2.3
- https://www.googleapis.com/compute/v1/projects/project/regions/
- region/addresses/address
- projects/project/regions/region/addresses/address
- regions/region/addresses/address
- global/addresses/address
- address
ip_protocol- IP-протокол, к которому применяется это правило. Когда схема балансировки нагрузки — INTERNAL_SELF_MANAGED, допустим только TCP.
Возможные значения:
- TCP
- UDP
- ESP
- AH
- SCTP
- ICMP
ip_version- Версия IP, которая будет использоваться этим глобальным правилом перенаправления.
Возможные значения:
- IPV4
- IPV6
labels- (Только для бета-версии) Метки, применяемые к этому правилу перенаправления. Список пар "ключ-значение".
label_fingerprint- (Только для бета-версии) Отпечаток, используемый для оптимистической блокировки этого ресурса. Используется во внутренних обновлениях.
load_balancing_scheme- Указывает, для чего будет использоваться GlobalForwardingRule. Значение INTERNAL_SELF_MANAGED означает, что оно будет использоваться для внутреннего глобального балансировщика HTTP(S). Значение EXTERNAL означает, что оно будет использоваться для внешней глобальной балансировки нагрузки (HTTP(S) LB, внешняя TCP/UDP LB, SSL-прокси). ПРИМЕЧАНИЕ: в настоящее время глобальные правила перенаправления не могут использоваться для внутренней балансировки.
Возможные значения:
- EXTERNAL
- INTERNAL_SELF_MANAGED
metadata_filters- Непрозрачные критерии фильтра, используемые Loadbalancer для ограничения конфигурации маршрутизации ограниченным набором клиентов, совместимых с xDS. В своих запросах xDS клиентам Loadbalancer предоставляются данные о узле. Если совпадение произошло, соответствующая конфигурация маршрутизации становится доступной этим прокси. Для каждого metadataFilter в этом списке, если его filterMatchCriteria задан как MATCH_ANY, хотя бы одна из filterLabels должна совпадать с соответствующей меткой, предоставленной в метаданных. Если его filterMatchCriteria задан как MATCH_ALL, то все его filterLabels должны совпадать с соответствующими метками в предоставленных метаданных. metadataFilters, указанные здесь, могут быть переопределены теми, которые указаны в UrlMap, на который ссылается это ForwardingRule. metadataFilters применяются только к Loadbalancer, у которых loadBalancingScheme установлен в INTERNAL_SELF_MANAGED.
filter_match_criteria- Определяет, как отдельные совпадения filterLabel в списке filterLabels вносят вклад в общее совпадение metadataFilter. MATCH_ANY - хотя бы одна из filterLabels должна иметь соответствующую метку в предоставленных метаданных. MATCH_ALL - все filterLabels должны иметь соответствующие метки в предоставленных метаданных.
Возможные значения:
- MATCH_ANY
- MATCH_ALL
filter_labels- Список пар меток-значений, которые должны совпадать с метками в предоставленных метаданных на основе filterMatchCriteria. Этот список не должен быть пустым и может содержать не более 64 записей.
name- Имя метки метаданных. Длина должна быть от 1 до 1024 символов включительно.
value- Значение, с которым должна совпадать метка. Длина значения не должна превышать 1024 символов.
name- Имя ресурса; предоставляется клиентом при создании ресурса. Имя должно иметь длину от 1 до 63 символов и соответствовать RFC1035. В частности, имя должно иметь длину от 1 до 63 символов и соответствовать регулярному выражению
[a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. network- Это поле не используется для внешней балансировки нагрузки. Для внутренней балансировки нагрузки INTERNAL_SELF_MANAGED это поле идентифицирует сеть, к которой должен принадлежать IP-адрес, сбалансированный нагрузкой, для этого глобального правила перенаправления. Если это поле не указано, используется сеть по умолчанию.
port_range- Это поле используется вместе с полем target для TargetHttpProxy, TargetHttpsProxy, TargetSslProxy, TargetTcpProxy, TargetVpnGateway, TargetPool, TargetInstance. Применимо только тогда, когда IPProtocol — TCP, UDP или SCTP, только пакеты, адресованные портам в указанном диапазоне, будут пересылаться целевому устройству. Правила перенаправления с одинаковой парой
[IPAddress, IPProtocol]должны иметь непересекающиеся диапазоны портов. Некоторые типы целевых устройств имеют ограничения на приемлемые порты:- TargetHttpProxy: 80, 8080
- TargetHttpsProxy: 443
- TargetTcpProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222
- TargetSslProxy: 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222
- TargetVpnGateway: 500, 4500
target- URL целевого ресурса для получения сопоставленного трафика. Пересылаемый трафик должен быть соответствующего типа объекту целевого устройства. Для внутренней балансировки нагрузки INTERNAL_SELF_MANAGED допустимы только целевые устройства HTTP и HTTPS.
Разрешения 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_global_forwarding_rule/