NAME
   Net::XIPCloud - Perl extension for interacting with Internap's XIPCloud
   storage platform

SYNOPSIS
   use Net::XIPCloud;

   my $xip = Net::XIPCloud->new( username => 'myusername', password =>
   'mypassword );

   $xip->connect();

   $xip->cp("fromcontainer","fromobject","tocontainer","toobject");

   $xip->mv("fromcontainer","fromobject","tocontainer","toobject");

   $xip->file("somecontainer","someobject");

   $xip->file("somecontainer/some/pseudo/path/to/object");

   $xip->ls();

   $xip->ls("mycontainer");

   $xip->ls("mycontainer/some/pseudo/path/");

   $xip->mkdir("newcontainer");

   $xip->mkdir("newcontainer/some/pseudo/path/");

   $xip->rmdir("somecontainer");

   $xip->du();

   $xip->du("somecontainer");

   my $data = $xip->get_value("somecontainer","someobject");

   $xip->get_file("somecontainer","someobject","/tmp/someobject");

   $xip->put_value("somecontainer","someobject",$data,"text/html");

   $xip->put_file("somecontainer","someobject","/tmp/someobject","text/html
   ");

   $xip->get_fhstream("somecontainer","someobject",*STDOUT);

   $xip->rm("somecontainer","someobject");

   $xip->create_manifest("somecontainer","someobject");

DESCRIPTION
   This perl module creates an XIPCloud object, which allows direct
   manipulation of objects and containers within Internap's XIPCloud
   storage.

   A valid XIPCloud account is required to use this module

 new( username => 'username', password => 'password');
   Returns a reference to a new XIPCloud object. This method requires
   passing of a valid username and password.

 connect()
   Connects to XIPCloud using the username and password provids in the
   new() call.

   Method returns 1 for success and undef for failure.

 ls([CONTAINER])
   Depending on the calling arguments, this method returns the list of
   containers or list of objects within a single container as an array
   reference.

   Limit and marker values may be provided (see API documentation) for
   pagination.

 file("somecontainer","someobject")
   This call returns metadata about a specific object.

 cp("fromcontainer","fromobject",'tocontainer","toobject");
   Copy the contents of one object to another

 mv("fromcontainer","fromobject",'tocontainer","toobject");
   Rename an object, clobbering any existing object

 mkdir("somecontainer")
   This method creates a new container. It returns 1 for success and undef
   for failure.

 rmdir("somecontainer")
   This method removes a container and its contents. It returns 1 for
   success and undef for failure.

 du([CONTAINER])
   Depending on calling arguments, this method returns account or
   container-level statistics as a hash reference.

 get_value("somecontainer","someobject")
   This method returns a scalar value, containing the body of the requested
   object.

 put_value("somecontainer","someobject","..data..","text/html")
   This method places the contents of a passed scalar into the specified
   container and object.

   Content-type may be specified, but is optional. It defaults to
   "text/plain"

 get_file("somecontainer","someobject","/tmp/destfile")
   This method places the contents of the requested object in a target
   location of the filesystem.

 put_file("somecontainer","someobject","/tmp/sourcefile","text/html")
   This method places the contents of a specified source file into an
   object.

 get_fhstream("somecontainer","someobject",*FILE)
   This method takes a container, object and open file handle as arguments.
   It retrieves the object in chunks, which it writes to *FILE as they are
   received.

 rm("somecontainer","someobject")
   This method removes an object.

 create_manifest("somecontainer","someobject")
   This method creates a manifest for large-object support

AUTHOR
   Dennis Opacki, [email protected]

SEE ALSO
   perl(1).