Spec-Zone.ru › Chef 18

Ресурс aws_nat_gateway

[править на GitHub]

Используйте ресурс аудита InSpec aws_nat_gateway, чтобы проверить свойства отдельного шлюза NAT AWS.

Синтаксис

Блок ресурса aws_nat_gateway описывает тесты для отдельного шлюза NAT AWS по id, имени, vpc_id или subnet_id.

describe aws_nat_gateway(id: 'nat-abc0123456789deff') do
  it { should exist }
end

describe aws_nat_gateway(name: 'my-nat-gateway') do
  it { should exist }
end

Можно указать несколько параметров для большей детализации.

describe aws_nat_gateway(vpc_id: 'vpc-abc01234', subnet_id: 'subnet-6789deff') do
  it { should exist }
end

Параметры

Необходимо указать хотя бы один из следующих параметров.

  • id
  • name
  • subnet_id
  • vpc_id

id

Значение nat_gateway_id присвоенное AWS после создания ресурса. Оно должно быть в формате nat-, за которым следуют 8 или 17 шестнадцатеричных символов, и передаваться как id: 'value' пара ключ-значение в хеше.

name

Если шлюзу NAT применен тег Name, это можно использовать для поиска ресурса. Оно должно быть передано как name: 'value' пара ключ-значение в хеше. Если существует несколько шлюзов NAT с одинаковым именем, этот ресурс выведет ошибку.

subnet_id

ID подсети, в которой размещен шлюз NAT. Он должен быть в формате subnet- , за которым следуют 8 или 17 шестнадцатеричных символов, и передаваться как subnet_id: 'value' пара ключ-значение в хеше.

vpc_id

ID VPC, в котором расположен шлюз NAT. Он должен быть в формате vpc- , за которым следуют 8 или 17 шестнадцатеричных символов, и передаваться как vpc_id: 'value' пара ключ-значение в хеше.

Свойства

Свойство Описание
id ID шлюза NAT.
name Значение тега Name. Оно nil если не определено.
vpc_id ID VPC, в котором расположен шлюз NAT.
subnet_id ID подсети, в которой размещен шлюз NAT.
tags Хеш, где каждая пара ключ-значение соответствует тегу шлюза NAT.
nat_gateway_address_set Хеш объекта NatGatewayAddress, который содержит информацию об IP-адресах и сетевом интерфейсе, связанных со шлюзом NAT.
state Состояние шлюза NAT. Допустимые значения: pending, failed, available, deleting и deleted.

Доступны и другие свойства. Полный список см. в документации API.

Примеры

Проверка, что шлюз NAT находится в состоянии available

describe aws_nat_gateway(name: 'my-nat-gateway') do
  its('state') { should eq 'available' }
end

Проверка, что ID VPC равен vpc-1234567890abcdef1

describe aws_nat_gateway(id: 'nat-abc0123456789deff') do
  its('vpc_id') { should eq `vpc-1234567890abcdef1` }
end

Проверка, что у шлюза NAT есть определенный тег

describe aws_nat_gateway(name: 'my-nat-gateway') do
  its('tags') { should include('environment' => 'dev') }
  its('tags') { should include('delete-at-10-pm') }         # Regardless of the value
end

Проверка, что частный IP-адрес равен 10.0.1.68

describe aws_nat_gateway(vpc_id: 'vpc-abc01234', subnet_id: 'subnet-12345678') do
  its('nat_gateway_address_set') { should include(:private_ip => '10.0.1.68') }
end

Дополнительные примеры см. в интеграционных тестах.

Матчеры

Этот ресурс аудита InSpec имеет следующие специальные матчеры. Полный список доступных матчеров см. на нашей странице матчеров.

exist

describe aws_nat_gateway(name: 'my-nat-gateway') do
    it { should 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_gateway/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API