azurerm_network_interfaces ресурс
Используйте azurerm_network_interfaces ресурс аудита InSpec для проверки свойств и конфигурации сетевых интерфейсов Azure.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2018-11-01 API управления Azure. Дополнительную информацию см. в Официальной документации Azure.
В настоящее время нет возможности выбрать версию документации Azure API. Если вы заметите упоминание новой версии в официальной документации, пожалуйста, откройте вопрос или отправьте запрос на включение обновленной версии.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Для его использования добавьте следующее в ваш inspec.yml в вашем профиле верхнего уровня:
depends:
inspec-azure:
git: https://github.com/inspec/inspec-azure.git
Вам также потребуется настроить свои учетные данные Azure; см. README пакета ресурсов.
Версия
Этот ресурс впервые стал доступен в версии 1.7.2 пакета ресурсов inspec-azure.
Синтаксис
Блок ресурса azurerm_network_interfaces возвращает все сетевые интерфейсы Azure, либо в пределах группы ресурсов (если указано), либо в пределах всей подписки.
describe azurerm_network_interfaces do
...
end
или
describe azurerm_network_interfaces(resource_group: 'my-rg') do
...
end
Примеры
В следующих примерах показано, как использовать этот ресурс аудита InSpec.
Проверка наличия сетевых интерфейсов
describe azurerm_network_interfaces do
it { should exist }
its('names') { should include 'my-network-interface-name' }
end
Критерии фильтрации
names
Фильтрует результаты, включая только те сетевые интерфейсы, которые соответствуют заданному имени. Это строковое значение.
describe azurerm_network_interfaces.where{ name.eql?('network-interface-5') } do
it { should exist }
end
location
Фильтрует результаты, включая только те серверы, которые находятся в заданном расположении. Это строковое значение.
describe azurerm_network_interfaces.where{ location.eql?('eastus') } do
it { should exist }
end
Атрибуты
idnamelocationpropertiestagstype
ids
Идентификатор ресурса Azure.
names
Имя сетевого интерфейса, например, nic-name.
its('names') { should include 'nic-name' }
locations
Расположение ресурса, например, eastus.
its('locations') { should_not include 'eastus' }
properties
Коллекция дополнительных свойств конфигурации, связанных с сетевым интерфейсом, например, ipConfigurations.
tag
Теги ресурса, примененные к сетевому интерфейсу.
type
Тип ресурса, обычно Microsoft.Network/networkInterfaces.
Матчеры
Этот ресурс аудита InSpec имеет следующие специальные матчеры. Полный список доступных матчеров можно найти на нашей странице Универсальные матчеры.
exists
Контроль будет пройден, если фильтр вернет хотя бы один результат. Используйте should_not если ожидается нулевое количество совпадений.
describe azurerm_network_interfaces 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_network_interfaces/