Ресурс aws_nat_gateways
Используйте ресурс аудита aws_nat_gateways InSpec для проверки свойств всех шлюзов NAT AWS, принадлежащих учетной записи AWS.
Синтаксис
Блок ресурса aws_nat_gateways собирает все шлюзы NAT и затем проверяет эту группу.
describe aws_nat_gateways do
it { should exist }
end
Параметры
Этот ресурс не ожидает никаких параметров.
Свойства
| Свойство | Описание |
|---|---|
| ids | ID шлюза NAT. Название поля — id. |
| names | Значение тега Name. Значение — nil, если не определено. Название поля — name. |
| vpc_ids | ID VPC, в котором находится шлюз NAT. Название поля — vpc_id. |
| subnet_ids | ID подсети, в которой размещен шлюз NAT. Название поля — subnet_id. |
| tags | Хэш, где каждая пара ключ-значение соответствует тегу шлюза NAT. Название поля — tags. |
| states | Состояние шлюза NAT. Допустимые значения: pending, failed, available, deleting и deleted. Название поля — state. |
Примеры
Проверка наличия ровно 3 шлюзов NAT
describe aws_nat_gateways do
its('count') { should cmp 3 }
end
Запрос ID всех шлюзов NAT
Используйте этот ресурс InSpec для запроса id всех шлюзов NAT, а затем проведите углублённую проверку с помощью ресурса aws_nat_gateway InSpec для отдельных ресурсов AWS.
aws_nat_gateways.ids.each do |id|
describe aws_nat_gateway(id: id) do
its('state') { should eq 'available' }
end
end
Для получения дополнительных примеров, пожалуйста, ознакомьтесь с интеграционными тестами.
Обработчики
Полный список доступных обработчиков доступен на нашей странице Универсальные обработчики.
exist
Контроль пройдёт, если описание вернёт по крайней мере один результат. Имена полей, описанные в таблице свойств, должны быть использованы для <property> в where части.
Используйте should_not для проверки того, что сущность не должна существовать.
describe aws_nat_gateways.where( <property>: <value>) do
it { should exist }
end
describe aws_nat_gateways.where( <property>: <value>) do
it { should_not exist }
end
Дополнительную информацию о том, как использовать таблицу фильтров, см. здесь.
Разрешения AWS
Для вашего принципала должно быть разрешено действие ec2:DescribeNatGateways.
Подробную документацию можно найти по адресам Действия, ресурсы и ключи условий для Amazon EC2 и Действия, ресурсы и ключи условий для Identity and Access Management.
© 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/aws_nat_gateways/