Spec-Zone.ru › Chef 16

Диск данных виртуальной машины Azure

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

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

Доступность

Установка

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

Версия

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

Синтаксис

Для использования этого ресурса требуется имя группы ресурсов и имя машины.

describe azure_virtual_machine_data_disk(group_name: 'InSpec-Azure', name: 'MyVM') do
  its('property') { should eq 'value' }
end

где:

  • MyVm — имя виртуальной машины, как оно отображается в Azure. (Это не имя хоста машины)
  • InSpec-Azure — имя группы ресурсов, в которой находится машина.
  • property — свойство ресурса
  • value — ожидаемый результат от матчера

Примеры

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

Проверка правильности размера первого диска данных

describe azure_virtual_machine_data_disk(group_name: 'InSpec-Azure', name: 'Linux-Internal-VM').where(number: 1) do
  its('size') { should cmp >= 15 }
end

Параметры ресурса

  • group_name
  • name
  • apiversion

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

Доступные параметры для ресурса:

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

apiversion

Версия API для запроса ресурса. По умолчанию используется последняя версия для ресурса.

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

Эти параметры также можно задать с помощью переменных окружения:

  • AZURE_RESOURCE_GROUP_NAME
  • AZURE_RESOURCE_NAME
  • AZURE_RESOURCE_API_VERSION

Если параметры заданы и в переменных окружения, приоритет имеют переменные окружения.

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

  • number
  • disk

Примеры фильтров

disk

Индекс диска, подключённого к машине, начиная с нуля.

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

number

Индекс диска, подключённого к машине, начиная с единицы.

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

Свойства

  • count, disk, number, name, size, lun, caching, create_option, is_managed_disk?, vhd_uri, storage_account_name, storage_account_type, id, subscription_id, resource_group

Примеры свойств

count

Возвращает количество дисков данных, подключенных к машине.

its('count') { should eq 1 }

name

Возвращает имя диска в виде строки.

its('name') { should cmp 'linux-external-datadisk-1' }

size

Возвращает размер диска в ГБ в виде целого числа.

its('size') { should cmp >= 15 }

lun

Номер диска, как он отображается в Azure. Имеет индекс, начинающийся с нуля.

its('lun') { should cmp 0 }

caching

Строка, описывающая кэширование, установленное на диске.

its('caching') { should cmp 'none' }

create_option

Способ создания диска. Для дисков данных обычно это строка «Empty».

its('create_option') { should cmp 'Empty' }

is_managed_disk?

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

its('is_managed_disk?') { should cmp 'false' }

vhd_uri

Если это не управляемый диск, то vhd_uri будет полным URI диска в хранилище.

its('vhd_uri') { should cmp 'https://primary_storage.blob.core.windows.net/container_name/vm_name.vhd' }

storage_account_name

Если это не управляемый диск, это имя хранилища, в котором хранится диск.

Это получено из vhd_uri.

its('storage_account_name') { should cmp 'primary_storage' }

storage_account_type

Если это управляемый диск, это тип хранилища, например Standard_LRS.

its('storage_account_type') { should cmp 'Standard_LRS' }

id

Если это управляемый диск, это полный идентификатор диска в Azure.

its('id') { should cmp '/subscriptions/1234abcd-e567-890f-g123-456h78i9jkl0/resourceGroups/InSpec-Azure' }

subscription_id

Если это управляемый диск, это идентификатор подписки, в которой хранится диск.

Это получено из id.

its('subscription_id') { should cmp '1234abcd-e567-890f-g123-456h78i9jkl0' }

resource_group

Если это управляемый диск, это группа ресурсов, в которой хранится диск.

Это получено из id.

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

## Матчеры

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

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

have_data_disks

Возвращает булево значение, указывающее, подключены ли к машине какие-либо диски данных.

it { should have_data_disks }

have_managed_disks

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

it { should have_managed_disks }

Ссылки

  • Azure Ruby SDK - Compute
  • Внутренние диски Linux
  • Внутренние диски Windows

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

Spec-Zone.ru

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