class Formatron::CloudFormation::Template::VPC::Subnet::Instance::BlockDevices

Adds block device mappings to an instance

Public Class Methods

new(block_devices:) click to toggle source
# File lib/formatron/cloud_formation/template/vpc/subnet/instance/block_devices.rb, line 11
def initialize(block_devices:)
  @block_devices = block_devices
end

Public Instance Methods

merge(properties:) click to toggle source

rubocop:disable Metrics/MethodLength

# File lib/formatron/cloud_formation/template/vpc/subnet/instance/block_devices.rb, line 16
def merge(properties:)
  return if @block_devices.length == 0
  block_device_mappings = @block_devices.map do |block_device|
    Resources::EC2.block_device_mapping(
      device: block_device.device,
      size: block_device.size,
      type: block_device.type,
      iops: block_device.iops
    )
  end
  properties[Resources::EC2::BLOCK_DEVICE_MAPPINGS] =
    block_device_mappings
end