File Coverage

blib/lib/Net/Amazon/S3/Operation/Bucket/Acl/Set/Request.pm
Criterion Covered Total %
statement 16 16 100.0
branch 4 4 100.0
condition 8 8 100.0
subroutine 5 5 100.0
pod 0 1 0.0
total 33 34 97.0


line stmt bran cond sub pod time code
1             # ABSTRACT: An internal class to set a bucket's access control
2             $Net::Amazon::S3::Operation::Bucket::Acl::Set::Request::VERSION = '0.991';
3             use Moose 0.85;
4 99     99   620 use MooseX::StrictConstructor 0.16;
  99         2272  
  99         587  
5 99     99   522572  
  99         1609  
  99         660  
6             use Carp ();
7 99     99   267970  
  99         248  
  99         18365  
8             extends 'Net::Amazon::S3::Request::Bucket';
9              
10             with 'Net::Amazon::S3::Request::Role::HTTP::Header::ACL';
11              
12             has 'acl_xml' => (
13             is => 'ro',
14             isa => 'Maybe[Str]',
15             required => 0,
16             );
17              
18             with 'Net::Amazon::S3::Request::Role::Query::Action::Acl';
19             with 'Net::Amazon::S3::Request::Role::HTTP::Method::PUT';
20              
21             __PACKAGE__->meta->make_immutable;
22              
23             my ($self) = @_;
24              
25 22     22   48 return $self->acl_xml || '';
26             }
27 22   100     668  
28             my ($self) = @_;
29              
30             unless ($self->acl_xml || $self->acl) {
31 24     24 0 16285 Carp::confess "need either acl_xml or acl";
32             }
33 24 100 100     849  
34 1         177 if ($self->acl_xml && $self->acl) {
35             Carp::confess "can not provide both acl_xml and acl";
36             }
37 23 100 100     662 }
38 1         128  
39             1;
40              
41              
42             =pod
43              
44             =encoding UTF-8
45              
46             =head1 NAME
47              
48             Net::Amazon::S3::Operation::Bucket::Acl::Set::Request - An internal class to set a bucket's access control
49              
50             =head1 VERSION
51              
52             version 0.991
53              
54             =head1 SYNOPSIS
55              
56             my $request = Net::Amazon::S3::Operation::Bucket::Acl::Set::Request->new (
57             s3 => $s3,
58             bucket => $bucket,
59             acl_short => $acl_short,
60             acl_xml => $acl_xml,
61             );
62              
63             =head1 DESCRIPTION
64              
65             Implements operation L<< PutBucketAcl|https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html >>
66              
67             This module sets a bucket's access control.
68              
69             =for test_synopsis no strict 'vars'
70              
71             =head1 METHODS
72              
73             =head2 http_request
74              
75             This method returns a HTTP::Request object.
76              
77             =head1 AUTHOR
78              
79             Branislav Zahradník <barney@cpan.org>
80              
81             =head1 COPYRIGHT AND LICENSE
82              
83             This software is copyright (c) 2022 by Amazon Digital Services, Leon Brocard, Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover, Branislav Zahradník.
84              
85             This is free software; you can redistribute it and/or modify it under
86             the same terms as the Perl 5 programming language system itself.
87              
88             =cut