com.amazonaws.services.cloudfront.AmazonCloudFront Maven / Gradle / Ivy
Show all versions of aws-java-sdk-cloudfront Show documentation
/*
* Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.cloudfront;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.cloudfront.model.*;
import com.amazonaws.services.cloudfront.waiters.AmazonCloudFrontWaiters;
/**
* Interface for accessing CloudFront.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.cloudfront.AbstractAmazonCloudFront} instead.
*
*
* 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.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AmazonCloudFront {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "cloudfront";
/**
* Overrides the default endpoint for this client ("https://cloudfront.amazonaws.com/"). Callers can use this method
* to control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex: "cloudfront.amazonaws.com/") or a full URL, including the protocol
* (ex: "https://cloudfront.amazonaws.com/"). If the protocol is not specified here, the default protocol from this
* client's {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available
* endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection-
* choose-endpoint
*
* This method is not threadsafe. An endpoint should be configured when the client is created and before any
* service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param endpoint
* The endpoint (ex: "cloudfront.amazonaws.com/") or a full URL, including the protocol (ex:
* "https://cloudfront.amazonaws.com/") of the region specific AWS endpoint this client will communicate
* with.
* @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for
* example:
* {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));}
*/
@Deprecated
void setEndpoint(String endpoint);
/**
* An alternative to {@link AmazonCloudFront#setEndpoint(String)}, sets the regional endpoint for this client's
* service calls. Callers can use this method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
* {@link ClientConfiguration} supplied at construction.
*
* This method is not threadsafe. A region should be configured when the client is created and before any service
* requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
* or retrying.
*
* @param region
* The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)}
* for accessing a given region. Must not be null and must be a region where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
* @deprecated use {@link AwsClientBuilder#setRegion(String)}
*/
@Deprecated
void setRegion(Region region);
/**
*
* Associates an alias (also known as a CNAME or an alternate domain name) with a CloudFront distribution.
*
*
* With this operation you can move an alias that’s already in use on a CloudFront distribution to a different
* distribution in one step. This prevents the downtime that could occur if you first remove the alias from one
* distribution and then separately add the alias to another distribution.
*
*
* To use this operation to associate an alias with a distribution, you provide the alias and the ID of the target
* distribution for the alias. For more information, including how to set up the target distribution, prerequisites
* that you must complete, and other restrictions, see Moving an alternate domain name to a different distribution in the Amazon CloudFront Developer Guide.
*
*
* @param associateAliasRequest
* @return Result of the AssociateAlias operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws TooManyDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.AssociateAlias
* @see AWS API
* Documentation
*/
AssociateAliasResult associateAlias(AssociateAliasRequest associateAliasRequest);
/**
*
* Creates a cache policy.
*
*
* After you create a cache policy, you can attach it to one or more cache behaviors. When it’s attached to a cache
* behavior, the cache policy determines the following:
*
*
* -
*
* The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and
* URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer.
*
*
* -
*
* The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront
* cache.
*
*
*
*
* The headers, cookies, and query strings that are included in the cache key are automatically included in requests
* that CloudFront sends to the origin. CloudFront sends a request when it can’t find an object in its cache that
* matches the request’s cache key. If you want to send values to the origin but not include them in the
* cache key, use OriginRequestPolicy
.
*
*
* For more information about cache policies, see Controlling the cache key in the Amazon CloudFront Developer Guide.
*
*
* @param createCachePolicyRequest
* @return Result of the CreateCachePolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws CachePolicyAlreadyExistsException
* A cache policy with this name already exists. You must provide a unique name. To modify an existing cache
* policy, use UpdateCachePolicy
.
* @throws TooManyCachePoliciesException
* You have reached the maximum number of cache policies for this account. For more information, see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyHeadersInCachePolicyException
* The number of headers in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyCookiesInCachePolicyException
* The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyQueryStringsInCachePolicyException
* The number of query strings in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.CreateCachePolicy
* @see AWS
* API Documentation
*/
CreateCachePolicyResult createCachePolicy(CreateCachePolicyRequest createCachePolicyRequest);
/**
*
* 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 Amazon CloudFront Developer Guide.
*
*
* @param createCloudFrontOriginAccessIdentityRequest
* The request to create a new origin access identity (OAI). An origin access identity is a special
* CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of
* your Amazon S3 content. For more information, see Restricting Access to Amazon S3 Content by Using an Origin Access Identity in the Amazon
* CloudFront Developer Guide.
* @return Result of the CreateCloudFrontOriginAccessIdentity operation returned by the service.
* @throws CloudFrontOriginAccessIdentityAlreadyExistsException
* If the CallerReference
is a value you already sent in a previous request to create an
* identity but the content of the CloudFrontOriginAccessIdentityConfig
is different from the
* original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists
error.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws TooManyCloudFrontOriginAccessIdentitiesException
* Processing your request would cause you to exceed the maximum number of origin access identities allowed.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @sample AmazonCloudFront.CreateCloudFrontOriginAccessIdentity
* @see AWS API Documentation
*/
CreateCloudFrontOriginAccessIdentityResult createCloudFrontOriginAccessIdentity(
CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest);
/**
*
* 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, 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 in the Amazon CloudFront Developer
* Guide.
*
*
*
* @param createDistributionRequest
* The request to create a new distribution.
* @return Result of the CreateDistribution operation returned by the service.
* @throws CNAMEAlreadyExistsException
* The CNAME specified is already defined for CloudFront.
* @throws DistributionAlreadyExistsException
* The caller reference you attempted to create the distribution with is associated with another
* distribution.
* @throws InvalidOriginException
* The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
* @throws InvalidOriginAccessIdentityException
* The origin access identity is not valid or doesn't exist.
* @throws AccessDeniedException
* Access denied.
* @throws TooManyTrustedSignersException
* Your request contains more trusted signers than are allowed per distribution.
* @throws TrustedSignerDoesNotExistException
* One or more of your trusted signers don't exist.
* @throws InvalidViewerCertificateException
* A viewer certificate specified is not valid.
* @throws InvalidMinimumProtocolVersionException
* The minimum protocol version specified is not valid.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws TooManyDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws TooManyDistributionsException
* Processing your request would cause you to exceed the maximum number of distributions allowed.
* @throws InvalidDefaultRootObjectException
* The default root object file name is too big or contains an invalid character.
* @throws InvalidRelativePathException
* The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
* @throws InvalidErrorCodeException
* An invalid error code was specified.
* @throws InvalidResponseCodeException
* A response code is not valid.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidRequiredProtocolException
* This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request,
* or omit the RequiredProtocols
element from your distribution configuration.
* @throws NoSuchOriginException
* No origin exists with the specified Origin Id
.
* @throws TooManyOriginsException
* You cannot create more origins for the distribution.
* @throws TooManyOriginGroupsPerDistributionException
* Processing your request would cause you to exceed the maximum number of origin groups allowed.
* @throws TooManyCacheBehaviorsException
* You cannot create more cache behaviors for the distribution.
* @throws TooManyCookieNamesInWhiteListException
* Your request contains more cookie names in the whitelist than are allowed per cache behavior.
* @throws InvalidForwardCookiesException
* Your request contains forward cookies option which doesn't match with the expectation for the
* whitelisted
list of cookie names. Either list of cookie names has been specified when not
* allowed or list of cookie names is missing when expected.
* @throws TooManyHeadersInForwardedValuesException
* Your request contains too many headers in forwarded values.
* @throws InvalidHeadersForS3OriginException
* The headers specified are not valid for an Amazon S3 origin.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws TooManyCertificatesException
* You cannot create anymore custom SSL/TLS certificates.
* @throws InvalidLocationCodeException
* The location code specified is not valid.
* @throws InvalidGeoRestrictionParameterException
* The specified geo restriction parameter is not valid.
* @throws InvalidProtocolSettingsException
* You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that
* support Server Name Indication (SNI).
* @throws InvalidTTLOrderException
* The TTL order specified is not valid.
* @throws InvalidWebACLIdException
* A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use
* the ACL ARN, for example
* arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a
* . To specify a web ACL created using WAF Classic, use the ACL ID, for example
* 473e64fd-f30b-4765-81a0-62ad96dd167a
.
* @throws TooManyOriginCustomHeadersException
* Your request contains too many origin custom headers.
* @throws TooManyQueryStringParametersException
* Your request contains too many query string parameters.
* @throws InvalidQueryStringParametersException
* The query string parameters specified are not valid.
* @throws TooManyDistributionsWithLambdaAssociationsException
* Processing your request would cause the maximum number of distributions with Lambda@Edge function
* associations per owner to be exceeded.
* @throws TooManyDistributionsWithSingleFunctionARNException
* The maximum number of distributions have been associated with the specified Lambda@Edge function.
* @throws TooManyLambdaFunctionAssociationsException
* Your request contains more Lambda@Edge function associations than are allowed per distribution.
* @throws InvalidLambdaFunctionAssociationException
* The specified Lambda@Edge function association is invalid.
* @throws TooManyDistributionsWithFunctionAssociationsException
* You have reached the maximum number of distributions that are associated with a CloudFront function. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyFunctionAssociationsException
* You have reached the maximum number of CloudFront function associations for this distribution. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws InvalidFunctionAssociationException
* A CloudFront function association is invalid.
* @throws InvalidOriginReadTimeoutException
* The read timeout specified for the origin is not valid.
* @throws InvalidOriginKeepaliveTimeoutException
* The keep alive timeout specified for the origin is not valid.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException
* The specified configuration for field-level encryption can't be associated with the specified cache
* behavior.
* @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException
* The maximum number of distributions have been associated with the specified configuration for field-level
* encryption.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws TooManyDistributionsAssociatedToCachePolicyException
* The maximum number of distributions have been associated with the specified cache policy. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws TooManyDistributionsAssociatedToOriginRequestPolicyException
* The maximum number of distributions have been associated with the specified origin request policy. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyDistributionsAssociatedToKeyGroupException
* The number of distributions that reference this key group is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyKeyGroupsAssociatedToDistributionException
* The number of key groups referenced by this distribution is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TrustedKeyGroupDoesNotExistException
* The specified key group does not exist.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @throws RealtimeLogConfigOwnerMismatchException
* The specified real-time log configuration belongs to a different account.
* @sample AmazonCloudFront.CreateDistribution
* @see AWS
* API Documentation
*/
CreateDistributionResult createDistribution(CreateDistributionRequest createDistributionRequest);
/**
*
* Create a new distribution with tags.
*
*
* @param createDistributionWithTagsRequest
* The request to create a new distribution with tags.
* @return Result of the CreateDistributionWithTags operation returned by the service.
* @throws CNAMEAlreadyExistsException
* The CNAME specified is already defined for CloudFront.
* @throws DistributionAlreadyExistsException
* The caller reference you attempted to create the distribution with is associated with another
* distribution.
* @throws InvalidOriginException
* The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
* @throws InvalidOriginAccessIdentityException
* The origin access identity is not valid or doesn't exist.
* @throws AccessDeniedException
* Access denied.
* @throws TooManyTrustedSignersException
* Your request contains more trusted signers than are allowed per distribution.
* @throws TrustedSignerDoesNotExistException
* One or more of your trusted signers don't exist.
* @throws InvalidViewerCertificateException
* A viewer certificate specified is not valid.
* @throws InvalidMinimumProtocolVersionException
* The minimum protocol version specified is not valid.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws TooManyDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws TooManyDistributionsException
* Processing your request would cause you to exceed the maximum number of distributions allowed.
* @throws InvalidDefaultRootObjectException
* The default root object file name is too big or contains an invalid character.
* @throws InvalidRelativePathException
* The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
* @throws InvalidErrorCodeException
* An invalid error code was specified.
* @throws InvalidResponseCodeException
* A response code is not valid.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidRequiredProtocolException
* This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request,
* or omit the RequiredProtocols
element from your distribution configuration.
* @throws NoSuchOriginException
* No origin exists with the specified Origin Id
.
* @throws TooManyOriginsException
* You cannot create more origins for the distribution.
* @throws TooManyOriginGroupsPerDistributionException
* Processing your request would cause you to exceed the maximum number of origin groups allowed.
* @throws TooManyCacheBehaviorsException
* You cannot create more cache behaviors for the distribution.
* @throws TooManyCookieNamesInWhiteListException
* Your request contains more cookie names in the whitelist than are allowed per cache behavior.
* @throws InvalidForwardCookiesException
* Your request contains forward cookies option which doesn't match with the expectation for the
* whitelisted
list of cookie names. Either list of cookie names has been specified when not
* allowed or list of cookie names is missing when expected.
* @throws TooManyHeadersInForwardedValuesException
* Your request contains too many headers in forwarded values.
* @throws InvalidHeadersForS3OriginException
* The headers specified are not valid for an Amazon S3 origin.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws TooManyCertificatesException
* You cannot create anymore custom SSL/TLS certificates.
* @throws InvalidLocationCodeException
* The location code specified is not valid.
* @throws InvalidGeoRestrictionParameterException
* The specified geo restriction parameter is not valid.
* @throws InvalidProtocolSettingsException
* You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that
* support Server Name Indication (SNI).
* @throws InvalidTTLOrderException
* The TTL order specified is not valid.
* @throws InvalidWebACLIdException
* A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use
* the ACL ARN, for example
* arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a
* . To specify a web ACL created using WAF Classic, use the ACL ID, for example
* 473e64fd-f30b-4765-81a0-62ad96dd167a
.
* @throws TooManyOriginCustomHeadersException
* Your request contains too many origin custom headers.
* @throws InvalidTaggingException
* The tagging specified is not valid.
* @throws TooManyQueryStringParametersException
* Your request contains too many query string parameters.
* @throws InvalidQueryStringParametersException
* The query string parameters specified are not valid.
* @throws TooManyDistributionsWithLambdaAssociationsException
* Processing your request would cause the maximum number of distributions with Lambda@Edge function
* associations per owner to be exceeded.
* @throws TooManyDistributionsWithSingleFunctionARNException
* The maximum number of distributions have been associated with the specified Lambda@Edge function.
* @throws TooManyLambdaFunctionAssociationsException
* Your request contains more Lambda@Edge function associations than are allowed per distribution.
* @throws InvalidLambdaFunctionAssociationException
* The specified Lambda@Edge function association is invalid.
* @throws TooManyDistributionsWithFunctionAssociationsException
* You have reached the maximum number of distributions that are associated with a CloudFront function. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyFunctionAssociationsException
* You have reached the maximum number of CloudFront function associations for this distribution. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws InvalidFunctionAssociationException
* A CloudFront function association is invalid.
* @throws InvalidOriginReadTimeoutException
* The read timeout specified for the origin is not valid.
* @throws InvalidOriginKeepaliveTimeoutException
* The keep alive timeout specified for the origin is not valid.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException
* The specified configuration for field-level encryption can't be associated with the specified cache
* behavior.
* @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException
* The maximum number of distributions have been associated with the specified configuration for field-level
* encryption.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws TooManyDistributionsAssociatedToCachePolicyException
* The maximum number of distributions have been associated with the specified cache policy. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws TooManyDistributionsAssociatedToOriginRequestPolicyException
* The maximum number of distributions have been associated with the specified origin request policy. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyDistributionsAssociatedToKeyGroupException
* The number of distributions that reference this key group is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyKeyGroupsAssociatedToDistributionException
* The number of key groups referenced by this distribution is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TrustedKeyGroupDoesNotExistException
* The specified key group does not exist.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @throws RealtimeLogConfigOwnerMismatchException
* The specified real-time log configuration belongs to a different account.
* @sample AmazonCloudFront.CreateDistributionWithTags
* @see AWS API Documentation
*/
CreateDistributionWithTagsResult createDistributionWithTags(CreateDistributionWithTagsRequest createDistributionWithTagsRequest);
/**
*
* Create a new field-level encryption configuration.
*
*
* @param createFieldLevelEncryptionConfigRequest
* @return Result of the CreateFieldLevelEncryptionConfig operation returned by the service.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws NoSuchFieldLevelEncryptionProfileException
* The specified profile for field-level encryption doesn't exist.
* @throws FieldLevelEncryptionConfigAlreadyExistsException
* The specified configuration for field-level encryption already exists.
* @throws TooManyFieldLevelEncryptionConfigsException
* The maximum number of configurations for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionQueryArgProfilesException
* The maximum number of query arg profiles for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionContentTypeProfilesException
* The maximum number of content type profiles for field-level encryption have been created.
* @throws QueryArgProfileEmptyException
* No profile specified for the field-level encryption query argument.
* @sample AmazonCloudFront.CreateFieldLevelEncryptionConfig
* @see AWS API Documentation
*/
CreateFieldLevelEncryptionConfigResult createFieldLevelEncryptionConfig(CreateFieldLevelEncryptionConfigRequest createFieldLevelEncryptionConfigRequest);
/**
*
* Create a field-level encryption profile.
*
*
* @param createFieldLevelEncryptionProfileRequest
* @return Result of the CreateFieldLevelEncryptionProfile operation returned by the service.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws NoSuchPublicKeyException
* The specified public key doesn't exist.
* @throws FieldLevelEncryptionProfileAlreadyExistsException
* The specified profile for field-level encryption already exists.
* @throws FieldLevelEncryptionProfileSizeExceededException
* The maximum size of a profile for field-level encryption was exceeded.
* @throws TooManyFieldLevelEncryptionProfilesException
* The maximum number of profiles for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionEncryptionEntitiesException
* The maximum number of encryption entities for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionFieldPatternsException
* The maximum number of field patterns for field-level encryption have been created.
* @sample AmazonCloudFront.CreateFieldLevelEncryptionProfile
* @see AWS API Documentation
*/
CreateFieldLevelEncryptionProfileResult createFieldLevelEncryptionProfile(CreateFieldLevelEncryptionProfileRequest createFieldLevelEncryptionProfileRequest);
/**
*
* Creates a CloudFront function.
*
*
* To create a function, you provide the function code and some configuration information about the function. The
* response contains an Amazon Resource Name (ARN) that uniquely identifies the function.
*
*
* When you create a function, it’s in the DEVELOPMENT
stage. In this stage, you can test the function
* with TestFunction
, and update it with UpdateFunction
.
*
*
* When you’re ready to use your function with a CloudFront distribution, use PublishFunction
to copy
* the function from the DEVELOPMENT
stage to LIVE
. When it’s live, you can attach the
* function to a distribution’s cache behavior, using the function’s ARN.
*
*
* @param createFunctionRequest
* @return Result of the CreateFunction operation returned by the service.
* @throws TooManyFunctionsException
* You have reached the maximum number of CloudFront functions for this account. For more information, see
* Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws FunctionAlreadyExistsException
* A function with the same name already exists in this account. To create a function, you must provide a
* unique name. To update an existing function, use UpdateFunction
.
* @throws FunctionSizeLimitExceededException
* The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.CreateFunction
* @see AWS API
* Documentation
*/
CreateFunctionResult createFunction(CreateFunctionRequest createFunctionRequest);
/**
*
* Create a new invalidation.
*
*
* @param createInvalidationRequest
* The request to create an invalidation.
* @return Result of the CreateInvalidation operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws BatchTooLargeException
* Invalidation batch specified is too large.
* @throws TooManyInvalidationsInProgressException
* You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation
* objects.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @sample AmazonCloudFront.CreateInvalidation
* @see AWS
* API Documentation
*/
CreateInvalidationResult createInvalidation(CreateInvalidationRequest createInvalidationRequest);
/**
*
* Creates a key group that you can use with CloudFront signed
* URLs and signed cookies.
*
*
* To create a key group, you must specify at least one public key for the key group. After you create a key group,
* you can reference it from one or more cache behaviors. When you reference a key group in a cache behavior,
* CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or
* cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or
* cookie contains information about which public key CloudFront should use to verify the signature. For more
* information, see Serving private
* content in the Amazon CloudFront Developer Guide.
*
*
* @param createKeyGroupRequest
* @return Result of the CreateKeyGroup operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws KeyGroupAlreadyExistsException
* A key group with this name already exists. You must provide a unique name. To modify an existing key
* group, use UpdateKeyGroup
.
* @throws TooManyKeyGroupsException
* You have reached the maximum number of key groups for this account. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyPublicKeysInKeyGroupException
* The number of public keys in this key group is more than the maximum allowed. For more information, see
* Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.CreateKeyGroup
* @see AWS API
* Documentation
*/
CreateKeyGroupResult createKeyGroup(CreateKeyGroupRequest createKeyGroupRequest);
/**
*
* Enables additional CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an
* additional cost.
*
*
* For more information, see Viewing additional CloudFront distribution metrics in the Amazon CloudFront Developer Guide.
*
*
* @param createMonitoringSubscriptionRequest
* @return Result of the CreateMonitoringSubscription operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.CreateMonitoringSubscription
* @see AWS API Documentation
*/
CreateMonitoringSubscriptionResult createMonitoringSubscription(CreateMonitoringSubscriptionRequest createMonitoringSubscriptionRequest);
/**
*
* Creates an origin request policy.
*
*
* After you create an origin request policy, you can attach it to one or more cache behaviors. When it’s attached
* to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it
* sends to the origin. Each request that CloudFront sends to the origin includes the following:
*
*
* -
*
* The request body and the URL path (without the domain name) from the viewer request.
*
*
* -
*
* The headers that CloudFront automatically includes in every origin request, including Host
,
* User-Agent
, and X-Amz-Cf-Id
.
*
*
* -
*
* All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request
* policy. These can include items from the viewer request and, in the case of headers, additional ones that are
* added by CloudFront.
*
*
*
*
* CloudFront sends a request when it can’t find a valid object in its cache that matches the request. If you want
* to send values to the origin and also include them in the cache key, use CachePolicy
.
*
*
* For more information about origin request policies, see Controlling origin requests in the Amazon CloudFront Developer Guide.
*
*
* @param createOriginRequestPolicyRequest
* @return Result of the CreateOriginRequestPolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws OriginRequestPolicyAlreadyExistsException
* An origin request policy with this name already exists. You must provide a unique name. To modify an
* existing origin request policy, use UpdateOriginRequestPolicy
.
* @throws TooManyOriginRequestPoliciesException
* You have reached the maximum number of origin request policies for this account. For more information,
* see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyHeadersInOriginRequestPolicyException
* The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyCookiesInOriginRequestPolicyException
* The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyQueryStringsInOriginRequestPolicyException
* The number of query strings in the origin request policy exceeds the maximum. For more information, see
* Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.CreateOriginRequestPolicy
* @see AWS API Documentation
*/
CreateOriginRequestPolicyResult createOriginRequestPolicy(CreateOriginRequestPolicyRequest createOriginRequestPolicyRequest);
/**
*
* Uploads a public key to CloudFront that you can use with signed URLs and
* signed cookies, or with field-level
* encryption.
*
*
* @param createPublicKeyRequest
* @return Result of the CreatePublicKey operation returned by the service.
* @throws PublicKeyAlreadyExistsException
* The specified public key already exists.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws TooManyPublicKeysException
* The maximum number of public keys for field-level encryption have been created. To create a new public
* key, delete one of the existing keys.
* @sample AmazonCloudFront.CreatePublicKey
* @see AWS API
* Documentation
*/
CreatePublicKeyResult createPublicKey(CreatePublicKeyRequest createPublicKeyRequest);
/**
*
* Creates a real-time log configuration.
*
*
* After you create a real-time log configuration, you can attach it to one or more cache behaviors to send
* real-time log data to the specified Amazon Kinesis data stream.
*
*
* For more information about real-time log configurations, see Real-time logs
* in the Amazon CloudFront Developer Guide.
*
*
* @param createRealtimeLogConfigRequest
* @return Result of the CreateRealtimeLogConfig operation returned by the service.
* @throws RealtimeLogConfigAlreadyExistsException
* A real-time log configuration with this name already exists. You must provide a unique name. To modify an
* existing real-time log configuration, use UpdateRealtimeLogConfig
.
* @throws TooManyRealtimeLogConfigsException
* You have reached the maximum number of real-time log configurations for this account. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.CreateRealtimeLogConfig
* @see AWS API Documentation
*/
CreateRealtimeLogConfigResult createRealtimeLogConfig(CreateRealtimeLogConfigRequest createRealtimeLogConfigRequest);
/**
*
* This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on
* December 31, 2020. For more information, read the
* announcement on the Amazon CloudFront discussion forum.
*
*
* @param createStreamingDistributionRequest
* The request to create a new streaming distribution.
* @return Result of the CreateStreamingDistribution operation returned by the service.
* @throws CNAMEAlreadyExistsException
* The CNAME specified is already defined for CloudFront.
* @throws StreamingDistributionAlreadyExistsException
* The caller reference you attempted to create the streaming distribution with is associated with another
* distribution
* @throws InvalidOriginException
* The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
* @throws InvalidOriginAccessIdentityException
* The origin access identity is not valid or doesn't exist.
* @throws AccessDeniedException
* Access denied.
* @throws TooManyTrustedSignersException
* Your request contains more trusted signers than are allowed per distribution.
* @throws TrustedSignerDoesNotExistException
* One or more of your trusted signers don't exist.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws TooManyStreamingDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws TooManyStreamingDistributionsException
* Processing your request would cause you to exceed the maximum number of streaming distributions allowed.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @sample AmazonCloudFront.CreateStreamingDistribution
* @see AWS API Documentation
*/
CreateStreamingDistributionResult createStreamingDistribution(CreateStreamingDistributionRequest createStreamingDistributionRequest);
/**
*
* This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on
* December 31, 2020. For more information, read the
* announcement on the Amazon CloudFront discussion forum.
*
*
* @param createStreamingDistributionWithTagsRequest
* The request to create a new streaming distribution with tags.
* @return Result of the CreateStreamingDistributionWithTags operation returned by the service.
* @throws CNAMEAlreadyExistsException
* The CNAME specified is already defined for CloudFront.
* @throws StreamingDistributionAlreadyExistsException
* The caller reference you attempted to create the streaming distribution with is associated with another
* distribution
* @throws InvalidOriginException
* The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
* @throws InvalidOriginAccessIdentityException
* The origin access identity is not valid or doesn't exist.
* @throws AccessDeniedException
* Access denied.
* @throws TooManyTrustedSignersException
* Your request contains more trusted signers than are allowed per distribution.
* @throws TrustedSignerDoesNotExistException
* One or more of your trusted signers don't exist.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws TooManyStreamingDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws TooManyStreamingDistributionsException
* Processing your request would cause you to exceed the maximum number of streaming distributions allowed.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidTaggingException
* The tagging specified is not valid.
* @sample AmazonCloudFront.CreateStreamingDistributionWithTags
* @see AWS API Documentation
*/
CreateStreamingDistributionWithTagsResult createStreamingDistributionWithTags(
CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest);
/**
*
* Deletes a cache policy.
*
*
* You cannot delete a cache policy if it’s attached to a cache behavior. First update your distributions to remove
* the cache policy from all cache behaviors, then delete the cache policy.
*
*
* To delete a cache policy, you must provide the policy’s identifier and version. To get these values, you can use
* ListCachePolicies
or GetCachePolicy
.
*
*
* @param deleteCachePolicyRequest
* @return Result of the DeleteCachePolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws IllegalDeleteException
* You cannot delete a managed policy.
* @throws CachePolicyInUseException
* Cannot delete the cache policy because it is attached to one or more cache behaviors.
* @sample AmazonCloudFront.DeleteCachePolicy
* @see AWS
* API Documentation
*/
DeleteCachePolicyResult deleteCachePolicy(DeleteCachePolicyRequest deleteCachePolicyRequest);
/**
*
* Delete an origin access identity.
*
*
* @param deleteCloudFrontOriginAccessIdentityRequest
* Deletes a origin access identity.
* @return Result of the DeleteCloudFrontOriginAccessIdentity operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchCloudFrontOriginAccessIdentityException
* The specified origin access identity does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws CloudFrontOriginAccessIdentityInUseException
* The Origin Access Identity specified is already in use.
* @sample AmazonCloudFront.DeleteCloudFrontOriginAccessIdentity
* @see AWS API Documentation
*/
DeleteCloudFrontOriginAccessIdentityResult deleteCloudFrontOriginAccessIdentity(
DeleteCloudFrontOriginAccessIdentityRequest deleteCloudFrontOriginAccessIdentityRequest);
/**
*
* Delete a distribution.
*
*
* @param deleteDistributionRequest
* This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the
* following steps.
*
* To delete a web distribution using the CloudFront API:
*
*
* -
*
* Disable the web distribution
*
*
* -
*
* Submit a GET Distribution Config
request to get the current configuration and the
* Etag
header for the distribution.
*
*
* -
*
* Update the XML document that was returned in the response to your GET Distribution Config
* request to change the value of Enabled
to false
.
*
*
* -
*
* Submit a PUT Distribution Config
request to update the configuration for your distribution.
* In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP
* If-Match
header to the value of the ETag
header that CloudFront returned when
* you submitted the GET Distribution Config
request in Step 2.
*
*
* -
*
* Review the response to the PUT Distribution Config
request to confirm that the distribution
* was successfully disabled.
*
*
* -
*
* Submit a GET Distribution
request to confirm that your changes have propagated. When
* propagation is complete, the value of Status
is Deployed
.
*
*
* -
*
* Submit a DELETE 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 Distribution Config
request in Step 6.
*
*
* -
*
* Review the response to your DELETE 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.
* @return Result of the DeleteDistribution operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws DistributionNotDisabledException
* The specified CloudFront distribution is not disabled. You must disable the distribution before you can
* delete it.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @sample AmazonCloudFront.DeleteDistribution
* @see AWS
* API Documentation
*/
DeleteDistributionResult deleteDistribution(DeleteDistributionRequest deleteDistributionRequest);
/**
*
* Remove a field-level encryption configuration.
*
*
* @param deleteFieldLevelEncryptionConfigRequest
* @return Result of the DeleteFieldLevelEncryptionConfig operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws FieldLevelEncryptionConfigInUseException
* The specified configuration for field-level encryption is in use.
* @sample AmazonCloudFront.DeleteFieldLevelEncryptionConfig
* @see AWS API Documentation
*/
DeleteFieldLevelEncryptionConfigResult deleteFieldLevelEncryptionConfig(DeleteFieldLevelEncryptionConfigRequest deleteFieldLevelEncryptionConfigRequest);
/**
*
* Remove a field-level encryption profile.
*
*
* @param deleteFieldLevelEncryptionProfileRequest
* @return Result of the DeleteFieldLevelEncryptionProfile operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchFieldLevelEncryptionProfileException
* The specified profile for field-level encryption doesn't exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws FieldLevelEncryptionProfileInUseException
* The specified profile for field-level encryption is in use.
* @sample AmazonCloudFront.DeleteFieldLevelEncryptionProfile
* @see AWS API Documentation
*/
DeleteFieldLevelEncryptionProfileResult deleteFieldLevelEncryptionProfile(DeleteFieldLevelEncryptionProfileRequest deleteFieldLevelEncryptionProfileRequest);
/**
*
* Deletes a CloudFront function.
*
*
* You cannot delete a function if it’s associated with a cache behavior. First, update your distributions to remove
* the function association from all cache behaviors, then delete the function.
*
*
* To delete a function, you must provide the function’s name and version (ETag
value). To get these
* values, you can use ListFunctions
and DescribeFunction
.
*
*
* @param deleteFunctionRequest
* @return Result of the DeleteFunction operation returned by the service.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws FunctionInUseException
* Cannot delete the function because it’s attached to one or more cache behaviors.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.DeleteFunction
* @see AWS API
* Documentation
*/
DeleteFunctionResult deleteFunction(DeleteFunctionRequest deleteFunctionRequest);
/**
*
* Deletes a key group.
*
*
* You cannot delete a key group that is referenced in a cache behavior. First update your distributions to remove
* the key group from all cache behaviors, then delete the key group.
*
*
* To delete a key group, you must provide the key group’s identifier and version. To get these values, use
* ListKeyGroups
followed by GetKeyGroup
or GetKeyGroupConfig
.
*
*
* @param deleteKeyGroupRequest
* @return Result of the DeleteKeyGroup operation returned by the service.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws ResourceInUseException
* Cannot delete this resource because it is in use.
* @sample AmazonCloudFront.DeleteKeyGroup
* @see AWS API
* Documentation
*/
DeleteKeyGroupResult deleteKeyGroup(DeleteKeyGroupRequest deleteKeyGroupRequest);
/**
*
* Disables additional CloudWatch metrics for the specified CloudFront distribution.
*
*
* @param deleteMonitoringSubscriptionRequest
* @return Result of the DeleteMonitoringSubscription operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.DeleteMonitoringSubscription
* @see AWS API Documentation
*/
DeleteMonitoringSubscriptionResult deleteMonitoringSubscription(DeleteMonitoringSubscriptionRequest deleteMonitoringSubscriptionRequest);
/**
*
* Deletes an origin request policy.
*
*
* You cannot delete an origin request policy if it’s attached to any cache behaviors. First update your
* distributions to remove the origin request policy from all cache behaviors, then delete the origin request
* policy.
*
*
* To delete an origin request policy, you must provide the policy’s identifier and version. To get the identifier,
* you can use ListOriginRequestPolicies
or GetOriginRequestPolicy
.
*
*
* @param deleteOriginRequestPolicyRequest
* @return Result of the DeleteOriginRequestPolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws IllegalDeleteException
* You cannot delete a managed policy.
* @throws OriginRequestPolicyInUseException
* Cannot delete the origin request policy because it is attached to one or more cache behaviors.
* @sample AmazonCloudFront.DeleteOriginRequestPolicy
* @see AWS API Documentation
*/
DeleteOriginRequestPolicyResult deleteOriginRequestPolicy(DeleteOriginRequestPolicyRequest deleteOriginRequestPolicyRequest);
/**
*
* Remove a public key you previously added to CloudFront.
*
*
* @param deletePublicKeyRequest
* @return Result of the DeletePublicKey operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws PublicKeyInUseException
* The specified public key is in use.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchPublicKeyException
* The specified public key doesn't exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @sample AmazonCloudFront.DeletePublicKey
* @see AWS API
* Documentation
*/
DeletePublicKeyResult deletePublicKey(DeletePublicKeyRequest deletePublicKeyRequest);
/**
*
* Deletes a real-time log configuration.
*
*
* You cannot delete a real-time log configuration if it’s attached to a cache behavior. First update your
* distributions to remove the real-time log configuration from all cache behaviors, then delete the real-time log
* configuration.
*
*
* To delete a real-time log configuration, you can provide the configuration’s name or its Amazon Resource Name
* (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log
* configuration to delete.
*
*
* @param deleteRealtimeLogConfigRequest
* @return Result of the DeleteRealtimeLogConfig operation returned by the service.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @throws RealtimeLogConfigInUseException
* Cannot delete the real-time log configuration because it is attached to one or more cache behaviors.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.DeleteRealtimeLogConfig
* @see AWS API Documentation
*/
DeleteRealtimeLogConfigResult deleteRealtimeLogConfig(DeleteRealtimeLogConfigRequest deleteRealtimeLogConfigRequest);
/**
*
* 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 Config
request to get the current configuration and the
* Etag
header for the distribution.
*
*
* -
*
* 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
.
*
*
* -
*
* 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.
*
*
* -
*
* Review the response to the PUT Streaming Distribution Config
request to confirm that the
* distribution was successfully disabled.
*
*
* -
*
* Submit a GET Streaming Distribution Config
request to confirm that your changes have propagated.
* When propagation is complete, the value of Status
is Deployed
.
*
*
* -
*
* 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.
*
*
* -
*
* 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.
*
*
* @param deleteStreamingDistributionRequest
* The request to delete a streaming distribution.
* @return Result of the DeleteStreamingDistribution operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws StreamingDistributionNotDisabledException
* The specified CloudFront distribution is not disabled. You must disable the distribution before you can
* delete it.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchStreamingDistributionException
* The specified streaming distribution does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @sample AmazonCloudFront.DeleteStreamingDistribution
* @see AWS API Documentation
*/
DeleteStreamingDistributionResult deleteStreamingDistribution(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest);
/**
*
* Gets configuration information and metadata about a CloudFront function, but not the function’s code. To get a
* function’s code, use GetFunction
.
*
*
* To get configuration information and metadata about a function, you must provide the function’s name and stage.
* To get these values, you can use ListFunctions
.
*
*
* @param describeFunctionRequest
* @return Result of the DescribeFunction operation returned by the service.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.DescribeFunction
* @see AWS
* API Documentation
*/
DescribeFunctionResult describeFunction(DescribeFunctionRequest describeFunctionRequest);
/**
*
* Gets a cache policy, including the following metadata:
*
*
* -
*
* The policy’s identifier.
*
*
* -
*
* The date and time when the policy was last modified.
*
*
*
*
* To get a cache policy, you must provide the policy’s identifier. If the cache policy is attached to a
* distribution’s cache behavior, you can get the policy’s identifier using ListDistributions
or
* GetDistribution
. If the cache policy is not attached to a cache behavior, you can get the identifier
* using ListCachePolicies
.
*
*
* @param getCachePolicyRequest
* @return Result of the GetCachePolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @sample AmazonCloudFront.GetCachePolicy
* @see AWS API
* Documentation
*/
GetCachePolicyResult getCachePolicy(GetCachePolicyRequest getCachePolicyRequest);
/**
*
* Gets a cache policy configuration.
*
*
* To get a cache policy configuration, you must provide the policy’s identifier. If the cache policy is attached to
* a distribution’s cache behavior, you can get the policy’s identifier using ListDistributions
or
* GetDistribution
. If the cache policy is not attached to a cache behavior, you can get the identifier
* using ListCachePolicies
.
*
*
* @param getCachePolicyConfigRequest
* @return Result of the GetCachePolicyConfig operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @sample AmazonCloudFront.GetCachePolicyConfig
* @see AWS API Documentation
*/
GetCachePolicyConfigResult getCachePolicyConfig(GetCachePolicyConfigRequest getCachePolicyConfigRequest);
/**
*
* Get the information about an origin access identity.
*
*
* @param getCloudFrontOriginAccessIdentityRequest
* The request to get an origin access identity's information.
* @return Result of the GetCloudFrontOriginAccessIdentity operation returned by the service.
* @throws NoSuchCloudFrontOriginAccessIdentityException
* The specified origin access identity does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetCloudFrontOriginAccessIdentity
* @see AWS API Documentation
*/
GetCloudFrontOriginAccessIdentityResult getCloudFrontOriginAccessIdentity(GetCloudFrontOriginAccessIdentityRequest getCloudFrontOriginAccessIdentityRequest);
/**
*
* Get the configuration information about an origin access identity.
*
*
* @param getCloudFrontOriginAccessIdentityConfigRequest
* The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfig.
* @return Result of the GetCloudFrontOriginAccessIdentityConfig operation returned by the service.
* @throws NoSuchCloudFrontOriginAccessIdentityException
* The specified origin access identity does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetCloudFrontOriginAccessIdentityConfig
* @see AWS API Documentation
*/
GetCloudFrontOriginAccessIdentityConfigResult getCloudFrontOriginAccessIdentityConfig(
GetCloudFrontOriginAccessIdentityConfigRequest getCloudFrontOriginAccessIdentityConfigRequest);
/**
*
* Get the information about a distribution.
*
*
* @param getDistributionRequest
* The request to get a distribution's information.
* @return Result of the GetDistribution operation returned by the service.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetDistribution
* @see AWS API
* Documentation
*/
GetDistributionResult getDistribution(GetDistributionRequest getDistributionRequest);
/**
*
* Get the configuration information about a distribution.
*
*
* @param getDistributionConfigRequest
* The request to get a distribution configuration.
* @return Result of the GetDistributionConfig operation returned by the service.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetDistributionConfig
* @see AWS API Documentation
*/
GetDistributionConfigResult getDistributionConfig(GetDistributionConfigRequest getDistributionConfigRequest);
/**
*
* Get the field-level encryption configuration information.
*
*
* @param getFieldLevelEncryptionRequest
* @return Result of the GetFieldLevelEncryption operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @sample AmazonCloudFront.GetFieldLevelEncryption
* @see AWS API Documentation
*/
GetFieldLevelEncryptionResult getFieldLevelEncryption(GetFieldLevelEncryptionRequest getFieldLevelEncryptionRequest);
/**
*
* Get the field-level encryption configuration information.
*
*
* @param getFieldLevelEncryptionConfigRequest
* @return Result of the GetFieldLevelEncryptionConfig operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @sample AmazonCloudFront.GetFieldLevelEncryptionConfig
* @see AWS API Documentation
*/
GetFieldLevelEncryptionConfigResult getFieldLevelEncryptionConfig(GetFieldLevelEncryptionConfigRequest getFieldLevelEncryptionConfigRequest);
/**
*
* Get the field-level encryption profile information.
*
*
* @param getFieldLevelEncryptionProfileRequest
* @return Result of the GetFieldLevelEncryptionProfile operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchFieldLevelEncryptionProfileException
* The specified profile for field-level encryption doesn't exist.
* @sample AmazonCloudFront.GetFieldLevelEncryptionProfile
* @see AWS API Documentation
*/
GetFieldLevelEncryptionProfileResult getFieldLevelEncryptionProfile(GetFieldLevelEncryptionProfileRequest getFieldLevelEncryptionProfileRequest);
/**
*
* Get the field-level encryption profile configuration information.
*
*
* @param getFieldLevelEncryptionProfileConfigRequest
* @return Result of the GetFieldLevelEncryptionProfileConfig operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchFieldLevelEncryptionProfileException
* The specified profile for field-level encryption doesn't exist.
* @sample AmazonCloudFront.GetFieldLevelEncryptionProfileConfig
* @see AWS API Documentation
*/
GetFieldLevelEncryptionProfileConfigResult getFieldLevelEncryptionProfileConfig(
GetFieldLevelEncryptionProfileConfigRequest getFieldLevelEncryptionProfileConfigRequest);
/**
*
* Gets the code of a CloudFront function. To get configuration information and metadata about a function, use
* DescribeFunction
.
*
*
* To get a function’s code, you must provide the function’s name and stage. To get these values, you can use
* ListFunctions
.
*
*
* @param getFunctionRequest
* @return Result of the GetFunction operation returned by the service.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.GetFunction
* @see AWS API
* Documentation
*/
GetFunctionResult getFunction(GetFunctionRequest getFunctionRequest);
/**
*
* Get the information about an invalidation.
*
*
* @param getInvalidationRequest
* The request to get an invalidation's information.
* @return Result of the GetInvalidation operation returned by the service.
* @throws NoSuchInvalidationException
* The specified invalidation does not exist.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetInvalidation
* @see AWS API
* Documentation
*/
GetInvalidationResult getInvalidation(GetInvalidationRequest getInvalidationRequest);
/**
*
* Gets a key group, including the date and time when the key group was last modified.
*
*
* To get a key group, you must provide the key group’s identifier. If the key group is referenced in a
* distribution’s cache behavior, you can get the key group’s identifier using ListDistributions
or
* GetDistribution
. If the key group is not referenced in a cache behavior, you can get the identifier
* using ListKeyGroups
.
*
*
* @param getKeyGroupRequest
* @return Result of the GetKeyGroup operation returned by the service.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @sample AmazonCloudFront.GetKeyGroup
* @see AWS API
* Documentation
*/
GetKeyGroupResult getKeyGroup(GetKeyGroupRequest getKeyGroupRequest);
/**
*
* Gets a key group configuration.
*
*
* To get a key group configuration, you must provide the key group’s identifier. If the key group is referenced in
* a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions
or
* GetDistribution
. If the key group is not referenced in a cache behavior, you can get the identifier
* using ListKeyGroups
.
*
*
* @param getKeyGroupConfigRequest
* @return Result of the GetKeyGroupConfig operation returned by the service.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @sample AmazonCloudFront.GetKeyGroupConfig
* @see AWS
* API Documentation
*/
GetKeyGroupConfigResult getKeyGroupConfig(GetKeyGroupConfigRequest getKeyGroupConfigRequest);
/**
*
* Gets information about whether additional CloudWatch metrics are enabled for the specified CloudFront
* distribution.
*
*
* @param getMonitoringSubscriptionRequest
* @return Result of the GetMonitoringSubscription operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.GetMonitoringSubscription
* @see AWS API Documentation
*/
GetMonitoringSubscriptionResult getMonitoringSubscription(GetMonitoringSubscriptionRequest getMonitoringSubscriptionRequest);
/**
*
* Gets an origin request policy, including the following metadata:
*
*
* -
*
* The policy’s identifier.
*
*
* -
*
* The date and time when the policy was last modified.
*
*
*
*
* To get an origin request policy, you must provide the policy’s identifier. If the origin request policy is
* attached to a distribution’s cache behavior, you can get the policy’s identifier using
* ListDistributions
or GetDistribution
. If the origin request policy is not attached to a
* cache behavior, you can get the identifier using ListOriginRequestPolicies
.
*
*
* @param getOriginRequestPolicyRequest
* @return Result of the GetOriginRequestPolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @sample AmazonCloudFront.GetOriginRequestPolicy
* @see AWS API Documentation
*/
GetOriginRequestPolicyResult getOriginRequestPolicy(GetOriginRequestPolicyRequest getOriginRequestPolicyRequest);
/**
*
* Gets an origin request policy configuration.
*
*
* To get an origin request policy configuration, you must provide the policy’s identifier. If the origin request
* policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using
* ListDistributions
or GetDistribution
. If the origin request policy is not attached to a
* cache behavior, you can get the identifier using ListOriginRequestPolicies
.
*
*
* @param getOriginRequestPolicyConfigRequest
* @return Result of the GetOriginRequestPolicyConfig operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @sample AmazonCloudFront.GetOriginRequestPolicyConfig
* @see AWS API Documentation
*/
GetOriginRequestPolicyConfigResult getOriginRequestPolicyConfig(GetOriginRequestPolicyConfigRequest getOriginRequestPolicyConfigRequest);
/**
*
* Gets a public key.
*
*
* @param getPublicKeyRequest
* @return Result of the GetPublicKey operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchPublicKeyException
* The specified public key doesn't exist.
* @sample AmazonCloudFront.GetPublicKey
* @see AWS API
* Documentation
*/
GetPublicKeyResult getPublicKey(GetPublicKeyRequest getPublicKeyRequest);
/**
*
* Gets a public key configuration.
*
*
* @param getPublicKeyConfigRequest
* @return Result of the GetPublicKeyConfig operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchPublicKeyException
* The specified public key doesn't exist.
* @sample AmazonCloudFront.GetPublicKeyConfig
* @see AWS
* API Documentation
*/
GetPublicKeyConfigResult getPublicKeyConfig(GetPublicKeyConfigRequest getPublicKeyConfigRequest);
/**
*
* Gets a real-time log configuration.
*
*
* To get a real-time log configuration, you can provide the configuration’s name or its Amazon Resource Name (ARN).
* You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log
* configuration to get.
*
*
* @param getRealtimeLogConfigRequest
* @return Result of the GetRealtimeLogConfig operation returned by the service.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetRealtimeLogConfig
* @see AWS API Documentation
*/
GetRealtimeLogConfigResult getRealtimeLogConfig(GetRealtimeLogConfigRequest getRealtimeLogConfigRequest);
/**
*
* Gets information about a specified RTMP distribution, including the distribution configuration.
*
*
* @param getStreamingDistributionRequest
* The request to get a streaming distribution's information.
* @return Result of the GetStreamingDistribution operation returned by the service.
* @throws NoSuchStreamingDistributionException
* The specified streaming distribution does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetStreamingDistribution
* @see AWS API Documentation
*/
GetStreamingDistributionResult getStreamingDistribution(GetStreamingDistributionRequest getStreamingDistributionRequest);
/**
*
* Get the configuration information about a streaming distribution.
*
*
* @param getStreamingDistributionConfigRequest
* To request to get a streaming distribution configuration.
* @return Result of the GetStreamingDistributionConfig operation returned by the service.
* @throws NoSuchStreamingDistributionException
* The specified streaming distribution does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.GetStreamingDistributionConfig
* @see AWS API Documentation
*/
GetStreamingDistributionConfigResult getStreamingDistributionConfig(GetStreamingDistributionConfigRequest getStreamingDistributionConfigRequest);
/**
*
* Gets a list of cache policies.
*
*
* You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or only the
* custom policies created in your account.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listCachePoliciesRequest
* @return Result of the ListCachePolicies operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListCachePolicies
* @see AWS
* API Documentation
*/
ListCachePoliciesResult listCachePolicies(ListCachePoliciesRequest listCachePoliciesRequest);
/**
*
* Lists origin access identities.
*
*
* @param listCloudFrontOriginAccessIdentitiesRequest
* The request to list origin access identities.
* @return Result of the ListCloudFrontOriginAccessIdentities operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListCloudFrontOriginAccessIdentities
* @see AWS API Documentation
*/
ListCloudFrontOriginAccessIdentitiesResult listCloudFrontOriginAccessIdentities(
ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest);
/**
*
* Gets a list of aliases (also called CNAMEs or alternate domain names) that conflict or overlap with the provided
* alias, and the associated CloudFront distributions and Amazon Web Services accounts for each conflicting alias.
* In the returned list, the distribution and account IDs are partially hidden, which allows you to identify the
* distributions and accounts that you own, but helps to protect the information of ones that you don’t own.
*
*
* Use this operation to find aliases that are in use in CloudFront that conflict or overlap with the provided
* alias. For example, if you provide www.example.com
as input, the returned list can include
* www.example.com
and the overlapping wildcard alternate domain name (*.example.com
), if
* they exist. If you provide *.example.com
as input, the returned list can include
* *.example.com
and any alternate domain names covered by that wildcard (for example,
* www.example.com
, test.example.com
, dev.example.com
, and so on), if they
* exist.
*
*
* To list conflicting aliases, you provide the alias to search and the ID of a distribution in your account that
* has an attached SSL/TLS certificate that includes the provided alias. For more information, including how to set
* up the distribution and certificate, see Moving an alternate domain name to a different distribution in the Amazon CloudFront Developer Guide.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listConflictingAliasesRequest
* @return Result of the ListConflictingAliases operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @sample AmazonCloudFront.ListConflictingAliases
* @see AWS API Documentation
*/
ListConflictingAliasesResult listConflictingAliases(ListConflictingAliasesRequest listConflictingAliasesRequest);
/**
*
* List CloudFront distributions.
*
*
* @param listDistributionsRequest
* The request to list your distributions.
* @return Result of the ListDistributions operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListDistributions
* @see AWS
* API Documentation
*/
ListDistributionsResult listDistributions(ListDistributionsRequest listDistributionsRequest);
/**
*
* Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified
* cache policy.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listDistributionsByCachePolicyIdRequest
* @return Result of the ListDistributionsByCachePolicyId operation returned by the service.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.ListDistributionsByCachePolicyId
* @see AWS API Documentation
*/
ListDistributionsByCachePolicyIdResult listDistributionsByCachePolicyId(ListDistributionsByCachePolicyIdRequest listDistributionsByCachePolicyIdRequest);
/**
*
* Gets a list of distribution IDs for distributions that have a cache behavior that references the specified key
* group.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listDistributionsByKeyGroupRequest
* @return Result of the ListDistributionsByKeyGroup operation returned by the service.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListDistributionsByKeyGroup
* @see AWS API Documentation
*/
ListDistributionsByKeyGroupResult listDistributionsByKeyGroup(ListDistributionsByKeyGroupRequest listDistributionsByKeyGroupRequest);
/**
*
* Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified
* origin request policy.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listDistributionsByOriginRequestPolicyIdRequest
* @return Result of the ListDistributionsByOriginRequestPolicyId operation returned by the service.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.ListDistributionsByOriginRequestPolicyId
* @see AWS API Documentation
*/
ListDistributionsByOriginRequestPolicyIdResult listDistributionsByOriginRequestPolicyId(
ListDistributionsByOriginRequestPolicyIdRequest listDistributionsByOriginRequestPolicyIdRequest);
/**
*
* Gets a list of distributions that have a cache behavior that’s associated with the specified real-time log
* configuration.
*
*
* You can specify the real-time log configuration by its name or its Amazon Resource Name (ARN). You must provide
* at least one. If you provide both, CloudFront uses the name to identify the real-time log configuration to list
* distributions for.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listDistributionsByRealtimeLogConfigRequest
* @return Result of the ListDistributionsByRealtimeLogConfig operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListDistributionsByRealtimeLogConfig
* @see AWS API Documentation
*/
ListDistributionsByRealtimeLogConfigResult listDistributionsByRealtimeLogConfig(
ListDistributionsByRealtimeLogConfigRequest listDistributionsByRealtimeLogConfigRequest);
/**
*
* List the distributions that are associated with a specified WAF web ACL.
*
*
* @param listDistributionsByWebACLIdRequest
* The request to list distributions that are associated with a specified WAF web ACL.
* @return Result of the ListDistributionsByWebACLId operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidWebACLIdException
* A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use
* the ACL ARN, for example
* arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a
* . To specify a web ACL created using WAF Classic, use the ACL ID, for example
* 473e64fd-f30b-4765-81a0-62ad96dd167a
.
* @sample AmazonCloudFront.ListDistributionsByWebACLId
* @see AWS API Documentation
*/
ListDistributionsByWebACLIdResult listDistributionsByWebACLId(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest);
/**
*
* List all field-level encryption configurations that have been created in CloudFront for this account.
*
*
* @param listFieldLevelEncryptionConfigsRequest
* @return Result of the ListFieldLevelEncryptionConfigs operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListFieldLevelEncryptionConfigs
* @see AWS API Documentation
*/
ListFieldLevelEncryptionConfigsResult listFieldLevelEncryptionConfigs(ListFieldLevelEncryptionConfigsRequest listFieldLevelEncryptionConfigsRequest);
/**
*
* Request a list of field-level encryption profiles that have been created in CloudFront for this account.
*
*
* @param listFieldLevelEncryptionProfilesRequest
* @return Result of the ListFieldLevelEncryptionProfiles operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListFieldLevelEncryptionProfiles
* @see AWS API Documentation
*/
ListFieldLevelEncryptionProfilesResult listFieldLevelEncryptionProfiles(ListFieldLevelEncryptionProfilesRequest listFieldLevelEncryptionProfilesRequest);
/**
*
* Gets a list of all CloudFront functions in your account.
*
*
* You can optionally apply a filter to return only the functions that are in the specified stage, either
* DEVELOPMENT
or LIVE
.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listFunctionsRequest
* @return Result of the ListFunctions operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.ListFunctions
* @see AWS API
* Documentation
*/
ListFunctionsResult listFunctions(ListFunctionsRequest listFunctionsRequest);
/**
*
* Lists invalidation batches.
*
*
* @param listInvalidationsRequest
* The request to list invalidations.
* @return Result of the ListInvalidations operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.ListInvalidations
* @see AWS
* API Documentation
*/
ListInvalidationsResult listInvalidations(ListInvalidationsRequest listInvalidationsRequest);
/**
*
* Gets a list of key groups.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listKeyGroupsRequest
* @return Result of the ListKeyGroups operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListKeyGroups
* @see AWS API
* Documentation
*/
ListKeyGroupsResult listKeyGroups(ListKeyGroupsRequest listKeyGroupsRequest);
/**
*
* Gets a list of origin request policies.
*
*
* You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or only the
* custom policies created in your account.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listOriginRequestPoliciesRequest
* @return Result of the ListOriginRequestPolicies operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListOriginRequestPolicies
* @see AWS API Documentation
*/
ListOriginRequestPoliciesResult listOriginRequestPolicies(ListOriginRequestPoliciesRequest listOriginRequestPoliciesRequest);
/**
*
* List all public keys that have been added to CloudFront for this account.
*
*
* @param listPublicKeysRequest
* @return Result of the ListPublicKeys operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListPublicKeys
* @see AWS API
* Documentation
*/
ListPublicKeysResult listPublicKeys(ListPublicKeysRequest listPublicKeysRequest);
/**
*
* Gets a list of real-time log configurations.
*
*
* You can optionally specify the maximum number of items to receive in the response. If the total number of items
* in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the
* next page of items, send a subsequent request that specifies the NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*
*
* @param listRealtimeLogConfigsRequest
* @return Result of the ListRealtimeLogConfigs operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws AccessDeniedException
* Access denied.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @sample AmazonCloudFront.ListRealtimeLogConfigs
* @see AWS API Documentation
*/
ListRealtimeLogConfigsResult listRealtimeLogConfigs(ListRealtimeLogConfigsRequest listRealtimeLogConfigsRequest);
/**
*
* List streaming distributions.
*
*
* @param listStreamingDistributionsRequest
* The request to list your streaming distributions.
* @return Result of the ListStreamingDistributions operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @sample AmazonCloudFront.ListStreamingDistributions
* @see AWS API Documentation
*/
ListStreamingDistributionsResult listStreamingDistributions(ListStreamingDistributionsRequest listStreamingDistributionsRequest);
/**
*
* List tags for a CloudFront resource.
*
*
* @param listTagsForResourceRequest
* The request to list tags for a CloudFront resource.
* @return Result of the ListTagsForResource operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidTaggingException
* The tagging specified is not valid.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @sample AmazonCloudFront.ListTagsForResource
* @see AWS
* API Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Publishes a CloudFront function by copying the function code from the DEVELOPMENT
stage to
* LIVE
. This automatically updates all cache behaviors that are using this function to use the newly
* published copy in the LIVE
stage.
*
*
* When a function is published to the LIVE
stage, you can attach the function to a distribution’s
* cache behavior, using the function’s Amazon Resource Name (ARN).
*
*
* To publish a function, you must provide the function’s name and version (ETag
value). To get these
* values, you can use ListFunctions
and DescribeFunction
.
*
*
* @param publishFunctionRequest
* @return Result of the PublishFunction operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.PublishFunction
* @see AWS API
* Documentation
*/
PublishFunctionResult publishFunction(PublishFunctionRequest publishFunctionRequest);
/**
*
* Add tags to a CloudFront resource.
*
*
* @param tagResourceRequest
* The request to add tags to a CloudFront resource.
* @return Result of the TagResource operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidTaggingException
* The tagging specified is not valid.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @sample AmazonCloudFront.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Tests a CloudFront function.
*
*
* To test a function, you provide an event object that represents an HTTP request or response that your
* CloudFront distribution could receive in production. CloudFront runs the function, passing it the event object
* that you provided, and returns the function’s result (the modified event object) in the response. The response
* also contains function logs and error messages, if any exist. For more information about testing functions, see
* Testing functions in the Amazon CloudFront Developer Guide.
*
*
* To test a function, you provide the function’s name and version (ETag
value) along with the event
* object. To get the function’s name and version, you can use ListFunctions
and
* DescribeFunction
.
*
*
* @param testFunctionRequest
* @return Result of the TestFunction operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws TestFunctionFailedException
* The CloudFront function failed.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.TestFunction
* @see AWS API
* Documentation
*/
TestFunctionResult testFunction(TestFunctionRequest testFunctionRequest);
/**
*
* Remove tags from a CloudFront resource.
*
*
* @param untagResourceRequest
* The request to remove tags from a CloudFront resource.
* @return Result of the UntagResource operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidTaggingException
* The tagging specified is not valid.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @sample AmazonCloudFront.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates a cache policy configuration.
*
*
* When you update a cache policy configuration, all the fields are updated with the values provided in the request.
* You cannot update some fields independent of others. To update a cache policy configuration:
*
*
* -
*
* Use GetCachePolicyConfig
to get the current configuration.
*
*
* -
*
* Locally modify the fields in the cache policy configuration that you want to update.
*
*
* -
*
* Call UpdateCachePolicy
by providing the entire cache policy configuration, including the fields that
* you modified and those that you didn’t.
*
*
*
*
* @param updateCachePolicyRequest
* @return Result of the UpdateCachePolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws CachePolicyAlreadyExistsException
* A cache policy with this name already exists. You must provide a unique name. To modify an existing cache
* policy, use UpdateCachePolicy
.
* @throws TooManyHeadersInCachePolicyException
* The number of headers in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyCookiesInCachePolicyException
* The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyQueryStringsInCachePolicyException
* The number of query strings in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.UpdateCachePolicy
* @see AWS
* API Documentation
*/
UpdateCachePolicyResult updateCachePolicy(UpdateCachePolicyRequest updateCachePolicyRequest);
/**
*
* Update an origin access identity.
*
*
* @param updateCloudFrontOriginAccessIdentityRequest
* The request to update an origin access identity.
* @return Result of the UpdateCloudFrontOriginAccessIdentity operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws NoSuchCloudFrontOriginAccessIdentityException
* The specified origin access identity does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @sample AmazonCloudFront.UpdateCloudFrontOriginAccessIdentity
* @see AWS API Documentation
*/
UpdateCloudFrontOriginAccessIdentityResult updateCloudFrontOriginAccessIdentity(
UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest);
/**
*
* 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 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 in the Amazon CloudFront Developer Guide.
*
*
* To update a web distribution using the CloudFront API
*
*
* -
*
* Submit a
* GetDistributionConfig request to get the current configuration and an Etag
header for the
* distribution.
*
*
*
* If you update the distribution again, you must get a new Etag
header.
*
*
* -
*
* Update the XML document that was returned in the response to your GetDistributionConfig
request 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
* an IllegalUpdate
error.
*
*
* -
*
* The new configuration replaces the existing configuration; the values that you specify in an
* UpdateDistribution
request 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 corresponding
* Quantity
element.
*
*
*
*
* -
*
* 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.
*
*
*
*
* -
*
* Review the response to the UpdateDistribution
request to confirm that the configuration was
* successfully updated.
*
*
* -
*
* Optional: Submit a GetDistribution
* request to confirm that your changes have propagated. When propagation is complete, the value of
* Status
is Deployed
.
*
*
*
*
* @param updateDistributionRequest
* The request to update a distribution.
* @return Result of the UpdateDistribution operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws CNAMEAlreadyExistsException
* The CNAME specified is already defined for CloudFront.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws TooManyDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws InvalidDefaultRootObjectException
* The default root object file name is too big or contains an invalid character.
* @throws InvalidRelativePathException
* The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
* @throws InvalidErrorCodeException
* An invalid error code was specified.
* @throws InvalidResponseCodeException
* A response code is not valid.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidOriginAccessIdentityException
* The origin access identity is not valid or doesn't exist.
* @throws TooManyTrustedSignersException
* Your request contains more trusted signers than are allowed per distribution.
* @throws TrustedSignerDoesNotExistException
* One or more of your trusted signers don't exist.
* @throws InvalidViewerCertificateException
* A viewer certificate specified is not valid.
* @throws InvalidMinimumProtocolVersionException
* The minimum protocol version specified is not valid.
* @throws InvalidRequiredProtocolException
* This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request,
* or omit the RequiredProtocols
element from your distribution configuration.
* @throws NoSuchOriginException
* No origin exists with the specified Origin Id
.
* @throws TooManyOriginsException
* You cannot create more origins for the distribution.
* @throws TooManyOriginGroupsPerDistributionException
* Processing your request would cause you to exceed the maximum number of origin groups allowed.
* @throws TooManyCacheBehaviorsException
* You cannot create more cache behaviors for the distribution.
* @throws TooManyCookieNamesInWhiteListException
* Your request contains more cookie names in the whitelist than are allowed per cache behavior.
* @throws InvalidForwardCookiesException
* Your request contains forward cookies option which doesn't match with the expectation for the
* whitelisted
list of cookie names. Either list of cookie names has been specified when not
* allowed or list of cookie names is missing when expected.
* @throws TooManyHeadersInForwardedValuesException
* Your request contains too many headers in forwarded values.
* @throws InvalidHeadersForS3OriginException
* The headers specified are not valid for an Amazon S3 origin.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws TooManyCertificatesException
* You cannot create anymore custom SSL/TLS certificates.
* @throws InvalidLocationCodeException
* The location code specified is not valid.
* @throws InvalidGeoRestrictionParameterException
* The specified geo restriction parameter is not valid.
* @throws InvalidTTLOrderException
* The TTL order specified is not valid.
* @throws InvalidWebACLIdException
* A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use
* the ACL ARN, for example
* arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a
* . To specify a web ACL created using WAF Classic, use the ACL ID, for example
* 473e64fd-f30b-4765-81a0-62ad96dd167a
.
* @throws TooManyOriginCustomHeadersException
* Your request contains too many origin custom headers.
* @throws TooManyQueryStringParametersException
* Your request contains too many query string parameters.
* @throws InvalidQueryStringParametersException
* The query string parameters specified are not valid.
* @throws TooManyDistributionsWithLambdaAssociationsException
* Processing your request would cause the maximum number of distributions with Lambda@Edge function
* associations per owner to be exceeded.
* @throws TooManyDistributionsWithSingleFunctionARNException
* The maximum number of distributions have been associated with the specified Lambda@Edge function.
* @throws TooManyLambdaFunctionAssociationsException
* Your request contains more Lambda@Edge function associations than are allowed per distribution.
* @throws InvalidLambdaFunctionAssociationException
* The specified Lambda@Edge function association is invalid.
* @throws TooManyDistributionsWithFunctionAssociationsException
* You have reached the maximum number of distributions that are associated with a CloudFront function. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyFunctionAssociationsException
* You have reached the maximum number of CloudFront function associations for this distribution. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws InvalidFunctionAssociationException
* A CloudFront function association is invalid.
* @throws InvalidOriginReadTimeoutException
* The read timeout specified for the origin is not valid.
* @throws InvalidOriginKeepaliveTimeoutException
* The keep alive timeout specified for the origin is not valid.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException
* The specified configuration for field-level encryption can't be associated with the specified cache
* behavior.
* @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException
* The maximum number of distributions have been associated with the specified configuration for field-level
* encryption.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws TooManyDistributionsAssociatedToCachePolicyException
* The maximum number of distributions have been associated with the specified cache policy. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws TooManyDistributionsAssociatedToOriginRequestPolicyException
* The maximum number of distributions have been associated with the specified origin request policy. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyDistributionsAssociatedToKeyGroupException
* The number of distributions that reference this key group is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyKeyGroupsAssociatedToDistributionException
* The number of key groups referenced by this distribution is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TrustedKeyGroupDoesNotExistException
* The specified key group does not exist.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @throws RealtimeLogConfigOwnerMismatchException
* The specified real-time log configuration belongs to a different account.
* @sample AmazonCloudFront.UpdateDistribution
* @see AWS
* API Documentation
*/
UpdateDistributionResult updateDistribution(UpdateDistributionRequest updateDistributionRequest);
/**
*
* Update a field-level encryption configuration.
*
*
* @param updateFieldLevelEncryptionConfigRequest
* @return Result of the UpdateFieldLevelEncryptionConfig operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchFieldLevelEncryptionProfileException
* The specified profile for field-level encryption doesn't exist.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws TooManyFieldLevelEncryptionQueryArgProfilesException
* The maximum number of query arg profiles for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionContentTypeProfilesException
* The maximum number of content type profiles for field-level encryption have been created.
* @throws QueryArgProfileEmptyException
* No profile specified for the field-level encryption query argument.
* @sample AmazonCloudFront.UpdateFieldLevelEncryptionConfig
* @see AWS API Documentation
*/
UpdateFieldLevelEncryptionConfigResult updateFieldLevelEncryptionConfig(UpdateFieldLevelEncryptionConfigRequest updateFieldLevelEncryptionConfigRequest);
/**
*
* Update a field-level encryption profile.
*
*
* @param updateFieldLevelEncryptionProfileRequest
* @return Result of the UpdateFieldLevelEncryptionProfile operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws FieldLevelEncryptionProfileAlreadyExistsException
* The specified profile for field-level encryption already exists.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchPublicKeyException
* The specified public key doesn't exist.
* @throws NoSuchFieldLevelEncryptionProfileException
* The specified profile for field-level encryption doesn't exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws FieldLevelEncryptionProfileSizeExceededException
* The maximum size of a profile for field-level encryption was exceeded.
* @throws TooManyFieldLevelEncryptionEncryptionEntitiesException
* The maximum number of encryption entities for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionFieldPatternsException
* The maximum number of field patterns for field-level encryption have been created.
* @sample AmazonCloudFront.UpdateFieldLevelEncryptionProfile
* @see AWS API Documentation
*/
UpdateFieldLevelEncryptionProfileResult updateFieldLevelEncryptionProfile(UpdateFieldLevelEncryptionProfileRequest updateFieldLevelEncryptionProfileRequest);
/**
*
* Updates a CloudFront function.
*
*
* You can update a function’s code or the comment that describes the function. You cannot update a function’s name.
*
*
* To update a function, you provide the function’s name and version (ETag
value) along with the
* updated function code. To get the name and version, you can use ListFunctions
and
* DescribeFunction
.
*
*
* @param updateFunctionRequest
* @return Result of the UpdateFunction operation returned by the service.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws FunctionSizeLimitExceededException
* The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.UpdateFunction
* @see AWS API
* Documentation
*/
UpdateFunctionResult updateFunction(UpdateFunctionRequest updateFunctionRequest);
/**
*
* Updates a key group.
*
*
* When you update a key group, all the fields are updated with the values provided in the request. You cannot
* update some fields independent of others. To update a key group:
*
*
* -
*
* Get the current key group with GetKeyGroup
or GetKeyGroupConfig
.
*
*
* -
*
* Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs.
*
*
* -
*
* Call UpdateKeyGroup
with the entire key group object, including the fields that you modified and
* those that you didn’t.
*
*
*
*
* @param updateKeyGroupRequest
* @return Result of the UpdateKeyGroup operation returned by the service.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws KeyGroupAlreadyExistsException
* A key group with this name already exists. You must provide a unique name. To modify an existing key
* group, use UpdateKeyGroup
.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws TooManyPublicKeysInKeyGroupException
* The number of public keys in this key group is more than the maximum allowed. For more information, see
* Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.UpdateKeyGroup
* @see AWS API
* Documentation
*/
UpdateKeyGroupResult updateKeyGroup(UpdateKeyGroupRequest updateKeyGroupRequest);
/**
*
* Updates an origin request policy configuration.
*
*
* When you update an origin request policy configuration, all the fields are updated with the values provided in
* the request. You cannot update some fields independent of others. To update an origin request policy
* configuration:
*
*
* -
*
* Use GetOriginRequestPolicyConfig
to get the current configuration.
*
*
* -
*
* Locally modify the fields in the origin request policy configuration that you want to update.
*
*
* -
*
* Call UpdateOriginRequestPolicy
by providing the entire origin request policy configuration,
* including the fields that you modified and those that you didn’t.
*
*
*
*
* @param updateOriginRequestPolicyRequest
* @return Result of the UpdateOriginRequestPolicy operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws OriginRequestPolicyAlreadyExistsException
* An origin request policy with this name already exists. You must provide a unique name. To modify an
* existing origin request policy, use UpdateOriginRequestPolicy
.
* @throws TooManyHeadersInOriginRequestPolicyException
* The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyCookiesInOriginRequestPolicyException
* The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyQueryStringsInOriginRequestPolicyException
* The number of query strings in the origin request policy exceeds the maximum. For more information, see
* Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.UpdateOriginRequestPolicy
* @see AWS API Documentation
*/
UpdateOriginRequestPolicyResult updateOriginRequestPolicy(UpdateOriginRequestPolicyRequest updateOriginRequestPolicyRequest);
/**
*
* Update public key information. Note that the only value you can change is the comment.
*
*
* @param updatePublicKeyRequest
* @return Result of the UpdatePublicKey operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws CannotChangeImmutablePublicKeyFieldsException
* You can't change the value of a public key.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws NoSuchPublicKeyException
* The specified public key doesn't exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @sample AmazonCloudFront.UpdatePublicKey
* @see AWS API
* Documentation
*/
UpdatePublicKeyResult updatePublicKey(UpdatePublicKeyRequest updatePublicKeyRequest);
/**
*
* Updates a real-time log configuration.
*
*
* When you update a real-time log configuration, all the parameters are updated with the values provided in the
* request. You cannot update some parameters independent of others. To update a real-time log configuration:
*
*
* -
*
* Call GetRealtimeLogConfig
to get the current real-time log configuration.
*
*
* -
*
* Locally modify the parameters in the real-time log configuration that you want to update.
*
*
* -
*
* Call this API (UpdateRealtimeLogConfig
) by providing the entire real-time log configuration,
* including the parameters that you modified and those that you didn’t.
*
*
*
*
* You cannot update a real-time log configuration’s Name
or ARN
.
*
*
* @param updateRealtimeLogConfigRequest
* @return Result of the UpdateRealtimeLogConfig operation returned by the service.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws AccessDeniedException
* Access denied.
* @sample AmazonCloudFront.UpdateRealtimeLogConfig
* @see AWS API Documentation
*/
UpdateRealtimeLogConfigResult updateRealtimeLogConfig(UpdateRealtimeLogConfigRequest updateRealtimeLogConfigRequest);
/**
*
* Update a streaming distribution.
*
*
* @param updateStreamingDistributionRequest
* The request to update a streaming distribution.
* @return Result of the UpdateStreamingDistribution operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws CNAMEAlreadyExistsException
* The CNAME specified is already defined for CloudFront.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws NoSuchStreamingDistributionException
* The specified streaming distribution does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws TooManyStreamingDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidOriginAccessIdentityException
* The origin access identity is not valid or doesn't exist.
* @throws TooManyTrustedSignersException
* Your request contains more trusted signers than are allowed per distribution.
* @throws TrustedSignerDoesNotExistException
* One or more of your trusted signers don't exist.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @sample AmazonCloudFront.UpdateStreamingDistribution
* @see AWS API Documentation
*/
UpdateStreamingDistributionResult updateStreamingDistribution(UpdateStreamingDistributionRequest updateStreamingDistributionRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
AmazonCloudFrontWaiters waiters();
}