Ресурс aws_internet_gateway
Используйте ресурс аудита InSpec aws_internet_gateway для проверки свойств отдельного интернет-шлюза AWS.
Синтаксис
Блок ресурса aws_internet_gateway объявляет тесты для отдельного интернет-шлюза AWS по идентификатору или имени.
describe aws_internet_gateway(id: 'igw-abc0123456789deff') do
it { should exist }
end
describe aws_internet_gateway(name: 'my-igw') do
it { should exist }
end
Параметры
Необходимо указать либо идентификатор, либо имя.
id (обязательно, если name не указано)
Значение internet_gateway_id, присвоенное AWS после создания ресурса. Оно должно быть в формате igw- и содержать 8 или 17 шестнадцатеричных символов, передаваемых как элемент пары «ключ-значение» в хеше.
name (обязательно, если id не указано)
Если к интернет-шлюзу применен тег Name, это можно использовать для поиска ресурса. Он должен быть передан как элемент пары «ключ-значение» в хеше. Если существует несколько интернет-шлюзов с одинаковым именем, этот ресурс выведет ошибку.
Свойства
| Свойство | Описание |
|---|---|
| id | Идентификатор интернет-шлюза. |
| name | Значение тега Name. Если не определено, оно nil. |
| vpc_id | Идентификатор присоединённой VPC. Если ресурс в состоянии detached, он nil |
| tags | Хеш, каждая пара «ключ-значение» соответствует тегу интернет-шлюза. |
| attached? | Указывает, присоединён ли интернет-шлюз к VPC (true или false). |
| detached? | Указывает, находится ли интернет-шлюз в состоянии отсоединения (true или false). |
| owner_id | Идентификатор учётной записи AWS, владеющей интернет-шлюзом. |
Доступны также дополнительные свойства. Для получения полного списка см. документацию по API.
Примеры
Проверка, что интернет-шлюз присоединён
describe aws_internet_gateway(name: 'my-igw') do
it { should be_attached }
end
Проверка, что идентификатор присоединённой VPC равен vpc-1234567890abcdef1
describe aws_internet_gateway(id: 'igw-abc0123456789deff') do
its('vpc_id') { should eq `vpc-1234567890abcdef1` }
end
Проверка, что интернет-шлюз имеет определённый тег
describe aws_internet_gateway(name: 'my-igw') do
its('tags') { should include('environment' => 'dev') }
its('tags') { should include('shutdown-at-10-pm') } # Regardless of the value
end
Матчеры
Этот ресурс аудита InSpec имеет следующий специальный матчер. Для полного списка доступных матчеров посетите нашу страницу матчеров.
exist
describe aws_internet_gateway(name: 'my-igw') do
it { should exist }
end
Разрешения AWS
У вашего Принципала должно быть разрешено действие ec2:DescribeInternetGateways.
Более подробную информацию можно найти в Документации по действиям, ресурсам и ключам условий для 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_internet_gateway/