Ресурс azurerm_network_interfaces
Используйте ресурс аудита azurerm_network_interfaces InSpec для проверки свойств и конфигурации сетевых интерфейсов Azure.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2018-11-01 API управления Azure. Дополнительную информацию см. в официальной документации Azure.
В настоящий момент, похоже, нет способа выбрать версию документации API Azure. Если вы обнаружите более новую версию, упомянутую в официальной документации, пожалуйста, откройте вопрос или отправьте запрос на добавление, используя обновленную версию.
Доступность
Установка
Этот ресурс доступен в 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
Критерии фильтрации
имена
Фильтрует результаты, включая только те сетевые интерфейсы, которые соответствуют заданному имени. Это строковое значение.
describe azurerm_network_interfaces.where{ name.eql?('network-interface-5') } do
it { should exist }
end
местоположение
Фильтрует результаты, включая только те серверы, которые находятся в заданном месте. Это строковое значение.
describe azurerm_network_interfaces.where{ location.eql?('eastus') } do
it { should exist }
end
Атрибуты
idnamelocationpropertiestagstype
идентификаторы
Идентификатор ресурса Azure.
имена
Имя сетевого интерфейса, например nic-name.
its('names') { should include 'nic-name' }
местоположения
Местоположение ресурса, например eastus.
its('locations') { should_not include 'eastus' }
свойства
Коллекция дополнительных свойств конфигурации, относящихся к сетевому интерфейсу, например ipConfigurations.
метка
Метки ресурсов, примененные к сетевому интерфейсу.
тип
Тип ресурса, обычно Microsoft.Network/networkInterfaces.
Сопоставители
Этот ресурс аудита InSpec имеет следующие специальные сопоставители. Полный список доступных сопоставителей можно найти на нашей странице Универсальных сопоставителей.
существует
Контроль пройдет, если фильтр вернет по крайней мере один результат. Используйте 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/