Spec-Zone.ru › Chef 16

Ресурс google_compute_forwarding_rule

Синтаксис

Для тестирования ресурса Google ForwardingRule используется google_compute_forwarding_rule

Ресурс Beta

У этого ресурса доступны поля beta-версии. Для получения этих полей включите beta: true в конструктор ресурса.

Примеры


describe google_compute_forwarding_rule(project: 'chef-gcp-inspec', region: 'europe-west2', name: 'udp-forwarding-rule') do
  it { should exist }
  its('region') { should match 'europe-west2' }
  its('creation_timestamp') { should be > Time.now - 365*60*60*24*10 }
  its('load_balancing_scheme') { should match 'EXTERNAL' }
  its('port_range') { should match "500-500" }
  its('ip_protocol') { should match "UDP" }
end

describe google_compute_forwarding_rule(project: 'chef-gcp-inspec', region: 'europe-west2', name: "nonexistent") do
  it { should_not exist }
end

Проверка существования правила маршрутизации GCP compute forwarding_rule

describe google_compute_forwarding_rule(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-forwarding_rule') do
  it { should exist }
end

Проверка времени создания правила маршрутизации GCP compute forwarding_rule

describe google_compute_forwarding_rule(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-forwarding_rule') do
  its('creation_timestamp_date') { should be > Time.now - 365*60*60*24*10 }
end

Проверка ожидаемого идентификатора правила маршрутизации forwarding_rule

describe google_compute_forwarding_rule(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-forwarding_rule') do
  its('id') { should eq 12345567789 }
end

Проверка ожидаемой схемы балансировки нагрузки forwarding_rule load_balancing_scheme

describe google_compute_forwarding_rule(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-forwarding_rule') do
  its('load_balancing_scheme') { should eq "INTERNAL" }
end

Проверка ожидаемого IP-адреса правила маршрутизации forwarding_rule

describe google_compute_forwarding_rule(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-forwarding_rule') do
  its('ip_address') { should eq "10.0.0.1" }
end

Проверка ассоциации правила маршрутизации forwarding_rule с ожидаемой сетью

describe google_compute_forwarding_rule(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-forwarding_rule') do
  its('network') { should match "gcp_network_name" }
end

Свойства

Свойства, доступные для ресурса google_compute_forwarding_rule:

creation_timestamp
Дата и время создания в формате RFC3339.
is_mirroring_collector
(Только Beta) Указывает, может ли этот балансировщик нагрузки использоваться как коллектор для зеркалирования пакетов. Для предотвращения петель зеркалирования, инстансы за этим балансировщиком не будут зеркалировать трафик, даже если к ним применяется правило PacketMirroring. Это может быть установлено только в значение true для балансировщиков нагрузки, у которых loadBalancingScheme установлено в INTERNAL.
description
Необязательное описание этого ресурса. Укажите это свойство при создании ресурса.
id
Уникальный идентификатор ресурса.
ip_address
IP-адрес, на котором это правило маршрутизации обслуживает трафик от имени. Адреса ограничены схемой балансировки нагрузки (EXTERNAL или INTERNAL) и областью (глобальной или региональной). Когда схема балансировки EXTERNAL, для глобальных правил маршрутизации адрес должен быть глобальным IP-адресом, а для региональных правил маршрутизации — адрес должен находиться в том же регионе, что и правило маршрутизации. Если это поле пусто, будет назначен временный IPv4-адрес из той же области (глобальной или региональной). Региональное правило маршрутизации поддерживает только IPv4. Глобальное правило маршрутизации поддерживает IPv4 или IPv6. При схеме балансировки INTERNAL, это может быть только адрес RFC 1918, принадлежащий сети/подсети, настроенной для правила маршрутизации. По умолчанию, если это поле пусто, будет автоматически выделен временный внутренний IP-адрес из диапазона IP-адресов подсети или сети, настроенной для этого правила маршрутизации. Адрес может быть указан либо непосредственно, либо ссылкой на существующий ресурс 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, допустимы только TCP и UDP.

Возможные значения:

  • TCP
  • UDP
  • ESP
  • AH
  • SCTP
  • ICMP
backend_service
BackendService для получения соответствующего трафика. Используется только для внутренней балансировки нагрузки.
load_balancing_scheme
Указывает, для чего будет использовано ForwardingRule: EXTERNAL, INTERNAL или INTERNAL_MANAGED. EXTERNAL используется для шлюзов Classic Cloud VPN, протокольной маршрутизации для виртуальных машин с внешним IP-адресом и HTTP(S), SSL Proxy, TCP Proxy, и сетевыми TCP/UDP балансировщиками нагрузки. INTERNAL используется для протокольной маршрутизации для виртуальных машин с внутренним IP-адресом и внутренними TCP/UDP балансировщиками нагрузки. INTERNAL_MANAGED используется для внутренних HTTP(S) балансировщиков нагрузки.

Возможные значения:

  • EXTERNAL
  • INTERNAL
  • INTERNAL_MANAGED
name
Имя ресурса, указанное клиентом при создании. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035. Точнее, длина имени должна быть от 1 до 63 символов и соответствовать регулярному выражению [a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом.
network
Для внутренней балансировки нагрузки, это поле определяет сеть, к которой должен принадлежать IP-адрес балансировки нагрузки для этого Forwarding Rule. Если это поле не указано, будет использоваться сеть по умолчанию. Это поле используется только для внутренней балансировки нагрузки.
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
ports
Это поле используется вместе с полем backend_service для внутренней балансировки нагрузки. При схеме балансировки INTERNAL можно настроить отдельный порт или список портов, разделенных запятыми. Только пакеты, адресованные этим портам, будут пересылаться бэкендам, настроенным с этим правилом маршрутизации. Вы можете указать не более 5 портов.
subnetwork
Подсеть, к которой должен принадлежать IP-адрес балансировки нагрузки для этого Forwarding Rule. Это поле используется только для внутренней балансировки нагрузки. Если указанная сеть находится в режиме автоматической подсети, это поле необязательно. Однако, если сеть находится в режиме пользовательской подсети, подсеть необходимо указать.
target
URL целевого ресурса для получения соответствующего трафика. Целевой ресурс должен находиться в том же регионе, что и правило маршрутизации. Передаваемый трафик должен быть подходящего типа для целевого объекта.
allow_global_access
Если значение true, клиенты могут получить доступ к ILB со всех регионов. В противном случае доступ разрешен только из локального региона, где находится ILB.
labels
(Только Beta) Метки, применяемые к этому правилу маршрутизации. Список пар ключ-значение.
label_fingerprint
(Только Beta) Отпечаток, используемый для оптимистической блокировки этого ресурса. Используется во время обновлений.
all_ports
Для внутренней балансировки TCP/UDP (т.е. схема балансировки INTERNAL и протокол TCP/UDP), установите это значение в true, чтобы разрешить передачу пакетов, адресованных любым портам, бэкендам, настроенным с этим правилом маршрутизации. Используется с backend service. Не может быть установлено, если заданы port или portRange.
network_tier
Сетевой уровень, используемый для настройки этого адреса. Если это поле не указано, предполагается PREMIUM.

Возможные значения:

  • PREMIUM
  • STANDARD
service_label
Необязательный префикс к имени службы для этого Forwarding Rule. Если указан, будет первой меткой полностью квалифицированного имени службы. Метка должна быть длиной от 1 до 63 символов и соответствовать RFC1035. Точнее, длина метки должна быть от 1 до 63 символов и соответствовать регулярному выражению [a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. Это поле используется только для внутренней балансировки нагрузки.
service_name
Внутреннее полностью квалифицированное имя службы для этого Forwarding Rule. Это поле используется только для внутренней балансировки нагрузки.
region
Ссылка на регион, в котором находится региональное правило маршрутизации. Это поле не применимо к глобальным правилам маршрутизации.

Разрешения 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_forwarding_rule/

Spec-Zone.ru

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