Class: Lono::Cfn::Download
Instance Method Summary collapse
- #convert_to_yaml(body) ⇒ Object
- #download_path ⇒ Object
- #download_template ⇒ Object
- #json?(body) ⇒ Boolean
- #run ⇒ Object
Methods inherited from Base
#build_files, #build_scripts, #capabilities, #check_files, #check_for_errors, #command_with_iam, #continue_update_rollback, #continue_update_rollback_sure?, #delete_rollback_stack, #ensure_s3_bucket_exist, #exit_unless_updatable!, #generate_all, #generate_templates, #initialize, #param_generator, #post_process_templates, #pretty_path, #prompt_for_iam, #quit, #set_template_body!, #show_parameters, #stack_status, #starting_message, #status, #tags, #upload_files, #upload_scripts, #upload_templates
Methods included from Util
#are_you_sure?, #switch_current
Methods included from Suffix
#allow_suffix?, #append_suffix, #random_suffix, #remove_suffix, #stack_name_suffix
Methods included from Lono::Conventions
Methods included from Blueprint::Root
#bundler_groups, #find_blueprint_root, #require_bundle_gems, #set_blueprint_root
Methods included from AwsServices
#cfn, #ec2, #iam, #s3, #s3_presigner, #s3_resource, #sts
Methods included from AwsServices::Util
#find_stack, #rollback_complete?, #stack_exists?, #testing_update?
Constructor Details
This class inherits a constructor from Lono::Cfn::Base
Instance Method Details
#convert_to_yaml(body) ⇒ Object
20 21 22 |
# File 'lib/lono/cfn/download.rb', line 20 def convert_to_yaml(body) json?(body) ? YAML.dump(JSON.parse(body)) : body end |
#download_path ⇒ Object
28 29 30 31 |
# File 'lib/lono/cfn/download.rb', line 28 def download_path name = @options[:name] || @stack_name "/tmp/#{name}.yml" end |
#download_template ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/lono/cfn/download.rb', line 11 def download_template resp = cfn.get_template( stack_name: @stack_name, template_stage: "Original" ) body = convert_to_yaml(resp.template_body) IO.write(download_path, body) end |
#json?(body) ⇒ Boolean
24 25 26 |
# File 'lib/lono/cfn/download.rb', line 24 def json?(body) !!JSON.parse(body) rescue false end |
#run ⇒ Object
5 6 7 8 9 |
# File 'lib/lono/cfn/download.rb', line 5 def run puts "Download existing template to: #{download_path}" return if @options[:noop] download_template end |