Class: Humidifier::Parameter

Inherits:
Object
  • Object
show all
Defined in:
lib/humidifier/parameter.rb

Overview

Represents a CFN stack parameter

Constant Summary collapse

PROPERTIES =

The allowed properties of all stack parameters

Utils.underscored(%w[AllowedPattern AllowedValues ConstraintDescription
Default Description MaxLength MaxValue MinLength
MinValue NoEcho])

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Parameter

Returns a new instance of Parameter.



12
13
14
15
16
17
18
# File 'lib/humidifier/parameter.rb', line 12

def initialize(opts = {})
  PROPERTIES.each_value do |property|
    instance_variable_set(:"@#{property}", opts[property])
  end

  @type = opts.fetch(:type, 'String')
end

Instance Method Details

#to_cfObject

CFN stack syntax



21
22
23
24
25
26
27
28
# File 'lib/humidifier/parameter.rb', line 21

def to_cf
  cf = { 'Type' => type }
  PROPERTIES.each do |name, prop|
    val = send(prop)
    cf[name] = Serializer.dump(val) if val
  end
  cf
end