class CuffSert::CreateStackAction

Public Instance Methods

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