Method: Sfn::Utils::StackExporter#export

Defined in:
lib/sfn/utils/stack_exporter.rb

#exportHash

Export stack

Returns:

  • (Hash)

    exported stack



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/sfn/utils/stack_exporter.rb', line 66

def export
  @stack_export = Smash.new(DEFAULT_EXPORT_STRUCTURE).tap do |stack_export|
    [:parameters, :capabilities, :notification_topics].each do |key|
      if val = stack.send(key)
        stack_export[:stack][key] = val
      end
    end
    stack_export[:stack][:template] = stack.template
    stack_export[:generator][:timestamp] = Time.now.to_i
    stack_export[:generator][:provider] = stack.provider.connection.provider
    if chef_popsicle? && defined?(Chef)
      freeze_runlists(stack_export)
    end
    remove_ignored_parameters(stack_export)
    stack_export[:stack][:template] = _to_json(
      stack_export[:stack][:template]
    )
  end
end