Method: Stackup::ChangeSet#create
- Defined in:
- lib/stackup/change_set.rb
#create(options = {}) ⇒ String
Create the change-set.
Refer Aws::CloudFormation::Client#create_change_set
(see http://docs.aws.amazon.com/sdkforruby/api/Aws/CloudFormation/Client.html#create_change_set-instance_method)
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/stackup/change_set.rb', line 53 def create( = {}) = .dup [:stack_name] = stack.name [:change_set_name] = name [:change_set_type] = stack.exists? ? "UPDATE" : "CREATE" force = .delete(:force) if (template_data = .delete(:template)) [:template_body] = MultiJson.dump(template_data) end if (parameters = [:parameters]) [:parameters] = Parameters.new(parameters).to_a end if ( = [:tags]) [:tags] = () end [:capabilities] ||= ["CAPABILITY_NAMED_IAM"] delete if force handling_cf_errors do cf_client.create_change_set() loop do current = describe logger.debug("change_set_status=#{current.status}") case current.status when /COMPLETE/ return current.status when "FAILED" logger.error(current.status_reason) fail StackUpdateError, "change-set creation failed" if status == "FAILED" end sleep(wait_poll_interval) end status end end |