Ресурс google_compute_network
Синтаксис
Используется google_compute_network, чтобы проверить ресурс сети Google.
Ресурс бета-версии
Этот ресурс имеет доступные поля бета-версии. Чтобы получить эти поля, включите beta: true в конструктор ресурса.
Примеры
describe google_compute_network(project: 'chef-gcp-inspec', name: 'inspec-network') do
it { should exist }
its('routing_config.routing_mode') { should cmp 'REGIONAL' }
end
describe google_compute_network(project: 'chef-gcp-inspec', name: 'nonexistent') do
it { should_not exist }
end
Проверка существования сети GCP compute
describe google_compute_network(project: 'chef-inspec-gcp', name: 'gcp-inspec-network') do
it { should exist }
end
Проверка времени создания сети GCP compute
describe google_compute_network(project: 'chef-inspec-gcp', name: 'gcp-inspec-network') do
its('creation_timestamp_date') { should be > Time.now - 365*60*60*24*10 }
end
Проверка ожидаемого идентификатора сети
describe google_compute_network(project: 'chef-inspec-gcp', name: 'gcp-inspec-network') do
its('id') { should eq 12345567789 }
end
Проверка правильности имени единственной подключенной подсети
describe google_compute_network(project: 'chef-inspec-gcp', name: 'gcp-inspec-network') do
its ('subnetworks.count') { should eq 1 }
its ('subnetworks.first') { should match "subnetwork-name"}
end
Проверка настройки сети на автоматическое создание подсетей
describe google_compute_network(project: 'chef-inspec-gcp', name: 'gcp-inspec-network') do
its ('auto_create_subnetworks'){ should be false }
end
Проверка конфигурации маршрутизации сети
describe google_compute_network(project: 'chef-inspec-gcp', name: 'gcp-inspec-network') do
its ('routing_config.routing_mode') { should eq "REGIONAL" }
end
Свойства
Свойства, к которым можно получить доступ из ресурса google_compute_network:
description- Необязательное описание этого ресурса. Для изменения этого поля ресурс необходимо пересоздать.
gateway_ipv4- Адрес шлюза для маршрутизации по умолчанию из сети. Это значение выбирается GCP.
id- Уникальный идентификатор ресурса.
name- Имя ресурса. Предоставляется клиентом при создании ресурса. Длина имени должна быть от 1 до 63 символов и соответствовать RFC1035. То есть, длина должна быть от 1 до 63 символов, и она должна соответствовать регулярному выражению
[a-z]([-a-z0-9]*[a-z0-9])?, что означает, что первый символ должен быть строчной буквой, а все последующие символы должны быть тире, строчной буквой или цифрой, за исключением последнего символа, который не может быть тире. subnetworks- Определяемые сервером полные URL-адреса всех подсетей в этой сети.
auto_create_subnetworks- При установке в значение
true, сеть создается в режиме «автоматическое создание подсетей» и будет автоматически создавать подсеть для каждого региона в диапазоне адресов10.128.0.0/9. При установке в значениеfalse, сеть создается в режиме «настройка подсетей» так, чтобы пользователь мог явно подключить ресурсы подсетей. creation_timestamp- Дата и время создания в формате RFC3339.
routing_config- Конфигурация маршрутизации на уровне сети для этой сети. Используется Cloud Router для определения типа поведения маршрутизации на всей сети.
routing_mode- Режим маршрутизации на всей сети. Если установлено в значение
REGIONAL, облачные маршрутизаторы этой сети будут рекламировать только маршруты с подсетями этой сети в том же регионе, что и маршрутизатор. Если установлено в значениеGLOBAL, облачные маршрутизаторы этой сети будут рекламировать маршруты со всеми подсетями этой сети по всем регионам.Возможные значения:
- REGIONAL
- GLOBAL
Разрешения GCP
Убедитесь, что для текущего проекта включен API Compute Engine по адресу https://console.cloud.google.com/apis/library/compute.googleapis.com/.
© 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_network/