Ресурс google_compute_global_forwarding_rule
Синтаксис
Используется google_compute_global_forwarding_rule для проверки ресурса Google GlobalForwardingRule.
Ресурс бета-версии
Этот ресурс имеет доступные поля бета-версии. Чтобы получить доступ к этим полям, включите 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 и addressType INTERNAL. Адрес может быть указан либо в виде буквального IP-адреса, либо в виде 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 клиенты xDS предоставляют метаданные узла. Если совпадение происходит, соответствующая конфигурация маршрутизации предоставляется этим прокси. Для каждого 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/