Ресурс google_compute_subnetwork
Синтаксис
Используется google_compute_subnetwork, чтобы протестировать ресурс подсети Google.
Ресурс бета-версии
Этот ресурс имеет доступные поля бета-версии. Чтобы получить доступ к этим полям, включите beta: true в конструктор ресурса.
Примеры
describe google_compute_subnetwork(project: 'chef-gcp-inspec', region: 'europe-west2', name: 'inspec-subnet') do
it { should exist }
its('ip_cidr_range') { should eq '10.2.0.0/16' }
its('log_config.enable') { should be true }
its('log_config.flow_sampling') { should cmp '0.5' }
its('log_config.aggregation_interval') { should cmp 'INTERVAL_10_MIN' }
its('log_config.metadata') { should include 'INCLUDE_ALL_METADATA' }
end
describe google_compute_subnetwork(project: 'chef-gcp-inspec', region: 'europe-west2', name: 'nonexistent') do
it { should_not exist }
end
Проверка существования подсети GCP compute
describe google_compute_subnetwork(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-subnetwork') do
it { should exist }
end
Проверка времени создания подсети GCP compute
describe google_compute_subnetwork(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-subnetwork') do
its('creation_timestamp') { should be > Time.now - 365*60*60*24*10 }
end
Проверка ожидаемого идентификатора подсети
describe google_compute_subnetwork(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-subnetwork') do
its('id') { should eq 12345567789 }
end
Проверка ожидаемого адреса шлюза подсети
describe google_compute_subnetwork(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-subnetwork') do
its('gateway_address') { should eq "10.2.0.1" }
end
Проверка ожидаемого диапазона IP CIDR подсети
describe google_compute_subnetwork(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-subnetwork') do
its('ip_cidr_range') { should eq "10.2.0.0/29" }
end
Проверка ассоциации подсети с ожидаемой сетью
describe google_compute_subnetwork(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-subnetwork') do
its('network') { should match "gcp_network_name" }
end
Проверка доступа виртуальных машин в этой подсети к услугам Google без присвоения внешних IP-адресов через Private Google Access
describe google_compute_subnetwork(project: 'chef-inspec-gcp', region: 'europe-west2', name: 'gcp-inspec-subnetwork') do
its('private_ip_google_access') { should be false }
end
Свойства
Свойства, доступные из ресурса google_compute_subnetwork:
creation_timestamp- Дата создания в формате RFC3339.
description- Необязательное описание этого ресурса. Укажите это свойство при создании ресурса. Это поле можно установить только при создании ресурса.
gateway_address- Адрес шлюза для маршрутов по умолчанию, чтобы достичь адресов назначения за пределами этой подсети.
id- Уникальный идентификатор ресурса.
ip_cidr_range- Диапазон внутренних адресов, принадлежащих этой подсети. Укажите это свойство при создании подсети. Например, 10.0.0.0/8 или 192.168.0.0/16. Диапазоны должны быть уникальными и не перекрывающимися в пределах сети. Поддерживается только IPv4.
name- Имя ресурса, указанное клиентом при первоначальном создании ресурса. Длина имени должна составлять 1-63 символа и соответствовать RFC1035. В частности, длина имени должна составлять 1-63 символа и соответствовать регулярному выражению
[a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть дефисом, строчной буквой или цифрой, за исключением последнего символа, который не может быть дефисом. network- Сеть, к которой принадлежит эта подсеть. Только сети в режиме распределения могут иметь подсети.
purpose- (Только бета) Назначение ресурса. Это поле может быть PRIVATE или INTERNAL_HTTPS_LOAD_BALANCER. Подсеть с назначением INTERNAL_HTTPS_LOAD_BALANCER — это созданная пользователем подсеть, которая зарезервирована для внутренней балансировки нагрузки HTTP(S). Если не указано, значение по умолчанию — PRIVATE. Если задано INTERNAL_HTTPS_LOAD_BALANCER, вы также должны задать роль.
Возможные значения:
- INTERNAL_HTTPS_LOAD_BALANCER
- PRIVATE
role- (Только бета) Роль подсети. В настоящее время это поле используется только при purpose = INTERNAL_HTTPS_LOAD_BALANCER. Значение может быть установлено в ACTIVE или BACKUP. Активная подсеть — та, которая в настоящее время используется для внутренней балансировки нагрузки HTTP(S). Подсеть резервного копирования — это подсеть, готовая к продвижению к активной или в настоящее время в стадии вывода.
Возможные значения:
- ACTIVE
- BACKUP
secondary_ip_ranges- Массив конфигураций для вторичных диапазонов IP-адресов для виртуальных машин, содержащихся в этой подсети. Основной IP такой виртуальной машины должен принадлежать основному диапазону ipCidrRange подсети. Адреса псевдонимов могут принадлежать как основным, так и вторичным диапазонам.
range_name- Имя, связанное со вторичным диапазоном этой подсети, используемое при добавлении диапазона псевдонимных IP-адресов к виртуальной машине. Длина имени должна составлять 1-63 символа и соответствовать RFC1035. Имя должно быть уникальным в пределах подсети.
ip_cidr_range- Диапазон IP-адресов, принадлежащих вторичному диапазону этой подсети. Укажите это свойство при создании подсети. Диапазоны должны быть уникальными и не перекрывающимися со всеми основными и вторичными диапазонами IP-адресов в пределах сети. Поддерживается только IPv4.
private_ip_google_access- При включении виртуальные машины в этой подсети без внешних IP-адресов могут получить доступ к Google API и службам с помощью Private Google Access.
region- URL региона GCP для этой подсети.
log_config- Определяет параметры ведения журнала для журналов потоков подсети. Если ведение журнала включено, журналы будут экспортированы в Stackdriver. Это поле нельзя установить, если
purposeэтой подсети равноINTERNAL_HTTPS_LOAD_BALANCER. enable- Если ведение журнала включено для этой подсети.
aggregation_interval- Может быть указано только в том случае, если ведение журнала VPC потоков для этой подсети включено. Устанавливает интервал агрегирования для сбора журналов потоков. Увеличение интервала времени сократит количество генерируемых журналов потоков для долговременных соединений. По умолчанию интервал составляет 5 секунд на соединение.
Возможные значения:
- INTERVAL_5_SEC
- INTERVAL_30_SEC
- INTERVAL_1_MIN
- INTERVAL_5_MIN
- INTERVAL_10_MIN
- INTERVAL_15_MIN
flow_sampling- Может быть указано только в том случае, если ведение журнала VPC потоков для этой подсети включено. Значение поля должно быть в диапазоне [0, 1. Установите частоту выборки журналов VPC потоков в подсети, где 1.0 означает, что все собранные журналы будут сообщены, а 0.0 означает, что журналы не будут сообщены. По умолчанию значение равно 0.5, что означает, что половина всех собранных журналов будет сообщена.
metadata- Может быть указано только в том случае, если ведение журнала VPC потоков для этой подсети включено. Настраивает, нужно ли добавлять поля метаданных в сообщаемые журналы VPC потоков.
Возможные значения:
- EXCLUDE_ALL_METADATA
- INCLUDE_ALL_METADATA
Разрешения GCP
Убедитесь, что для текущего проекта включен API Compute Engine. Compute Engine API
© 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_subnetwork/