диск Azure виртуальной машины - ресурс
Используйте этот ресурс, чтобы убедиться, что определенный диск данных, подключенный к машине, был создан должным образом.
Доступность
Установка
Этот ресурс распространяется вместе с самим 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_namenameapiversion
Примеры параметров
Доступные параметры ресурса:
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_NAMEAZURE_RESOURCE_NAMEAZURE_RESOURCE_API_VERSION
Если параметры заданы и в переменных среды, переменные среды имеют приоритет.
Критерии фильтрации
numberdisk
Примеры фильтров
диск
Индекс диска, подключенного к машине, с нуля.
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 }
Ссылки
© 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/