Class: StackMaster::ParameterResolvers::LatestAmi

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

Instance Method Summary collapse

Methods inherited from Resolver

array_resolver

Constructor Details

#initialize(config, stack_definition) ⇒ LatestAmi

Returns a new instance of LatestAmi.



6
7
8
9
# File 'lib/stack_master/parameter_resolvers/latest_ami.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
# File 'lib/stack_master/parameter_resolvers/latest_ami.rb', line 11

def resolve(value)
  owners = Array(value.fetch('owners', 'self').to_s)
  ami_finder = AmiFinder.new(@stack_definition.region)
  filters = ami_finder.build_filters_from_hash(value.fetch('filters'))
  ami_finder.find_latest_ami(filters, owners)&.image_id
end