The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::CloudFront - Perl Interface to AWS Amazon CloudFront

SYNOPSIS

  use Paws;

  my $obj = Paws->service('CloudFront');
  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' } ],
  );

DESCRIPTION

Amazon CloudFront

This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about the CloudFront API actions, data types, and errors. For detailed information about CloudFront features and their associated API calls, see the Amazon CloudFront Developer Guide.

METHODS

CreateCloudFrontOriginAccessIdentity(CloudFrontOriginAccessIdentityConfig => Paws::CloudFront::CloudFrontOriginAccessIdentityConfig)

Each argument is described in detail in: Paws::CloudFront::CreateCloudFrontOriginAccessIdentity

Returns: a Paws::CloudFront::CreateCloudFrontOriginAccessIdentityResult instance

  Creates a new origin access identity. If you're using Amazon S3 for
your origin, you can use an origin access identity to require users to
access your content using a CloudFront URL instead of the Amazon S3
URL. For more information about how to use origin access identities,
see Serving Private Content through CloudFront in the I<Amazon
CloudFront Developer Guide>.

CreateDistribution(DistributionConfig => Paws::CloudFront::DistributionConfig)

Each argument is described in detail in: Paws::CloudFront::CreateDistribution

Returns: a Paws::CloudFront::CreateDistributionResult instance

  Creates a new web distribution. Send a C<POST> request to the
C</I<CloudFront API version>/distribution>/C<distribution ID> resource.

CreateDistributionWithTags(DistributionConfigWithTags => Paws::CloudFront::DistributionConfigWithTags)

Each argument is described in detail in: Paws::CloudFront::CreateDistributionWithTags

Returns: a Paws::CloudFront::CreateDistributionWithTagsResult instance

  Create a new distribution with tags.

CreateInvalidation(DistributionId => Str, InvalidationBatch => Paws::CloudFront::InvalidationBatch)

Each argument is described in detail in: Paws::CloudFront::CreateInvalidation

Returns: a Paws::CloudFront::CreateInvalidationResult instance

  Create a new invalidation.

CreateStreamingDistribution(StreamingDistributionConfig => Paws::CloudFront::StreamingDistributionConfig)

Each argument is described in detail in: Paws::CloudFront::CreateStreamingDistribution

Returns: a Paws::CloudFront::CreateStreamingDistributionResult instance

  Creates a new RMTP distribution. An RTMP distribution is similar to a
web distribution, but an RTMP distribution streams media files using
the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files
using HTTP.

To create a new web distribution, submit a POST request to the CloudFront API version/distribution resource. The request body must include a document with a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig element and returns other information about the RTMP distribution.

To get the status of your request, use the GET StreamingDistribution API action. When the value of Enabled is true and the value of Status is Deployed, your distribution is ready. A distribution usually deploys in less than 15 minutes.

For more information about web distributions, see Working with RTMP Distributions in the Amazon CloudFront Developer Guide.

Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a web distribution or an RTMP distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values specified.

CreateStreamingDistributionWithTags(StreamingDistributionConfigWithTags => Paws::CloudFront::StreamingDistributionConfigWithTags)

Each argument is described in detail in: Paws::CloudFront::CreateStreamingDistributionWithTags

Returns: a Paws::CloudFront::CreateStreamingDistributionWithTagsResult instance

  Create a new streaming distribution with tags.

DeleteCloudFrontOriginAccessIdentity(Id => Str, [IfMatch => Str])

Each argument is described in detail in: Paws::CloudFront::DeleteCloudFrontOriginAccessIdentity

Returns: nothing

  Delete an origin access identity.

DeleteDistribution(Id => Str, [IfMatch => Str])

Each argument is described in detail in: Paws::CloudFront::DeleteDistribution

Returns: nothing

  Delete a distribution.

DeleteStreamingDistribution(Id => Str, [IfMatch => Str])

Each argument is described in detail in: Paws::CloudFront::DeleteStreamingDistribution

Returns: nothing

  Delete a streaming distribution. To delete an RTMP distribution using
the CloudFront API, perform the following steps.

To delete an RTMP distribution using the CloudFront API:

  1. Disable the RTMP distribution.

  2. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

  3. Update the XML document that was returned in the response to your GET Streaming Distribution Config request to change the value of Enabled to false.

  4. Submit a PUT Streaming Distribution Config request to update the configuration for your distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  5. Review the response to the PUT Streaming Distribution Config request to confirm that the distribution was successfully disabled.

  6. Submit a GET Streaming Distribution Config request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

  7. Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GET Streaming Distribution Config request in Step 2.

  8. Review the response to your DELETE Streaming Distribution request to confirm that the distribution was successfully deleted.

For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.

GetCloudFrontOriginAccessIdentity(Id => Str)

Each argument is described in detail in: Paws::CloudFront::GetCloudFrontOriginAccessIdentity

Returns: a Paws::CloudFront::GetCloudFrontOriginAccessIdentityResult instance

  Get the information about an origin access identity.

GetCloudFrontOriginAccessIdentityConfig(Id => Str)

Each argument is described in detail in: Paws::CloudFront::GetCloudFrontOriginAccessIdentityConfig

Returns: a Paws::CloudFront::GetCloudFrontOriginAccessIdentityConfigResult instance

  Get the configuration information about an origin access identity.

GetDistribution(Id => Str)

Each argument is described in detail in: Paws::CloudFront::GetDistribution

Returns: a Paws::CloudFront::GetDistributionResult instance

  Get the information about a distribution.

GetDistributionConfig(Id => Str)

Each argument is described in detail in: Paws::CloudFront::GetDistributionConfig

Returns: a Paws::CloudFront::GetDistributionConfigResult instance

  Get the configuration information about a distribution.

GetInvalidation(DistributionId => Str, Id => Str)

Each argument is described in detail in: Paws::CloudFront::GetInvalidation

Returns: a Paws::CloudFront::GetInvalidationResult instance

  Get the information about an invalidation.

GetStreamingDistribution(Id => Str)

Each argument is described in detail in: Paws::CloudFront::GetStreamingDistribution

Returns: a Paws::CloudFront::GetStreamingDistributionResult instance

  Gets information about a specified RTMP distribution, including the
distribution configuration.

GetStreamingDistributionConfig(Id => Str)

Each argument is described in detail in: Paws::CloudFront::GetStreamingDistributionConfig

Returns: a Paws::CloudFront::GetStreamingDistributionConfigResult instance

  Get the configuration information about a streaming distribution.

ListCloudFrontOriginAccessIdentities([Marker => Str, MaxItems => Str])

Each argument is described in detail in: Paws::CloudFront::ListCloudFrontOriginAccessIdentities

Returns: a Paws::CloudFront::ListCloudFrontOriginAccessIdentitiesResult instance

  Lists origin access identities.

ListDistributions([Marker => Str, MaxItems => Str])

Each argument is described in detail in: Paws::CloudFront::ListDistributions

Returns: a Paws::CloudFront::ListDistributionsResult instance

  List distributions.

ListDistributionsByWebACLId(WebACLId => Str, [Marker => Str, MaxItems => Str])

Each argument is described in detail in: Paws::CloudFront::ListDistributionsByWebACLId

Returns: a Paws::CloudFront::ListDistributionsByWebACLIdResult instance

  List the distributions that are associated with a specified AWS WAF web
ACL.

ListInvalidations(DistributionId => Str, [Marker => Str, MaxItems => Str])

Each argument is described in detail in: Paws::CloudFront::ListInvalidations

Returns: a Paws::CloudFront::ListInvalidationsResult instance

  Lists invalidation batches.

ListStreamingDistributions([Marker => Str, MaxItems => Str])

Each argument is described in detail in: Paws::CloudFront::ListStreamingDistributions

Returns: a Paws::CloudFront::ListStreamingDistributionsResult instance

  List streaming distributions.

ListTagsForResource(Resource => Str)

Each argument is described in detail in: Paws::CloudFront::ListTagsForResource

Returns: a Paws::CloudFront::ListTagsForResourceResult instance

  List tags for a CloudFront resource.

TagResource(Resource => Str, Tags => Paws::CloudFront::Tags)

Each argument is described in detail in: Paws::CloudFront::TagResource

Returns: nothing

  Add tags to a CloudFront resource.

UntagResource(Resource => Str, TagKeys => Paws::CloudFront::TagKeys)

Each argument is described in detail in: Paws::CloudFront::UntagResource

Returns: nothing

  Remove tags from a CloudFront resource.

UpdateCloudFrontOriginAccessIdentity(CloudFrontOriginAccessIdentityConfig => Paws::CloudFront::CloudFrontOriginAccessIdentityConfig, Id => Str, [IfMatch => Str])

Each argument is described in detail in: Paws::CloudFront::UpdateCloudFrontOriginAccessIdentity

Returns: a Paws::CloudFront::UpdateCloudFrontOriginAccessIdentityResult instance

  Update an origin access identity.

UpdateDistribution(DistributionConfig => Paws::CloudFront::DistributionConfig, Id => Str, [IfMatch => Str])

Each argument is described in detail in: Paws::CloudFront::UpdateDistribution

Returns: a Paws::CloudFront::UpdateDistributionResult instance

  Updates the configuration for a web distribution. Perform the following
steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML document that you include in the request body when you create or update a distribution. With previous versions of the API, we discovered that it was too easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions and to notify you when there's a mismatch between the number of values you say you're specifying in the Quantity element and the number of values you're actually specifying.

UpdateStreamingDistribution(Id => Str, StreamingDistributionConfig => Paws::CloudFront::StreamingDistributionConfig, [IfMatch => Str])

Each argument is described in detail in: Paws::CloudFront::UpdateStreamingDistribution

Returns: a Paws::CloudFront::UpdateStreamingDistributionResult instance

  Update a streaming distribution.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllCloudFrontOriginAccessIdentities(sub { },[Marker => Str, MaxItems => Str])

ListAllCloudFrontOriginAccessIdentities([Marker => Str, MaxItems => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - CloudFrontOriginAccessIdentityList.Items, passing the object as the first parameter, and the string 'CloudFrontOriginAccessIdentityList.Items' as the second parameter 

If not, it will return a a Paws::CloudFront::ListCloudFrontOriginAccessIdentitiesResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllDistributions(sub { },[Marker => Str, MaxItems => Str])

ListAllDistributions([Marker => Str, MaxItems => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - DistributionList.Items, passing the object as the first parameter, and the string 'DistributionList.Items' as the second parameter 

If not, it will return a a Paws::CloudFront::ListDistributionsResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllInvalidations(sub { },DistributionId => Str, [Marker => Str, MaxItems => Str])

ListAllInvalidations(DistributionId => Str, [Marker => Str, MaxItems => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - InvalidationList.Items, passing the object as the first parameter, and the string 'InvalidationList.Items' as the second parameter 

If not, it will return a a Paws::CloudFront::ListInvalidationsResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

ListAllStreamingDistributions(sub { },[Marker => Str, MaxItems => Str])

ListAllStreamingDistributions([Marker => Str, MaxItems => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - StreamingDistributionList.Items, passing the object as the first parameter, and the string 'StreamingDistributionList.Items' as the second parameter 

If not, it will return a a Paws::CloudFront::ListStreamingDistributionsResult instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues