Spec-Zone.ru › Chef 16

ресурс 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

Если тегу Name присвоено значение тега шлюза NAT, это можно использовать для поиска ресурса. Оно должно передаваться как запись 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