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

Returns a new instance of ParameterStore.



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

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

Instance Method Details

#resolve(value) ⇒ Object



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

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