Spec-Zone.ru › Chef 18

диск 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

имя

Используйте этот параметр для определения имени ресурса 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

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

диск

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

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

номер

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

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

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

количество

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

its('count') { should eq 1 }

имя

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

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

размер

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

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

lun

Номер диска, указанный в Azure. Имеет нулевой индекс.

its('lun') { should cmp 0 }

кеширование

Строка, содержащая установленное кеширование диска.

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

параметр создания

Способ создания диска. Обычно для дисков данных это строковое значение 'Empty'.

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

является_диском_управления?

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

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' }

имя_учетной_записи_хранилища

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

Получено из vhd_uri.

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

тип_учетной_записи_хранилища

Если это управляемый диск, это тип учетной записи хранилища, например 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' }

идентификатор_подписки

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

Получено из id.

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

группа_ресурсов

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

Получено из id.

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

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

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

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

иметь_диски_данных

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

it { should have_data_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