Spec-Zone.ru › Chef 17

azurerm_virtual_machine_disk ресурс

[редактировать на GitHub]

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

Версия Azure REST API

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

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

Доступность

Установка

Этот ресурс доступен в 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, создайте ветку этого пакета ресурсов и добавьте доступ к ресурсу. В этом доступе вы сможете защититься от ключей nil. Запросы на вытягивание всегда приветствуются.

Соответствия

Этот ресурс аудита 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