WebService::Rackspace::CloudFiles::Container - Represent a Cloud Files container
This class represents a container in Cloud Files. It is created by calling new_container or container on a WebService::Rackspace::CloudFiles object.
Returns the name of the container:
say 'have container ' . $container->name;
Return true if the container is public.
The TTL (Time To Live) of the container and its objects.
HTTP CDN URL to container, only applies when the container is public.
HTTPS CDN URL to container, only applies when the container is public.
Retrieve CDN settings if the container is public.
Enable CDN to make contents of container public. $ttl Defaults to 72-hours and $log_retention defaults to false.
Disable the CDN enabled container. Doesn't purge objects from CDN which means that they'll be available until their TTL expires.
Perform a HEAD request.
Returns the total number of objects in the container:
my $object_count = $container->object_count;
Returns the total number of bytes used by objects in the container:
my $bytes_used = $container->bytes_used;
Returns a list of objects in the container as WebService::Rackspace::CloudFiles::Object objects. As the API only returns ten thousand objects per request, this module may have to do multiple requests to fetch all the objects in the container. This is exposed by using a Data::Stream::Bulk object. You can also pass in a prefix:
foreach my $object ($container->objects->all) { ... } my @objects = $container->objects(prefix => 'dir/')->all;
This returns a WebService::Rackspace::CloudFiles::Object representing an object.
my $xxx = $container->object( name => 'XXX' ); my $yyy = $container->object( name => 'YYY', content_type => 'text/plain' );
Deletes the container, which should be empty:
$container->delete;
Purges a CDN enabled container without having to wait for the TTL to expire.
$container->purge_cdn;
Purging a CDN enabled container may take a very long time. So you can optionally provide one or more emails to be notified after the container is fully purged.
my @emails = ('foo@example.com', 'bar@example.com'); $container->purge_cdn(@emails);
WebService::Rackspace::CloudFiles, WebService::Rackspace::CloudFiles::Object.
Christiaan Kras <ckras@cpan.org>. Leon Brocard <acme@astray.com>.
Copyright (C) 2010-2011, Christiaan Kras Copyright (C) 2008-9, Leon Brocard
This module is free software; you can redistribute it or modify it under the same terms as Perl itself.
To install WebService::Rackspace::CloudFiles, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WebService::Rackspace::CloudFiles
CPAN shell
perl -MCPAN -e shell install WebService::Rackspace::CloudFiles
For more information on module installation, please visit the detailed CPAN module installation guide.