Ресурс aws_launch_configuration
Используйте ресурс проверки InSpec aws_launch_configuration для тестирования свойств отдельной конфигурации запуска AWS.
Синтаксис
# Ensure that a launch configuration exists and has the correct key name
describe aws_launch_configuration('my-config') do
it { should exist }
its('key_name') { should be 'my-key-name' }
end
# You may also use hash syntax to pass the launch configuration name
describe aws_launch_configuration(launch_configuration_name: 'my-config') do
it { should exist }
end
Параметры
launch_configuration_name (обязательно)
Этот ресурс ожидает единственный параметр, launch_configuration_name, который однозначно идентифицирует конфигурацию запуска.
См. также документацию AWS по конфигурациям запуска.
Свойства
| Свойство | Описание |
|---|---|
| arn | Строка, представляющая ARN конфигурации запуска |
| image_id | Строка, представляющая AMI конфигурации запуска |
| instance_type | Строка, представляющая тип экземпляра конфигурации запуска |
| iam_instance_profile | Строка, представляющая профиль IAM для конфигурации запуска |
| key_name | Строка, представляющая пару ключей AWS для конфигурации запуска |
| security_groups | Массив строк идентификаторов групп безопасности, связанных с конфигурацией запуска |
| associate_public_ip_address | Булево значение, указывающее, настроена ли конфигурация запуска на установку публичного IP-адреса |
| user_data | Строка, содержащая данные пользователя, настроенные для конфигурации запуска |
| ebs_optimized | Булево значение, указывающее, оптимизирована ли конфигурация запуска для Amazon EBS |
| instance_monitoring | Строка, указывающая, установлено ли мониторирование экземпляра на detailed или basic
|
| spot_price | Число с плавающей запятой, представляющее настроенную цену spot |
Примеры
Проверка, что конфигурация запуска использует правильный AMI
describe aws_launch_configuration('my-config') do
its('image_id') { should eq 'ami-012345'}
end
Проверка типа экземпляра, используемого в конфигурации запуска
describe aws_launch_configuration('my-config') do
its('instance_type') { should eq 't3.micro'}
end
Проверка, что конфигурация запуска связана с правильным профилем IAM
describe aws_launch_configuration('my-config') do
its('iam_instance_profile') { should eq 'iam-profile' }
end
Проверка, что конфигурация запуска не устанавливает публичный IP-адрес
describe aws_launch_configuration('my-config') do
its('associate_public_ip_address') { should be false }
end
Проверка, что правильные пользовательские данные установлены на запущенных экземплярах
describe aws_launch_configuration('my-config') do
its('user_data') { should include 'user-data' }
end
Матчеры
Этот ресурс проверки InSpec имеет следующие специальные матчеры. Полный список доступных матчеров вы найдете на нашей странице матчеров.
exist
Контроль пройдет, если describe вернет по крайней мере один результат.
Используйте should_not для проверки, что сущность не должна существовать.
describe aws_launch_configuration('AnExistingLC') do
it { should exist }
end
describe aws_launch_configuration('ANonExistentLC') do
it { should_not exist }
end
Разрешения AWS
Вашему Принципалу потребуются разрешения на autoscaling:Describe* действие с эффектом Allow. Подробная документация находится по адресу Действия, ресурсы и ключи условий для групп автомасштабирования Amazon и конфигураций запуска.
© 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_launch_configuration/