Ресурс google_compute_subnetwork
Синтаксис
Для проверки ресурса подсети Google используется google_compute_subnetwork
Ресурс бета-версии
Этот ресурс содержит поля бета-версии. Чтобы получить доступ к этим полям, включите 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 подсети. Alias IP-адреса могут принадлежать как первичным, так и вторичным диапазонам.
range_name- Имя, связанное со вторичным диапазоном этой подсети, используемое при добавлении диапазона alias IP-адресов к виртуальной машине. Имя должно быть длиной от 1 до 63 символов и соответствовать RFC1035. Имя должно быть уникальным внутри подсети.
ip_cidr_range- Диапазон IP-адресов, принадлежащих вторичному диапазону этой подсети. Указывается при создании подсети. Диапазоны должны быть уникальными и не пересекаться со всеми первичными и вторичными диапазонами IP-адресов в рамках сети. Поддерживается только IPv4.
private_ip_google_access- При включенном значении, ВМ в этой подсети без внешних IP-адресов могут получать доступ к службам Google с помощью 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.
© 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/