lib/cfer/cfn/client.rb in cfer-0.6.2 vs lib/cfer/cfn/client.rb in cfer-0.7.0
- old
+ new
@@ -6,11 +6,11 @@
class Client < Cfer::Core::Client
attr_reader :name
attr_reader :stack
def initialize(options)
- super
+ super(options)
@name = options[:stack_name]
@options = options
@options.delete :stack_name
@cfn = Aws::CloudFormation::Client.new(@options)
flush_cache
@@ -70,11 +70,11 @@
previous_parameters = fetch_parameters rescue nil
current_version = Cfer::SEMANTIC_VERSION
previous_version = fetch_cfer_version rescue nil
- current_hash = stack.git_version
+ current_hash = stack.git_state.sha rescue nil
previous_hash = fetch_git_hash rescue nil
# Compare current and previous versions and hashes?
response.parameters.each do |tmpl_param|
@@ -110,18 +110,18 @@
end
end
Cfer::LOGGER.debug "==================="
- stack_options = {
- stack_name: name,
- capabilities: response.capabilities
- }
+ stack_options = options[:stack_options] || {}
+ stack_options.merge! stack_name: name, capabilities: response.capabilities
+
stack_options[:on_failure] = options[:on_failure] if options[:on_failure]
stack_options[:timeout_in_minutes] = options[:timeout] if options[:timeout]
stack_options[:role_arn] = options[:role_arn] if options[:role_arn]
stack_options[:notification_arns] = options[:notification_arns] if options[:notification_arns]
+ stack_options[:enable_termination_protection] = options[:enable_termination_protection] if options[:enable_termination_protection]
stack_options.merge! parse_stack_policy(:stack_policy, options[:stack_policy])
stack_options.merge! template_options