Class: StackMaster::ParameterResolvers::ParameterStore

Inherits:
Resolver
  • Object
show all
Defined in:
lib/stack_master/parameter_resolvers/parameter_store.rb

Constant Summary collapse

ParameterNotFound =
Class.new(StandardError)

Instance Method Summary collapse

Methods inherited from Resolver

array_resolver

Constructor Details

#initialize(config, stack_definition) ⇒ ParameterStore



6
7
8
9
# File 'lib/stack_master/parameter_resolvers/parameter_store.rb', line 6

def initialize(config, stack_definition)
  @config = config
  @stack_definition = stack_definition
end

Instance Method Details

#resolve(value) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/stack_master/parameter_resolvers/parameter_store.rb', line 11

def resolve(value)
  begin
    ssm = Aws::SSM::Client.new({ region: @stack_definition.region })
    resp = ssm.get_parameter({ name: value, with_decryption: true })
  rescue Aws::SSM::Errors::ParameterNotFound
    raise ParameterNotFound, "Unable to find #{value} in Parameter Store"
  end
  resp.parameter.value
end