class Backup::Syncer::Cloud::CloudFiles

Attributes

api_key[RW]

Rackspace CloudFiles Credentials

auth_url[RW]

Rackspace AuthURL (optional)

container[RW]

Rackspace CloudFiles Container

fog_options[RW]

Additional options to pass along to fog. e.g. Fog::Storage.new({ :provider => 'Rackspace' }.merge(fog_options))

region[RW]

Rackspace Region (optional)

servicenet[RW]

Rackspace Service Net (LAN-based transfers to avoid charges and improve performance)

username[RW]

Rackspace CloudFiles Credentials

Public Class Methods

new(syncer_id = nil) click to toggle source
Calls superclass method Backup::Syncer::Cloud::Base::new
# File lib/backup/syncer/cloud/cloud_files.rb, line 36
def initialize(syncer_id = nil)
  super

  @servicenet ||= false

  check_configuration
end

Private Instance Methods

check_configuration() click to toggle source
# File lib/backup/syncer/cloud/cloud_files.rb, line 72
        def check_configuration
          required = %w{ username api_key container }
          raise Error, <<-EOS if required.map {|name| send(name) }.any?(&:nil?)
            Configuration Error
            #{ required.map {|name| "##{ name }"}.join(', ') } are all required
          EOS
        end
cloud_io() click to toggle source
# File lib/backup/syncer/cloud/cloud_files.rb, line 46
def cloud_io
  @cloud_io ||= CloudIO::CloudFiles.new(
    :username           => username,
    :api_key            => api_key,
    :auth_url           => auth_url,
    :region             => region,
    :servicenet         => servicenet,
    :container          => container,
    :max_retries        => max_retries,
    :retry_waitsec      => retry_waitsec,
    # Syncer can not use SLOs.
    :segments_container => nil,
    :segment_size       => 0,
    :fog_options        => fog_options
  )
end
get_remote_files(remote_base) click to toggle source
# File lib/backup/syncer/cloud/cloud_files.rb, line 63
def get_remote_files(remote_base)
  hash = {}
  cloud_io.objects(remote_base).each do |object|
    relative_path = object.name.sub(remote_base + '/', '')
    hash[relative_path] = object.hash
  end
  hash
end