—package
Paws::MediaStore;
sub
service {
'mediastore'
}
sub
signing_name {
'mediastore'
}
sub
version {
'2017-09-01'
}
sub
target_prefix {
'MediaStore_20170901'
}
sub
json_version {
"1.1"
}
has
max_attempts
=> (
is
=>
'ro'
,
isa
=>
'Int'
,
default
=> 5);
has
retry
=> (
is
=>
'ro'
,
isa
=>
'HashRef'
,
default
=>
sub
{
{
base
=>
'rand'
,
type
=>
'exponential'
,
growth_factor
=> 2 }
});
has
retriables
=> (
is
=>
'ro'
,
isa
=>
'ArrayRef'
,
default
=>
sub
{ [
] });
with
'Paws::API::Caller'
,
'Paws::API::EndpointResolver'
,
'Paws::Net::V4Signature'
,
'Paws::Net::JsonCaller'
;
sub
CreateContainer {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::CreateContainer'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
DeleteContainer {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::DeleteContainer'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
DeleteContainerPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::DeleteContainerPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
DeleteCorsPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::DeleteCorsPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
DeleteLifecyclePolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::DeleteLifecyclePolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
DeleteMetricPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::DeleteMetricPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
DescribeContainer {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::DescribeContainer'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
GetContainerPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::GetContainerPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
GetCorsPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::GetCorsPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
GetLifecyclePolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::GetLifecyclePolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
GetMetricPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::GetMetricPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
ListContainers {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::ListContainers'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
ListTagsForResource {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::ListTagsForResource'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
PutContainerPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::PutContainerPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
PutCorsPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::PutCorsPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
PutLifecyclePolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::PutLifecyclePolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
PutMetricPolicy {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::PutMetricPolicy'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
StartAccessLogging {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::StartAccessLogging'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
StopAccessLogging {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::StopAccessLogging'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
TagResource {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::TagResource'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
UntagResource {
my
$self
=
shift
;
my
$call_object
=
$self
->new_with_coercions(
'Paws::MediaStore::UntagResource'
,
@_
);
return
$self
->
caller
->do_call(
$self
,
$call_object
);
}
sub
ListAllContainers {
my
$self
=
shift
;
my
$callback
=
shift
@_
if
(
ref
(
$_
[0]) eq
'CODE'
);
my
$result
=
$self
->ListContainers(
@_
);
my
$next_result
=
$result
;
if
(not
defined
$callback
) {
while
(
$next_result
->NextToken) {
$next_result
=
$self
->ListContainers(
@_
,
NextToken
=>
$next_result
->NextToken);
push
@{
$result
->Containers }, @{
$next_result
->Containers };
}
return
$result
;
}
else
{
while
(
$result
->NextToken) {
$callback
->(
$_
=>
'Containers'
)
foreach
(@{
$result
->Containers });
$result
=
$self
->ListContainers(
@_
,
NextToken
=>
$result
->NextToken);
}
$callback
->(
$_
=>
'Containers'
)
foreach
(@{
$result
->Containers });
}
return
undef
}
sub
operations {
qw/CreateContainer DeleteContainer DeleteContainerPolicy DeleteCorsPolicy DeleteLifecyclePolicy DeleteMetricPolicy DescribeContainer GetContainerPolicy GetCorsPolicy GetLifecyclePolicy GetMetricPolicy ListContainers ListTagsForResource PutContainerPolicy PutCorsPolicy PutLifecyclePolicy PutMetricPolicy StartAccessLogging StopAccessLogging TagResource UntagResource /
}
1;
### main pod documentation begin ###
=head1 NAME
Paws::MediaStore - Perl Interface to AWS AWS Elemental MediaStore
=head1 SYNOPSIS
use Paws;
my $obj = Paws->service('MediaStore');
my $res = $obj->Method(
Arg1 => $val1,
Arg2 => [ 'V1', 'V2' ],
# if Arg3 is an object, the HashRef will be used as arguments to the constructor
# of the arguments type
Arg3 => { Att1 => 'Val1' },
# if Arg4 is an array of objects, the HashRefs will be passed as arguments to
# the constructor of the arguments type
Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
);
=head1 DESCRIPTION
An AWS Elemental MediaStore container is a namespace that holds folders
and objects. You use a container endpoint to create, read, and delete
objects.
For the AWS API documentation, see L<https://docs.aws.amazon.com/goto/WebAPI/mediastore-2017-09-01>
=head1 METHODS
=head2 CreateContainer
=over
=item ContainerName => Str
=item [Tags => ArrayRef[L<Paws::MediaStore::Tag>]]
=back
Each argument is described in detail in: L<Paws::MediaStore::CreateContainer>
Returns: a L<Paws::MediaStore::CreateContainerOutput> instance
Creates a storage container to hold objects. A container is similar to
a bucket in the Amazon S3 service.
=head2 DeleteContainer
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::DeleteContainer>
Returns: a L<Paws::MediaStore::DeleteContainerOutput> instance
Deletes the specified container. Before you make a C<DeleteContainer>
request, delete any objects in the container or in any folders in the
container. You can delete only empty containers.
=head2 DeleteContainerPolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::DeleteContainerPolicy>
Returns: a L<Paws::MediaStore::DeleteContainerPolicyOutput> instance
Deletes the access policy that is associated with the specified
container.
=head2 DeleteCorsPolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::DeleteCorsPolicy>
Returns: a L<Paws::MediaStore::DeleteCorsPolicyOutput> instance
Deletes the cross-origin resource sharing (CORS) configuration
information that is set for the container.
To use this operation, you must have permission to perform the
C<MediaStore:DeleteCorsPolicy> action. The container owner has this
permission by default and can grant this permission to others.
=head2 DeleteLifecyclePolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::DeleteLifecyclePolicy>
Returns: a L<Paws::MediaStore::DeleteLifecyclePolicyOutput> instance
Removes an object lifecycle policy from a container. It takes up to 20
minutes for the change to take effect.
=head2 DeleteMetricPolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::DeleteMetricPolicy>
Returns: a L<Paws::MediaStore::DeleteMetricPolicyOutput> instance
Deletes the metric policy that is associated with the specified
container. If there is no metric policy associated with the container,
MediaStore doesn't send metrics to CloudWatch.
=head2 DescribeContainer
=over
=item [ContainerName => Str]
=back
Each argument is described in detail in: L<Paws::MediaStore::DescribeContainer>
Returns: a L<Paws::MediaStore::DescribeContainerOutput> instance
Retrieves the properties of the requested container. This request is
commonly used to retrieve the endpoint of a container. An endpoint is a
value assigned by the service when a new container is created. A
container's endpoint does not change after it has been assigned. The
C<DescribeContainer> request returns a single C<Container> object based
on C<ContainerName>. To return all C<Container> objects that are
associated with a specified AWS account, use ListContainers.
=head2 GetContainerPolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::GetContainerPolicy>
Returns: a L<Paws::MediaStore::GetContainerPolicyOutput> instance
Retrieves the access policy for the specified container. For
information about the data that is included in an access policy, see
the AWS Identity and Access Management User Guide
=head2 GetCorsPolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::GetCorsPolicy>
Returns: a L<Paws::MediaStore::GetCorsPolicyOutput> instance
Returns the cross-origin resource sharing (CORS) configuration
information that is set for the container.
To use this operation, you must have permission to perform the
C<MediaStore:GetCorsPolicy> action. By default, the container owner has
this permission and can grant it to others.
=head2 GetLifecyclePolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::GetLifecyclePolicy>
Returns: a L<Paws::MediaStore::GetLifecyclePolicyOutput> instance
Retrieves the object lifecycle policy that is assigned to a container.
=head2 GetMetricPolicy
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::GetMetricPolicy>
Returns: a L<Paws::MediaStore::GetMetricPolicyOutput> instance
Returns the metric policy for the specified container.
=head2 ListContainers
=over
=item [MaxResults => Int]
=item [NextToken => Str]
=back
Each argument is described in detail in: L<Paws::MediaStore::ListContainers>
Returns: a L<Paws::MediaStore::ListContainersOutput> instance
Lists the properties of all containers in AWS Elemental MediaStore.
You can query to receive all the containers in one response. Or you can
include the C<MaxResults> parameter to receive a limited number of
containers in each response. In this case, the response includes a
token. To get the next set of containers, send the command again, this
time with the C<NextToken> parameter (with the returned token as its
value). The next set of responses appears, with a token if there are
still more containers to receive.
See also DescribeContainer, which gets the properties of one container.
=head2 ListTagsForResource
=over
=item Resource => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::ListTagsForResource>
Returns: a L<Paws::MediaStore::ListTagsForResourceOutput> instance
Returns a list of the tags assigned to the specified container.
=head2 PutContainerPolicy
=over
=item ContainerName => Str
=item Policy => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::PutContainerPolicy>
Returns: a L<Paws::MediaStore::PutContainerPolicyOutput> instance
Creates an access policy for the specified container to restrict the
users and clients that can access it. For information about the data
that is included in an access policy, see the AWS Identity and Access
Management User Guide (https://aws.amazon.com/documentation/iam/).
For this release of the REST API, you can create only one policy for a
container. If you enter C<PutContainerPolicy> twice, the second command
modifies the existing policy.
=head2 PutCorsPolicy
=over
=item ContainerName => Str
=item CorsPolicy => ArrayRef[L<Paws::MediaStore::CorsRule>]
=back
Each argument is described in detail in: L<Paws::MediaStore::PutCorsPolicy>
Returns: a L<Paws::MediaStore::PutCorsPolicyOutput> instance
Sets the cross-origin resource sharing (CORS) configuration on a
container so that the container can service cross-origin requests. For
example, you might want to enable a request whose origin is
http://www.example.com to access your AWS Elemental MediaStore
container at my.example.container.com by using the browser's
XMLHttpRequest capability.
To enable CORS on a container, you attach a CORS policy to the
container. In the CORS policy, you configure rules that identify
origins and the HTTP methods that can be executed on your container.
The policy can contain up to 398,000 characters. You can add up to 100
rules to a CORS policy. If more than one rule applies, the service uses
the first applicable rule listed.
To learn more about CORS, see Cross-Origin Resource Sharing (CORS) in
AWS Elemental MediaStore
=head2 PutLifecyclePolicy
=over
=item ContainerName => Str
=item LifecyclePolicy => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::PutLifecyclePolicy>
Returns: a L<Paws::MediaStore::PutLifecyclePolicyOutput> instance
Writes an object lifecycle policy to a container. If the container
already has an object lifecycle policy, the service replaces the
existing policy with the new policy. It takes up to 20 minutes for the
change to take effect.
For information about how to construct an object lifecycle policy, see
Components of an Object Lifecycle Policy
=head2 PutMetricPolicy
=over
=item ContainerName => Str
=item MetricPolicy => L<Paws::MediaStore::MetricPolicy>
=back
Each argument is described in detail in: L<Paws::MediaStore::PutMetricPolicy>
Returns: a L<Paws::MediaStore::PutMetricPolicyOutput> instance
The metric policy that you want to add to the container. A metric
policy allows AWS Elemental MediaStore to send metrics to Amazon
CloudWatch. It takes up to 20 minutes for the new policy to take
effect.
=head2 StartAccessLogging
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::StartAccessLogging>
Returns: a L<Paws::MediaStore::StartAccessLoggingOutput> instance
Starts access logging on the specified container. When you enable
access logging on a container, MediaStore delivers access logs for
objects stored in that container to Amazon CloudWatch Logs.
=head2 StopAccessLogging
=over
=item ContainerName => Str
=back
Each argument is described in detail in: L<Paws::MediaStore::StopAccessLogging>
Returns: a L<Paws::MediaStore::StopAccessLoggingOutput> instance
Stops access logging on the specified container. When you stop access
logging on a container, MediaStore stops sending access logs to Amazon
CloudWatch Logs. These access logs are not saved and are not
retrievable.
=head2 TagResource
=over
=item Resource => Str
=item Tags => ArrayRef[L<Paws::MediaStore::Tag>]
=back
Each argument is described in detail in: L<Paws::MediaStore::TagResource>
Returns: a L<Paws::MediaStore::TagResourceOutput> instance
Adds tags to the specified AWS Elemental MediaStore container. Tags are
key:value pairs that you can associate with AWS resources. For example,
the tag key might be "customer" and the tag value might be "companyA."
You can specify one or more tags to add to each container. You can add
up to 50 tags to each container. For more information about tagging,
including naming and usage conventions, see Tagging Resources in
MediaStore
=head2 UntagResource
=over
=item Resource => Str
=item TagKeys => ArrayRef[Str|Undef]
=back
Each argument is described in detail in: L<Paws::MediaStore::UntagResource>
Returns: a L<Paws::MediaStore::UntagResourceOutput> instance
Removes tags from the specified container. You can specify one or more
tags to remove.
=head1 PAGINATORS
Paginator methods are helpers that repetively call methods that return partial results
=head2 ListAllContainers(sub { },[MaxResults => Int, NextToken => Str])
=head2 ListAllContainers([MaxResults => Int, NextToken => Str])
If passed a sub as first parameter, it will call the sub for each element found in :
- Containers, passing the object as the first parameter, and the string 'Containers' as the second parameter
If not, it will return a a L<Paws::MediaStore::ListContainersOutput> instance with all the C<param>s; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.
=head1 SEE ALSO
This service class forms part of L<Paws>
=head1 BUGS and CONTRIBUTIONS
The source code is located here: L<https://github.com/pplu/aws-sdk-perl>
Please report bugs to: L<https://github.com/pplu/aws-sdk-perl/issues>
=cut