Ресурс google_projects
Синтаксис
Используется google_projects, чтобы проверить ресурс Google Project.
Примеры
describe google_projects() do
its('count') { should be >= 1 }
its('project_ids') { should include 'chef-gcp-inspec' }
its('lifecycle_states') { should include 'ACTIVE' }
end
Проверка, что для проекта доступно не более заданного количества проектов
describe google_projects do
its('count') { should be <= 100}
end
Проверка наличия ожидаемого проекта с заданным именем
describe google_projects do
its('project_names'){ should include "GCP Project Name" }
end
Проверка наличия ожидаемого идентификатора проекта
describe google_projects do
its('project_ids'){ should include "gcp_project_id" }
end
Проверка наличия ожидаемого номера проекта
describe google_projects do
its('project_numbers'){ should include 1122334455 }
end
Проверка, что определённый подмножество проектов с id ‘prod*’ находятся в состоянии ACTIVE жизненного цикла
google_projects.where(project_id: /^prod/).project_ids.each do |gcp_project_id|
describe google_project(project: gcp_project_id) do
it { should exist }
its('lifecycle_state') { should eq "ACTIVE" }
end
end
Проверка наличия определённого подмножества активных проектов с id ‘prod*’
google_projects.where(project_id: /^prod/, lifecycle_state: 'ACTIVE').project_ids.each do |gcp_project_id|
describe google_project(project: gcp_project_id) do
it { should exist }
end
end
Свойства
Свойства, доступные из ресурса google_projects:
Дополнительную информацию см. в ресурсе google_project.
project_numbers- массив значений
google_projectnumber lifecycle_states- массив значений
google_projectlifecycle_state project_names- массив значений
google_projectname create_times- массив значений
google_projectcreate_time labels- массив значений
google_projectlabels parents- массив значений
google_projectparent project_ids- массив значений
google_projectproject_id
Критерии фильтрации
Этот ресурс поддерживает все вышеперечисленные свойства как критерии фильтрации, которые могут использоваться с where в виде блока или метода.
Разрешения GCP
Убедитесь, что API Cloud Resource Manager https://console.cloud.google.com/apis/library/cloudresourcemanager.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_projects/