Class: StackMaster::ParameterResolvers::Ejson

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

Constant Summary collapse

SecretNotFound =
Class.new(StandardError)

Instance Method Summary collapse

Methods inherited from Resolver

array_resolver

Constructor Details

#initialize(config, stack_definition) ⇒ Ejson

Returns a new instance of Ejson.



8
9
10
11
12
# File 'lib/stack_master/parameter_resolvers/ejson.rb', line 8

def initialize(config, stack_definition)
  @config = config
  @stack_definition = stack_definition
  @decrypted_ejson_files = {}
end

Instance Method Details

#resolve(secret_key) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/stack_master/parameter_resolvers/ejson.rb', line 14

def resolve(secret_key)
  validate_ejson_file_specified
  secrets = decrypt_ejson_file
  secrets.fetch(secret_key.to_sym) do
    raise SecretNotFound, "Unable to find key #{secret_key} in file #{@stack_definition.ejson_file}"
  end
end