Spec-Zone.ru › Chef 16

azurerm_virtual_machine_disk ресурс

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

Используйте ресурс проверки InSpec для аудита свойств диска виртуальной машины. Этот ресурс поддерживает только управляемые диски. Если ваш диск не является управляемым, он не exist к соответствию.

Версия Azure REST API

Этот ресурс взаимодействует с версией 2017-03-30 API Azure Management. Дополнительную информацию можно найти в официальной документации Azure.

В настоящее время нет возможности выбрать версию документации Azure API. Если вы обнаружите новую версию, упомянутую в официальной документации, пожалуйста, откройте вопрос или отправьте запрос на включение обновленной версии.

Доступность

Установка

Этот ресурс доступен в inspec-azure наборе ресурсов. Для его использования добавьте следующее в inspec.yml в вашем профиле верхнего уровня:

depends:
  - name: inspec-azure
    git: https://github.com/inspec/inspec-azure.git

Вам также необходимо настроить свои учетные данные Azure; см. README набора ресурсов.

Версия

Этот ресурс впервые стал доступен в версии 1.0.0 набора ресурсов inspec-azure.

Синтаксис

Параметры resource_group и name должны быть заданы.

describe azurerm_virtual_machine_disk(resource_group: 'MyResourceGroup', name: 'MyDiskName') do
  ...
end

Примеры

# If a disk is found it will exist
describe azurerm_virtual_machine_disk(resource_group: 'MyResourceGroup', name: 'MyDiskName') do
  it { should exist }
end

# Check if encryption is enabled
describe azurerm_virtual_machine_disk(resource_group: 'MyResourceGroup', name: 'MyDiskName') do
  its('encryption_enabled') { should be true }
end

Параметры

  • resource_group, name

Примеры параметров

# resource_group and name are required parameters
describe azurerm_virtual_machine_disk(resource_group: 'MyGroup', name: 'MyDiskName') do
  ...
end

Атрибуты

  • id
  • name
  • managedBy
  • sku
  • properties
  • type
  • location
  • tags
  • encryption_enabled

id

Уникальный идентификатор диска.

its('id') { should eq(id) }

Идентификатор будет иметь формат:

/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk

name

Имя диска.

its('name') { should eq('MyDiskName') }

managedBy

Ресурс, управляющий диском, если он подключен к виртуальной машине.

its('managedBy') { should eq(ResourceId) }

ResourceId будет иметь формат:

/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk

sku

Имя sku диска (Standard_LRS|StandardSSD_LRS|Premium_LRS).

its('sku.name') { should eq('Standard_LRS') }

properties

Свойства диска. Это хеш пар ключ-значение.

type

Тип диска. Всегда будет Microsoft.Compute/disks.

its('type') { should eq('Microsoft.Compute/disks') }

location

Расположение диска. Будет регионом, где находится диск.

its('location') { should eq('West US') }

tags

Теги диска. Будут хешем пар ключ-значение.

its('tags') { should eq({ 'department' => 'IT' })

encryption_enabled

Если диск зашифрован или нет (true|false).

its('encryption_enabled') { should be true }

Другие атрибуты

Есть дополнительные атрибуты, к которым можно получить доступ, которые мы не задокументировали. Пожалуйста, обратитесь к документации Azure. Любой атрибут в ответе можно получить, используя имена ключей, разделенные точками (.).

API может не всегда возвращать ключи, для которых нет связанных данных. В некоторых случаях глубоко вложенный атрибут может отсутствовать в вашей цепочке вызова. Если вы пишете тесты для атрибутов, которые могут быть nil, создайте ветку этого набора ресурсов и добавьте accessor для ресурса. В этом accessor вы сможете предотвратить nil-ключевые значения. Pull request всегда приветствуются.

Сопоставители

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

exists

describe azurerm_virtual_machine_disk(resource_group: 'MyResourceGroup', name: 'MyDiskName') do
  it { should exist }
end

Разрешения Azure

Ваш сервисный принцип должен быть настроен с ролью contributor на подписке, которую вы хотите проверить.

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

Spec-Zone.ru

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