azurerm_network_watcher ресурс
Используйте azurerm_network_watcher ресурс проверки InSpec для тестирования свойств наблюдателя сети Azure.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2018-02-01 API управления Azure. Дополнительную информацию см. в официальной документации Azure.
В настоящее время, похоже, нет способа выбрать версию документации Azure API. Если вы заметите упоминание новой версии в официальной документации, откройте вопрос или отправьте запрос на включение с обновлённой версией.
Доступность
Установка
Этот ресурс доступен в inspec-azure пакете ресурсов. Чтобы использовать его, добавьте следующее в ваш inspec.yml в профиле верхнего уровня:
depends:
- name: inspec-azure
git: https://github.com/inspec/inspec-azure.git
Также необходимо настроить ваши учетные данные Azure; см. README пакета ресурсов.
Синтаксис
Блок ресурса azurerm_network_watcher идентифицирует наблюдатель сети по имени и группе ресурсов.
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
...
end
Примеры
Проверка наличия указанного наблюдателя сети в примере группы ресурсов
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
it { should exist }
end
Проверка наличия наблюдателя сети в примере группы ресурсов с состоянием подготовки «Succeeded»
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
its('provisioning_state') { should eq 'Succeeded' }
end
Параметры
nameresource_group
Примеры параметров
Имя группы ресурсов и наблюдателя сети.
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
its('provisioning_state') { should eq 'Succeeded' }
end
Атрибуты
provisioning_state
provisioning_state
Поле provisioning_state можно проверить на наличие значения Состояние подготовки.
its('provisioning_state') { should eq 'Succeeded' }
Другие атрибуты
Есть дополнительные атрибуты, к которым можно получить доступ, но которые мы не документировали. Пожалуйста, ознакомьтесь с документацией Azure. Любой атрибут в ответе можно получить по имени ключа, разделенному точками (.).
API не всегда возвращает ключи, не содержащие связанных данных. Может быть, вложенное свойство на нужном уровне вызова не содержит нужного атрибута. Если вы обнаружите необходимость написания тестов для свойств, которые могут быть nil, создайте вилку этого пакета ресурсов и добавьте к ресурсу функцию доступа. В этой функции доступа вы сможете защититься от nil-ключей. Запросы на включение всегда приветствуются.
Обработчики совпадений
В этом ресурсе проверки InSpec есть следующие специальные обработчики совпадений. Полный список доступных обработчиков см. на нашей странице Универсальные обработчики совпадений.
exists
Управление будет пройдено, если ресурс вернёт результат. Используйте should_not если ожидается ноль совпадений.
# If we expect 'WatcherName' to always exist
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
it { should exist }
end
# If we expect 'WatcherNotFound' to never exist
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherNotFound') do
it { should_not 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_watcher/