class OpenStax::Aws::Stack::Status
Public Class Methods
active_status_texts()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 81 def self.active_status_texts all_status_texts - %w(CREATE_FAILED DELETE_COMPLETE) end
all_status_texts()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 54 def self.all_status_texts %w( CREATE_IN_PROGRESS CREATE_FAILED CREATE_COMPLETE ROLLBACK_IN_PROGRESS ROLLBACK_FAILED ROLLBACK_COMPLETE DELETE_IN_PROGRESS DELETE_FAILED DELETE_COMPLETE UPDATE_IN_PROGRESS UPDATE_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_COMPLETE UPDATE_ROLLBACK_IN_PROGRESS UPDATE_ROLLBACK_FAILED UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_ROLLBACK_COMPLETE REVIEW_IN_PROGRESS IMPORT_IN_PROGRESS IMPORT_COMPLETE IMPORT_ROLLBACK_IN_PROGRESS IMPORT_ROLLBACK_FAILED IMPORT_ROLLBACK_COMPLETE ) end
does_not_exist_status_text()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 50 def self.does_not_exist_status_text "DOES_NOT_EXIST" end
failure_status_texts()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 85 def self.failure_status_texts %w( UPDATE_ROLLBACK_COMPLETE ROLLBACK_COMPLETE ROLLBACK_IN_PROGRESS CREATE_FAILED ROLLBACK_FAILED DELETE_FAILED UPDATE_ROLLBACK_FAILED IMPORT_ROLLBACK_FAILED ) end
new(stack)
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 4 def initialize(stack) @stack = stack end
success_status_texts()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 98 def self.success_status_texts %w( UPDATE_COMPLETE DELETE_COMPLETE CREATE_COMPLETE ) end
Public Instance Methods
creating?()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 38 def creating? "CREATE_IN_PROGRESS" == status_text end
deleting?()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 42 def deleting? "DELETE_IN_PROGRESS" == status_text end
exists?()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 46 def exists? self.class.does_not_exist_status_text != status_text end
failed?()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 21 def failed? self.class.failure_status_texts.include?(status_text) end
failed_events_since_last_user_event()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 106 def failed_events_since_last_user_event @stack.events.each_with_object([]) do |event, array| array.push(event) if event.failed? && event.status_reason #if nil, don't push return array if event.user_initiated? end end
status_text()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 8 def status_text begin @stack.aws_stack.stack_status rescue Aws::CloudFormation::Errors::ValidationError => ee case ee.message when /Stack.*does not exist/ self.class.does_not_exist_status_text else raise end end end
succeeded?()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 25 def succeeded? self.class.success_status_texts.include?(status_text) end
to_h()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 113 def to_h { status: status_text, failed_events_since_last_user_event: failed? ? failed_events_since_last_user_event : [] } end
to_json()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 120 def to_json to_h.to_json end
updating?()
click to toggle source
# File lib/openstax/aws/stack_status.rb, line 29 def updating? %w( UPDATE_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_IN_PROGRESS UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS UPDATE_ROLLBACK_IN_PROGRESS ).include?(status_text) end