Module: Atmos

Defined in:
lib/atmos/rest.rb,
lib/atmos/util.rb,
lib/atmos/store.rb,
lib/atmos/object.rb,
lib/atmos/parser.rb,
lib/atmos/request.rb,
lib/atmos/version.rb,
lib/atmos/response.rb,
lib/atmos/attributes.rb,
lib/atmos/exceptions.rb

Defined Under Namespace

Modules: Exceptions Classes: ACL, AttributeHashBase, Metadata, Object, Parser, Request, Response, Store, Util

Constant Summary collapse

REST =
{
   :listable_tags       => { :verb             => :get, 
                             :object_uri       => '/rest/objects?listabletags', 
                             :required_headers => ['x-emc-tags'],
                             :optional_headers => ['x-emc-token'],
                             :http_response    => 200,
                             :return_headers   => ['x-emc-listable-tags'],
                           },
   :set_group_acl       => { :verb             => :post, 
                             :object_uri       => '/rest/objects/:id?acl', 
                             :required_headers => ['x-emc-groupacl'],
                             :http_response    => 200,
                           },
   :set_user_acl        => { :verb             => :post, 
                             :object_uri       => '/rest/objects/:id?acl', 
                             :required_headers => ['x-emc-useracl'],
                             :http_response    => 200,
                           },
   :set_metadata        => { :verb             => :post,
                             :object_uri       => '/rest/objects/:id?metadata/user', 
                             :http_response    => 200,
                             :required_headers => ['x-emc-meta'],
                           },
   :set_listable_metadata => { :verb           => :post,
                             :object_uri       => '/rest/objects/:id?metadata/user', 
                             :http_response    => 200,
                             :required_headers => ['x-emc-listable-meta'],
                           },
   :delete_metadata     => { :verb             => :delete, 
                             :object_uri       => '/rest/objects/:id?metadata/user', 
                             :http_response    => 204,
                             :required_headers => ['x-emc-tags'],
                           },
   :read_object         => { :verb             => :get, 
                             :object_uri       => '/rest/objects/:id', 
                             :http_response    => 200,
                             :optional_headers => ['Range'],
                           },
   :update_object       => { :verb             => :put, 
                             :object_uri       => '/rest/objects/:id', 
                             :http_response    => 200,
                             :required_headers => ['Content-Type', 'Content-Length'],
                             :optional_headers => ['x-emc-useracl', 'x-emc-groupacl', 'Range'],
                             },
   :trunc_object        => { :verb             => :put, 
                             :object_uri       => '/rest/objects/:id', 
                             :http_response    => 200,
                             :required_headers => ['Content-Length'],
                             :optional_headers => ['x-emc-useracl', 'x-emc-groupacl', 'Range'],
                             },
   :get_service_info    => { :verb             => :get, 
                             :object_uri       => '/rest/service', 
                             :response         => :xml,
                             :http_response    => 200,
                           },
                           
   :list_objects        => { :verb             => :get, 
                             :object_uri       => '/rest/objects', 
                             :response         => :xml,
                             :http_response    => 200,
                             :required_headers => ['x-emc-tags', 'Content-Type'],
                             :optional_headers => ['x-emc-include-meta', 'x-emc-tags'],
                             :errors           => { '1003' => { :class => Atmos::Exceptions::ArgumentException , 
                                                                :message => "No such listable tag found." } },
                           },

   :create_object       => { :verb             => :post, 
                             :namespace_uri    => '/rest/namespace/:namespace', 
                             :object_uri       => '/rest/objects', 
                             :http_response    => 201,
                             :optional_headers => ['x-emc-wschecksum', 'x-emc-useracl', 'x-emc-groupacl', 'x-emc-meta', 'x-emc-listable-meta'],
                             :required_headers => ['Content-Type', 'Content-Length'],
                             :return_headers   => ['x-emc-delta', 'x-emc-policy', 'location'],
                             :header2sym       => {'x-emc-wschecksum'    => :checksum, 
                                                   'x-emc-useracl'       => :user_acl,
                                                   'x-emc-groupacl'      => :group_acl, 
                                                   'x-emc-meta'          => :metadata, 
                                                   'x-emc-listable-meta' => :listable_metadata},
                           },

   :get_object_info     => { :verb           => :get, 
                             :namespace_uri  => '/rest/namespace/:namespace?info', 
                             :object_uri     => '/rest/objects/:id?info', 
                             :http_response  => 200,
                             :return_headers   => ['x-emc-policy'],
                           },
   :delete_object       => { :verb             => :delete, 
                             :object_uri       => '/rest/objects/:id', 
                             :http_response    => 204,
                             :required_headers => ['Content-Type'],
                             :return_headers   => ['x-emc-delta', 'x-emc-policy'],
                             :errors           => { '1003' => { :class => Atmos::Exceptions::NoSuchObjectException , 
                                                                :message => "Object not found to delete." } },
                           },
 
   :list_system_metadata=> { :verb             => :get, 
                             :object_uri       => '/rest/objects/:id?metadata/system', 
                             :http_response    => 200,
                             :return_headers   => ['x-emc-meta'],
                             :errors           => { '1003' => { :class => Atmos::Exceptions::NoSuchObjectException , 
                                                                :message => "Object not found to delete." } },
                           },
   :list_metadata       => { :verb             => :get, 
                             :object_uri       => '/rest/objects/:id?metadata/user', 
                             :http_response    => 200,
                             :required_headers => ['Content-Type'],
                             :return_headers   => ['x-emc-meta', 'x-emc-listable-meta'],
                           },

   :list_tags           => { :verb             => :get, 
                             :object_uri       => '/rest/objects/:id?metadata/tags', 
                             :http_response    => 200,
                             :return_headers   => ['x-emc-tags', 'x-emc-listable-tags'],
                           },

   :list_acl            => { :verb             => :get, 
                             :object_uri       => '/rest/objects/:id?acl', 
                             :http_response    => 200,
                             :return_headers   => ['x-emc-useracl', 'x-emc-groupacl'],
                           },







   :delete_version      => { :verb           => :delete, 
                             :object_uri     => '/rest/objects/:id?versions', 
                             :http_response  => 204,
                           },
   :create_version      => { :verb           => :post, 
                             :object_uri     => '/rest/objects/:id?versions' , 
                             :http_response  => 201,
                           },
   :list_versions       => { :verb           => :get,
                             :object_uri     => '/rest/objects/:id?versions',
                             :http_response => 200},
   :restore_version     => { :verb => :put,                                 
                             :object_uri => '/rest/objects/:id?versions',
                             :http_response => 200},
}
VERSION =

Version number of this library.

"1.0.4"
SUPPORTED_VERSIONS =

Array of version strings this library has been tested against.

["1.2.7", "1.3.4", "1.4.0", "1.4.1", "2.0.1"].freeze
LOG =

The logger used by the entire gem.

Log4r::Logger.get('atmos')