Spec-Zone.ru › Chef 17

Ресурс google_projects

[править на GitHub]

Синтаксис

Используется 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

Проверка наличия определённого подмножества ACTIVE проектов с 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_project чисел
lifecycle_states
массив google_project состояний жизненного цикла
project_names
массив google_project имён
create_times
массив google_project времени создания
labels
массив google_project меток
parents
массив google_project родительских элементов
project_ids
массив google_project идентификаторов проектов

Критерии фильтрации

Этот ресурс поддерживает все вышеперечисленные свойства в качестве критериев фильтрации, которые могут быть использованы с where в качестве блока или метода.

Разрешения GCP

Убедитесь, что API Cloud Resource Manager включён для текущего проекта.

© 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/

Spec-Zone.ru

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