class CuffSert::RecreateStackAction

Public Instance Methods

as_observable() click to toggle source
# File lib/cuffsert/actions.rb, line 159
def as_observable
  crt_args = CuffSert.as_create_stack_args(@meta)
  del_args = CuffSert.as_delete_stack_args(@stack)
  upload_uri, maybe_upload = upload_template_if_oversized(crt_args)
  crt_args[:template_url] = upload_uri if upload_uri
  maybe_upload.concat(
    Rx::Observable.of([:recreate, @stack]),
    Rx::Observable.defer do
      if @confirmation.call(@meta, :recreate, @stack)
        Rx::Observable.concat(
          @cfclient.delete_stack(del_args),
          @cfclient.create_stack(crt_args),
          Done.new.as_observable
        )
      else
        CuffSert::Abort.new('User abort!').as_observable
      end
    end
  )
end
validate!() click to toggle source
# File lib/cuffsert/actions.rb, line 153
def validate!
  if @meta.stack_uri.nil?
    raise "You need to pass a template to re-create #{@meta.stackname}" # in #{@meta.aws_region}."
  end
end