Net-Amazon-S3
view release on metacpan or search on metacpan
lib/Net/Amazon/S3/Client/Object.pm view on Meta::CPAN
package Net::Amazon::S3::Client::Object;
$Net::Amazon::S3::Client::Object::VERSION = '0.992';
use Moose 0.85;
use MooseX::StrictConstructor 0.16;
use DateTime::Format::HTTP;
use Digest::MD5 qw(md5 md5_hex);
use Digest::MD5::File qw(file_md5 file_md5_hex);
use File::stat;
use MIME::Base64;
use Moose::Util::TypeConstraints;
use MooseX::Types::DateTime::MoreCoercions 0.07 qw( DateTime );
use IO::File 1.14;
use Ref::Util ();
# ABSTRACT: An easy-to-use Amazon S3 client object
use Net::Amazon::S3::Constraint::ACL::Canned;
use Net::Amazon::S3::Constraint::Etag;
use Net::Amazon::S3::Client::Object::Range;
with 'Net::Amazon::S3::Role::ACL';
enum 'StorageClass' =>
# Current list at https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#AmazonS3-PutObject-request-header-StorageClass
[ qw(standard reduced_redundancy standard_ia onezone_ia intelligent_tiering glacier deep_archive) ];
has 'client' =>
( is => 'ro', isa => 'Net::Amazon::S3::Client', required => 1 );
has 'bucket' =>
( is => 'ro', isa => 'Net::Amazon::S3::Client::Bucket', required => 1 );
has 'key' => ( is => 'ro', isa => 'Str', required => 1 );
has 'etag' => ( is => 'ro', isa => 'Net::Amazon::S3::Constraint::Etag', required => 0 );
has 'size' => ( is => 'ro', isa => 'Int', required => 0 );
has 'last_modified' =>
( is => 'ro', isa => DateTime, coerce => 1, required => 0, default => sub { shift->last_modified_raw }, lazy => 1 );
has 'last_modified_raw' =>
( is => 'ro', isa => 'Str', required => 0 );
has 'expires' => ( is => 'rw', isa => DateTime, coerce => 1, required => 0 );
has 'content_type' => (
is => 'ro',
isa => 'Str',
required => 0,
default => 'binary/octet-stream'
);
has 'content_disposition' => (
is => 'ro',
isa => 'Str',
required => 0,
);
has 'content_encoding' => (
is => 'ro',
isa => 'Str',
required => 0,
);
has 'cache_control' => (
is => 'ro',
isa => 'Str',
required => 0,
);
has 'storage_class' => (
is => 'ro',
isa => 'StorageClass',
required => 0,
default => 'standard',
);
has 'user_metadata' => (
is => 'ro',
isa => 'HashRef',
required => 0,
default => sub { {} },
);
has 'website_redirect_location' => (
is => 'ro',
( run in 1.110 second using v1.01-cache-2.11-cpan-39bf76dae61 )