Spec-Zone.ru › Chef 16

Ресурс azure_resource_group

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

Используйте ресурс проверки Chef InSpec, чтобы проверить количество ресурсов Azure в группе ресурсов.

Доступность

Установка

Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.

Версия

Этот ресурс впервые стал доступен в версии v2.0.16 InSpec.

Синтаксис

Имя группы ресурсов указывается как параметр ресурса:

describe azure_resource_group(name: 'MyResourceGroup') do
  its('property') { should eq 'value' }
end

где

  • MyResourceGroup — это имя группы ресурсов, которая проверяется
  • property — это свойство ресурса
  • value — ожидаемый результат от совпадения

Примеры

Следующие примеры показывают, как использовать этот ресурс проверки Chef InSpec:

Проверка правильного количества ресурсов в группе ресурсов

describe azure_resource_group_resource_count(name: 'InSpec-Azure') do
  its('total') { should eq 7}
end

Проверка, что группа ресурсов содержит правильные ресурсы

describe azure_resource_group_resource_count(name: 'InSpec-Azure') do
  its('total') { should eq 7 }
  its('vm_count') { should eq 2 }
  its('nic_count') { should eq 2 }
  its('public_ip_count') { should eq 1 }
  its('sa_count') { should eq 1 }
  its('vnet_count') { should eq 1 }
end

Параметры

  • group_name
  • name

group_name (обязательно)

Используйте этот параметр для определения группы ресурсов Azure, которая должна быть проверена.

describe azure_virtual_machine_data_disk(group_name: 'InSpec-Azure') do
    ...
end

name

Используйте этот параметр для определения имени ресурса Azure, который необходимо проверить.

describe azure_virtual_machine_data_disk(group_name: 'InSpec-Azure', name: 'Windows-Internal-VM') do
    ...
end

Если оба group_name и name установлены, name имеет приоритет.

Эти параметры также можно установить, используя переменные среды:

  • AZURE_RESOURCE_GROUP_NAME
  • AZURE_RESOURCE_NAME

При установке параметров и переменных среды, переменные среды имеют приоритет.

Пример параметра

describe azure_generic_resource(group_name: 'InSpec-Azure', name: 'Linux-Internal-VM') do
  its('location') { should eq 'westeurope' }
end

Свойства

  • name
  • location
  • id
  • provisioning_state
  • subscription_id
  • total
  • nic_count
  • vm_count
  • extension_count
  • vnet_count
  • sa_count
  • public_ip_count
  • managed_disk_image_count
  • managed_disk_count
  • tag_count

name

Проверяет имя группы ресурсов.

its('name') { should cmp 'InSpec-Azure' }

location

Проверяет местоположение группы ресурсов в Azure.

its('location') { should cmp 'westeurope' }

id

Проверяет полный квалифицированный идентификатор группы ресурсов.

Этот формат: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>.

its('id') { should cmp 'FQDN' }

provisioning_state

Проверяет состояние подготовки группы ресурсов.

its('provisioning_state') { should cmp 'Succeeded' }

total

Проверяет общее количество ресурсов в группе ресурсов.

its('total') { should eq 13 }

nic_count

Проверяет количество сетевых адаптеров в группе ресурсов.

it { should have_nics }
its('nic_count') { should eq 3 }

vm_count

Проверяет количество виртуальных машин в группе ресурсов.

its('vm_count') { should eq 5 }

vnet_count

Проверяет количество виртуальных сетей в группе ресурсов.

its('vnet_count') { should eq 5 }

sa_count

Проверяет количество хранилищ учетных записей в группе ресурсов.

its('sa_count') { should eq 5 }

public_ip_count

Проверяет количество общедоступных IP-адресов в группе ресурсов.

its('public_ip_count') { should eq 5 }

managed_disk_image_count

Проверяет количество образов управляемых дисков в группе ресурсов.

Управляемые диски создаются из образов дисков и затем подключаются к машинам. Обычно образы создаются из базового образа или пользовательского образа (например, Packer).

its('managed_disk_image_count') { should eq 5 }

managed_disk_count

Проверяет количество управляемых дисков в группе ресурсов.

Если группа ресурсов содержит одну виртуальную машину с системным диском и 2 данными дисками, которые все являются управляемыми дисками, то счет будет 3.

its('managed_disk_count') { should eq 3 }

Совпадения

Этот ресурс имеет ряд специальных совпадений, которые обеспечивают простой способ проверки существования определенного типа ресурса Azure в группе ресурсов.

Полный список доступных совпадений см. на нашей странице совпадений.

have_nics

Используйте это совпадение, чтобы проверить, существуют ли сетевые интерфейсы.

it { should have_nics }

have_vms

Используйте это совпадение, чтобы проверить, существуют ли виртуальные машины.

it { should have_vms }

have_extensions

Используйте это совпадение, чтобы проверить наличие расширений виртуальных машин.

it { should have_extensions }

have_nsgs

Используйте это совпадение, чтобы проверить существование групп безопасности сети.

it { should have_nsgs }

have_vnets

Используйте это совпадение, чтобы проверить существование виртуальных сетей.

it { should have_vnets }

have_managed_disks

Используйте это совпадение, чтобы проверить существование управляемых дисков.

it { should have_managed_disks }

have_managed_disk_images

Используйте это совпадение, чтобы проверить существование образов управляемых дисков.

it { should have_managed_disk_images }

have_sas

Используйте это совпадение, чтобы проверить существование хранилищ учетных записей.

it { should have_sas }

have_public_ips

Используйте это совпадение, чтобы проверить существование общедоступных IP-адресов.

it { should have_public_ips }

Теги

Можно проверить теги, которые были назначены ресурсу. Есть некоторые свойства для проверки, имеет ли ресурс теги, правильное количество тегов и правильные теги.

have_tags

Это простая проверка того, назначены ли теги машине или нет.

it { should have_tags }

tag_count

Возвращает количество тегов, назначенных ресурсу.

its ('tag_count') { should eq 2 }

tags

Можно проверить, установлен ли определенный тег на ресурсе.

its('tags') { should include 'owner' }

xxx_tag

Для получения значения тега создаются некоторые свойства из самих тегов.

Например, если следующий тег установлен на ресурсе:

  • owner: JG Jinglehimerschmidt

Тогда доступно свойство Owner_tag.

its('owner_tag') { should cmp 'JG Jinglehimerschmidt' }

Примечание: имя тега чувствительно к регистру, что делает тест чувствительным к регистру. Например, owner_tag не равно Owner_tag.

Ссылки

Дополнительную информацию о ресурсах Azure Ruby SDK см. по следующим ссылкам:

  • Azure Ruby SDK - Ресурсы
  • Группа ресурсов

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

Spec-Zone.ru

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