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.



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

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



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

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