Spec-Zone.ru › Chef 16

Ресурс aws_ebs_volume

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

Используйте ресурс аудита InSpec aws_ebs_volume, чтобы проверить свойства отдельного тома AWS EBS.

Синтаксис

Убедитесь, что EBS существует

describe aws_ebs_volume('vol-01a2349e94458a507') do
  it { should exist }
end

Вы также можете использовать синтаксис хеша для передачи имени тома EBS

describe aws_ebs_volume(name: 'data-vol') do
  it { should exist }
end

Параметры

Этот ресурс принимает единственный параметр, либо имя, либо ID тома EBS. Один из них должен быть предоставлен.

volume_id (обязательно, если name не предоставлен)

ID тома EBS, который однозначно идентифицирует том. Его можно передать как строку или volume_id: 'value' пару ключ-значение в хеше.

name (обязательно, если volume_id не предоставлен)

Имя тома EBS, которое однозначно идентифицирует том. Его необходимо передать как name: 'value' пару ключ-значение в хеше.

См. также документацию AWS по EBS.

Свойства

Свойство Описание
availability_zone Зона доступности тома.
encrypted Указывает, будет ли том зашифрован.
iops Количество операций ввода-вывода в секунду (IOPS), поддерживаемых томом.
kms_key_id Полный ARN ключа шифрования AWS Key Management Service (AWS KMS) (CMK), который использовался для защиты ключа шифрования тома.
size Размер тома в GiB.
snapshot_id Снимок, из которого был создан том, применимо.
status Состояние тома.
volume_type Тип тома.

Примеры

Проверка, что том EBS не существует

describe aws_ebs_volume(name: 'data_vol') do
  it { should_not exist }
end

Проверка, что том EBS зашифрован

describe aws_ebs_volume(name: 'secure_data_vol') do
  it { should be_encrypted }
end

Проверка, что том EBS имеет правильный размер

describe aws_ebs_volume(name: 'data_vol') do
  its('size') { should cmp 32 }
end

Матчеры

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

exist

Контроль пройдет, если describe вернет как минимум один результат.

Используйте should_not для проверки, что сущность не должна существовать.

describe aws_ebs_volume(name: 'data_vol') do
  it { should exist }
end

describe aws_ebs_volume(name: 'data_vol') do
  it { should_not exist }
end

be_encrypted

Матчер be_encrypted проверяет, зашифрован ли описанный том EBS.

it { should be_encrypted }

Разрешения AWS

Вашему Принципалу понадобятся ec2:DescribeVolumes, и iam:GetInstanceProfile действия, установленные на разрешение.

Подробную документацию можно найти по адресу Действия, ресурсы и ключи условий для 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_ebs_volume/

Spec-Zone.ru

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