| Net-Amazon-S3 documentation | Contained in the Net-Amazon-S3 distribution. |
Net::Amazon::S3::Request::SetBucketAccessControl - An internal class to set a bucket's access control
my $http_request = Net::Amazon::S3::Request::SetBucketAccessControl->new(
s3 => $s3,
bucket => $bucket,
acl_short => $acl_short,
acl_xml => $acl_xml,
)->http_request;
This module sets a bucket's access control.
This method returns a HTTP::Request object.
| Net-Amazon-S3 documentation | Contained in the Net-Amazon-S3 distribution. |
package Net::Amazon::S3::Request::SetBucketAccessControl; use Moose; use MooseX::StrictConstructor; extends 'Net::Amazon::S3::Request'; has 'bucket' => ( is => 'ro', isa => 'BucketName', required => 1 ); has 'acl_short' => ( is => 'ro', isa => 'Maybe[AclShort]', required => 0 ); has 'acl_xml' => ( is => 'ro', isa => 'Maybe[Str]', required => 0 ); __PACKAGE__->meta->make_immutable; sub http_request { my $self = shift; unless ( $self->acl_xml || $self->acl_short ) { confess "need either acl_xml or acl_short"; } if ( $self->acl_xml && $self->acl_short ) { confess "can not provide both acl_xml and acl_short"; } my $headers = ( $self->acl_short ) ? { 'x-amz-acl' => $self->acl_short } : {}; my $xml = $self->acl_xml || ''; return Net::Amazon::S3::HTTPRequest->new( s3 => $self->s3, method => 'PUT', path => $self->_uri('') . '?acl', headers => $headers, content => $xml, )->http_request; } 1; __END__