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 CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.
For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26
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 (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) in the 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. You create a CloudFront distribution to tell CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.
When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using UpdateDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html), follow the steps included in the documentation to get the current configuration and then make your updates. This helps to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html) in the Amazon CloudFront Developer Guide.
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.
CreateFieldLevelEncryptionConfig
- FieldLevelEncryptionConfig => Paws::CloudFront::FieldLevelEncryptionConfig
Each argument is described in detail in: Paws::CloudFront::CreateFieldLevelEncryptionConfig
Returns: a Paws::CloudFront::CreateFieldLevelEncryptionConfigResult instance
Create a new field-level encryption configuration.
CreateFieldLevelEncryptionProfile
- FieldLevelEncryptionProfileConfig => Paws::CloudFront::FieldLevelEncryptionProfileConfig
Each argument is described in detail in: Paws::CloudFront::CreateFieldLevelEncryptionProfile
Returns: a Paws::CloudFront::CreateFieldLevelEncryptionProfileResult instance
Create a field-level encryption profile.
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.
CreatePublicKey
- PublicKeyConfig => Paws::CloudFront::PublicKeyConfig
Each argument is described in detail in: Paws::CloudFront::CreatePublicKey
Returns: a Paws::CloudFront::CreatePublicKeyResult instance
Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.
CreateStreamingDistribution
- StreamingDistributionConfig => Paws::CloudFront::StreamingDistributionConfig
Each argument is described in detail in: Paws::CloudFront::CreateStreamingDistribution
Returns: a Paws::CloudFront::CreateStreamingDistributionResult instance
Creates a new RTMP 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 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 (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html) 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
Each argument is described in detail in: Paws::CloudFront::DeleteCloudFrontOriginAccessIdentity
Returns: nothing
Delete an origin access identity.
DeleteDistribution
Each argument is described in detail in: Paws::CloudFront::DeleteDistribution
Returns: nothing
Delete a distribution.
DeleteFieldLevelEncryptionConfig
Each argument is described in detail in: Paws::CloudFront::DeleteFieldLevelEncryptionConfig
Returns: nothing
Remove a field-level encryption configuration.
DeleteFieldLevelEncryptionProfile
Each argument is described in detail in: Paws::CloudFront::DeleteFieldLevelEncryptionProfile
Returns: nothing
Remove a field-level encryption profile.
DeletePublicKey
Each argument is described in detail in: Paws::CloudFront::DeletePublicKey
Returns: nothing
Remove a public key you previously added to CloudFront.
DeleteStreamingDistribution
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:
Disable the RTMP distribution.
Submit a
GET Streaming Distribution Configrequest to get the current configuration and theEtagheader for the distribution.Update the XML document that was returned in the response to your
GET Streaming Distribution Configrequest to change the value ofEnabledtofalse.Submit a
PUT Streaming Distribution Configrequest 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 HTTPIf-Matchheader to the value of theETagheader that CloudFront returned when you submitted theGET Streaming Distribution Configrequest in Step 2.Review the response to the
PUT Streaming Distribution Configrequest to confirm that the distribution was successfully disabled.Submit a
GET Streaming Distribution Configrequest to confirm that your changes have propagated. When propagation is complete, the value ofStatusisDeployed.Submit a
DELETE Streaming Distributionrequest. Set the value of the HTTPIf-Matchheader to the value of theETagheader that CloudFront returned when you submitted theGET Streaming Distribution Configrequest in Step 2.Review the response to your
DELETE Streaming Distributionrequest to confirm that the distribution was successfully deleted.
For information about deleting a distribution using the CloudFront console, see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) in the Amazon CloudFront Developer Guide.
GetCloudFrontOriginAccessIdentity
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
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
Each argument is described in detail in: Paws::CloudFront::GetDistribution
Returns: a Paws::CloudFront::GetDistributionResult instance
Get the information about a distribution.
GetDistributionConfig
Each argument is described in detail in: Paws::CloudFront::GetDistributionConfig
Returns: a Paws::CloudFront::GetDistributionConfigResult instance
Get the configuration information about a distribution.
GetFieldLevelEncryption
Each argument is described in detail in: Paws::CloudFront::GetFieldLevelEncryption
Returns: a Paws::CloudFront::GetFieldLevelEncryptionResult instance
Get the field-level encryption configuration information.
GetFieldLevelEncryptionConfig
Each argument is described in detail in: Paws::CloudFront::GetFieldLevelEncryptionConfig
Returns: a Paws::CloudFront::GetFieldLevelEncryptionConfigResult instance
Get the field-level encryption configuration information.
GetFieldLevelEncryptionProfile
Each argument is described in detail in: Paws::CloudFront::GetFieldLevelEncryptionProfile
Returns: a Paws::CloudFront::GetFieldLevelEncryptionProfileResult instance
Get the field-level encryption profile information.
GetFieldLevelEncryptionProfileConfig
Each argument is described in detail in: Paws::CloudFront::GetFieldLevelEncryptionProfileConfig
Returns: a Paws::CloudFront::GetFieldLevelEncryptionProfileConfigResult instance
Get the field-level encryption profile configuration information.
GetInvalidation
Each argument is described in detail in: Paws::CloudFront::GetInvalidation
Returns: a Paws::CloudFront::GetInvalidationResult instance
Get the information about an invalidation.
GetPublicKey
Each argument is described in detail in: Paws::CloudFront::GetPublicKey
Returns: a Paws::CloudFront::GetPublicKeyResult instance
Get the public key information.
GetPublicKeyConfig
Each argument is described in detail in: Paws::CloudFront::GetPublicKeyConfig
Returns: a Paws::CloudFront::GetPublicKeyConfigResult instance
Return public key configuration informaation
GetStreamingDistribution
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
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
Each argument is described in detail in: Paws::CloudFront::ListCloudFrontOriginAccessIdentities
Returns: a Paws::CloudFront::ListCloudFrontOriginAccessIdentitiesResult instance
Lists origin access identities.
ListDistributions
Each argument is described in detail in: Paws::CloudFront::ListDistributions
Returns: a Paws::CloudFront::ListDistributionsResult instance
List CloudFront distributions.
ListDistributionsByWebACLId
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.
ListFieldLevelEncryptionConfigs
Each argument is described in detail in: Paws::CloudFront::ListFieldLevelEncryptionConfigs
Returns: a Paws::CloudFront::ListFieldLevelEncryptionConfigsResult instance
List all field-level encryption configurations that have been created in CloudFront for this account.
ListFieldLevelEncryptionProfiles
Each argument is described in detail in: Paws::CloudFront::ListFieldLevelEncryptionProfiles
Returns: a Paws::CloudFront::ListFieldLevelEncryptionProfilesResult instance
Request a list of field-level encryption profiles that have been created in CloudFront for this account.
ListInvalidations
Each argument is described in detail in: Paws::CloudFront::ListInvalidations
Returns: a Paws::CloudFront::ListInvalidationsResult instance
Lists invalidation batches.
ListPublicKeys
Each argument is described in detail in: Paws::CloudFront::ListPublicKeys
Returns: a Paws::CloudFront::ListPublicKeysResult instance
List all public keys that have been added to CloudFront for this account.
ListStreamingDistributions
Each argument is described in detail in: Paws::CloudFront::ListStreamingDistributions
Returns: a Paws::CloudFront::ListStreamingDistributionsResult instance
List streaming distributions.
ListTagsForResource
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.
When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html) in the Amazon CloudFront Developer Guide.
The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an UpdateDistribution request to make the updates.
For information about updating a distribution using the CloudFront console instead, see Creating a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html) in the Amazon CloudFront Developer Guide.
To update a web distribution using the CloudFront API
Submit a GetDistributionConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html) request to get the current configuration and an
Etagheader for the distribution.If you update the distribution again, you must get a new
Etagheader.Update the XML document that was returned in the response to your
GetDistributionConfigrequest to include your changes.When you edit the XML file, be aware of the following:
You must strip out the ETag parameter that is returned.
Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution.
You can't change the value of
CallerReference. If you try to change this value, CloudFront returns anIllegalUpdateerror.The new configuration replaces the existing configuration; the values that you specify in an
UpdateDistributionrequest are not merged into your 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 correspondingQuantityelement.
Submit an
UpdateDistributionrequest 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
DistributionConfigelement.Set the value of the HTTP
If-Matchheader to the value of theETagheader that CloudFront returned when you submitted theGetDistributionConfigrequest in Step 1.
Review the response to the
UpdateDistributionrequest to confirm that the configuration was successfully updated.Optional: Submit a GetDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html) request to confirm that your changes have propagated. When propagation is complete, the value of
StatusisDeployed.
UpdateFieldLevelEncryptionConfig
- FieldLevelEncryptionConfig => Paws::CloudFront::FieldLevelEncryptionConfig
- Id => Str
- [IfMatch => Str]
Each argument is described in detail in: Paws::CloudFront::UpdateFieldLevelEncryptionConfig
Returns: a Paws::CloudFront::UpdateFieldLevelEncryptionConfigResult instance
Update a field-level encryption configuration.
UpdateFieldLevelEncryptionProfile
- FieldLevelEncryptionProfileConfig => Paws::CloudFront::FieldLevelEncryptionProfileConfig
- Id => Str
- [IfMatch => Str]
Each argument is described in detail in: Paws::CloudFront::UpdateFieldLevelEncryptionProfile
Returns: a Paws::CloudFront::UpdateFieldLevelEncryptionProfileResult instance
Update a field-level encryption profile.
UpdatePublicKey
- Id => Str
- PublicKeyConfig => Paws::CloudFront::PublicKeyConfig
- [IfMatch => Str]
Each argument is described in detail in: Paws::CloudFront::UpdatePublicKey
Returns: a Paws::CloudFront::UpdatePublicKeyResult instance
Update public key information. Note that the only value you can change is the comment.
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