package Net::Amazon::S3::ACL::Canned; # ABSTRACT: Representation of canned ACL $Net::Amazon::S3::ACL::Canned::VERSION = '0.991'; use Moose 0.85; use MooseX::StrictConstructor 0.16; use Moose::Util::TypeConstraints; use Net::Amazon::S3::Constraint::ACL::Canned; use Net::Amazon::S3::Constants; class_type 'Net::Amazon::S3::ACL::Canned'; coerce 'Net::Amazon::S3::ACL::Canned' => from 'Net::Amazon::S3::Constraint::ACL::Canned' => via { Net::Amazon::S3::ACL::Canned->new ($_) } ; around BUILDARGS => sub { my ($orig, $class) = (shift, shift); return +{ canned_acl => $_[0] } if @_ == 1 && ! ref $_[0]; return $class->$orig (@_); }; has canned_acl => ( is => 'ro', isa => 'Net::Amazon::S3::Constraint::ACL::Canned', required => 1, ); sub build_headers { my ($self) = @_; return +(Net::Amazon::S3::Constants->HEADER_CANNED_ACL => $self->canned_acl); } sub PRIVATE { __PACKAGE__->new ('private') } sub PUBLIC_READ { __PACKAGE__->new ('public-read') } sub PUBLIC_READ_WRITE { __PACKAGE__->new ('public-read-write') } sub AWS_EXEC_READ { __PACKAGE__->new ('aws-exec-read') } sub AUTHENTICATED_READ { __PACKAGE__->new ('authenticated-read') } sub BUCKET_OWNER_READ { __PACKAGE__->new ('bucket-owner-read') } sub BUCKET_OWNER_FULL_CONTROL { __PACKAGE__->new ('bucket-owner-full-control') } sub LOG_DELIVERY_WRITE { __PACKAGE__->new ('log-delivery-write') } 1; __END__ =pod =encoding UTF-8 =head1 NAME Net::Amazon::S3::ACL::Canned - Representation of canned ACL =head1 VERSION version 0.991 =head1 SYNOPSIS my $acl = Net::Amazon::S3::ACL::Canned->PRIVATE; my $acl = Net::Amazon::S3::ACL::Canned->PUBLIC_READ; =head1 DESCRIPTION Class representes predefined Amazon S3 canned ACL. =head1 FACTORY BUILDERS =head2 PRIVATE =head2 PUBLIC_READ =head2 PUBLIC_READ_WRITE =head2 AWS_EXEC_READ =head2 AUTHENTICATED_READ =head2 BUCKET_OWNER_READ =head2 BUCKET_OWNER_FULL_CONTROL =head2 LOG_DELIVER_WRITE =head1 AUTHOR Branislav Zahradník =head1 COPYRIGHT AND LICENSE This module is part of L. =head1 AUTHOR Branislav Zahradník =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2022 by Amazon Digital Services, Leon Brocard, Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover, Branislav Zahradník. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut