azurerm_network_watcher ресурс
Используйте azurerm_network_watcher ресурс аудита InSpec для проверки свойств Azure Network Watcher.
Версия Azure REST API
Этот ресурс взаимодействует с версией 2018-02-01 API управления Azure. Более подробная информация представлена в официальной документации Azure.
В настоящий момент нет способа выбрать версию документации API Azure. Если вы обнаружите новую версию, упомянутую в официальной документации, откройте проблему или отправьте исправление с использованием обновлённой версии.
Доступность
Установка
Этот ресурс доступен в inspec-azure наборе ресурсов. Для использования добавьте следующее в ваш inspec.yml в вашем профиле верхнего уровня:
depends:
- name: inspec-azure
git: https://github.com/inspec/inspec-azure.git
Также вам потребуется настройка ваших учетных данных Azure; см. README набора ресурсов.
Синтаксис
Блок ресурса azurerm_network_watcher идентифицирует Network Watcher по имени и группе ресурсов.
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
...
end
Примеры
Проверка, что пример группы ресурсов имеет указанный Network Watcher
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
it { should exist }
end
Проверка, что пример группы ресурсов имеет Network Watcher со значением состояния подготовки «Succeeded»
describe azurerm_network_watcher(resource_group: 'example', name: 'WatcherName') do
its('provisioning_state') { should eq 'Succeeded' }
end
Параметры
nameresource_group
Примеры параметров
Группа ресурсов, а также имя Network Watcher.
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 может не всегда возвращать ключи, не имеющие связанных данных. Возможно, в некоторых случаях глубоко вложенное свойство может не содержать нужный атрибут при вызове. Если вам нужно писать тесты на свойства, которые могут быть null, создайте форк этого пакета ресурсов и добавьте аксессор к ресурсу. В этом аксессоре вы сможете защититься от null-ключей. Pull-request всегда приветствуется.
Сопоставители
В этом ресурсе аудита 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/