class Stacker::Stack::Parameters
Public Instance Methods
dependencies()
click to toggle source
# File lib/stacker/stack/parameters.rb, line 58 def dependencies parameters.map(&:last).map(&:dependencies).flatten end
diff(*args)
click to toggle source
# File lib/stacker/stack/parameters.rb, line 63 def diff *args Differ.yaml_diff Hash[resolved.sort], Hash[remote.sort], *args end
local()
click to toggle source
template defaults merged with region and stack-specific overrides
# File lib/stacker/stack/parameters.rb, line 22 def local region_defaults = stack.region.defaults.fetch 'parameters', {} template_defaults = Hash[ template_definitions.select { |_, opts| opts.key?('Default') }.map { |name, opts| [name, opts['Default']] } ] available = template_defaults.merge( region_defaults ).merge( stack.options.fetch 'parameters', {} ) available.slice(*template_definitions.keys) end
missing()
click to toggle source
# File lib/stacker/stack/parameters.rb, line 42 def missing template_definitions.keys - local.keys end
region_defaults()
click to toggle source
# File lib/stacker/stack/parameters.rb, line 17 def region_defaults stack.region.defaults.fetch 'parameters', {} end
remote()
click to toggle source
# File lib/stacker/stack/parameters.rb, line 46 def remote Hash[client.parameters.map do |p| [p.parameter_key, p.parameter_value] end] end
resolved()
click to toggle source
# File lib/stacker/stack/parameters.rb, line 53 def resolved Hash[parameters.map { |k, v| [ k, v.resolved ] }] end
template_definitions()
click to toggle source
everything required by the template
# File lib/stacker/stack/parameters.rb, line 13 def template_definitions stack.template.local.fetch 'Parameters', {} end
Private Instance Methods
parameters()
click to toggle source
# File lib/stacker/stack/parameters.rb, line 70 def parameters local.map { |k, v| [k, Parameter.new(v, stack.region)] } end