# ABSTRACT: Amazon S3 ACL support
# PODNAME: Net::Amazon::S3::ACL

__END__

=pod

=encoding UTF-8

=head1 NAME

Net::Amazon::S3::ACL - Amazon S3 ACL support

=head1 VERSION

version 0.99

=head1 DESCRIPTION

Every S3 action supporting ACL specification in request supports C<acl> parameter.

Parameter is backward compatible with former C<acl_short>.

=over

=item canned ACL

	$s3->action (
		acl => Net::Amazon::S3::ACL::Canned->PRIVATE,
	);

Amazon S3 predefined grants are provided by builder methods, each representing
corresponding canned ACL.

=over

=item PRIVATE

=item PUBLIC_READ

=item PUBLIC_READ_WRITE

=item AWS_EXEC_READ

=item AUTHENTICATED_READ

=item BUCKET_OWNER_READ

=item BUCKET_OWNER_FULL_CONTROL

=item LOG_DELIVERY_WRITE

=back

See L<Net::Amazon::S3::ACL::Canned> for implementation details.

See L<Canned ACL|https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl>
in Amazon documentation.

=item canned ACL (coerced)

	$s3->action (
		acl => 'private',
	);

Earlier versions of L<Net::Amazon::S3> supported only textual canned ACL.
To not break code that use it coercion to L<Net::Amazon::S3::ACL::Canned> is supported
as well as C<acl_short> operation argument.

C<acl_short> is deprecated now, only C<acl> is supported.

C<acl_short> behaves like an C<acl> alias. In case when both are defined, C<acl>
takes precedence.

=item exact ACL set

	$s3->action (
		acl => Net::Amazon::S3::ACL::Set
			->grant_read (id => $canonical_user_id)
			->grant_full_control (email => $email_address)
			,
	);

Exact ACL set provides interface to C<x-amz-grant-*> header fields.

See L<Net::Amazon::S3::ACL::Set> for implementation details.

=back

=head1 AUTHOR

Branislav Zahradník <barney@cpan.org>

=head1 COPYRIGHT AND LICENSE

This module is a part of L<Net::Amazon::S3> distribution.

=head1 AUTHOR

Branislav Zahradník <barney@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2021 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
