All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cloudfront.AmazonCloudFront Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon CloudFront module holds the client classes that are used for communicating with Amazon CloudFront Service

The newest version!
/*
 * Copyright 2019-2024 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 staging distribution using the configuration of the provided primary distribution. A staging * distribution is a copy of an existing distribution (called the primary distribution) that you can use in a * continuous deployment workflow. *

*

* After you create a staging distribution, you can use UpdateDistribution to modify the staging * distribution's configuration. Then you can use CreateContinuousDeploymentPolicy to incrementally * move traffic to the staging distribution. *

*

* This API operation requires the following IAM permissions: *

* * * @param copyDistributionRequest * @return Result of the CopyDistribution 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 InvalidOriginAccessControlException * The origin access control is not valid. * @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. * @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 TooManyDistributionsAssociatedToOriginAccessControlException * The maximum number of distributions have been associated with the specified origin access control.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws TooManyDistributionsAssociatedToResponseHeadersPolicyException * The maximum number of distributions have been associated with the specified response headers 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 Amazon Web Services account. * @sample AmazonCloudFront.CopyDistribution * @see AWS * API Documentation */ CopyDistributionResult copyDistribution(CopyDistributionRequest copyDistributionRequest); /** *

* 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 also 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 Amazon Web Services 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 continuous deployment policy that distributes traffic for a custom domain name to two different * CloudFront distributions. *

*

* To use a continuous deployment policy, first use CopyDistribution to create a staging distribution, * then use UpdateDistribution to modify the staging distribution's configuration. *

*

* After you create and update a staging distribution, you can use a continuous deployment policy to incrementally * move traffic to the staging distribution. This workflow enables you to test changes to a distribution's * configuration before moving all of your domain's production traffic to the new configuration. *

* * @param createContinuousDeploymentPolicyRequest * @return Result of the CreateContinuousDeploymentPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws ContinuousDeploymentPolicyAlreadyExistsException * A continuous deployment policy with this configuration already exists. * @throws TooManyContinuousDeploymentPoliciesException * You have reached the maximum number of continuous deployment policies for this Amazon Web Services * account. * @throws StagingDistributionInUseException * A continuous deployment policy for this staging distribution already exists. * @sample AmazonCloudFront.CreateContinuousDeploymentPolicy * @see AWS API Documentation */ CreateContinuousDeploymentPolicyResult createContinuousDeploymentPolicy(CreateContinuousDeploymentPolicyRequest createContinuousDeploymentPolicyRequest); /** *

* Creates a CloudFront distribution. *

* * @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 InvalidOriginAccessControlException * The origin access control is not valid. * @throws IllegalOriginAccessConfigurationException * An origin cannot contain both an origin access control (OAC) and an origin access identity (OAI). * @throws TooManyDistributionsAssociatedToOriginAccessControlException * The maximum number of distributions have been associated with the specified origin access control.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @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 NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws TooManyDistributionsAssociatedToResponseHeadersPolicyException * The maximum number of distributions have been associated with the specified response headers 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 Amazon Web Services account. * @throws ContinuousDeploymentPolicyInUseException * You cannot delete a continuous deployment policy that is associated with a primary distribution. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @throws InvalidDomainNameForOriginAccessControlException * An origin access control is associated with an origin whose domain name is not supported. * @sample AmazonCloudFront.CreateDistribution * @see AWS * API Documentation */ CreateDistributionResult createDistribution(CreateDistributionRequest createDistributionRequest); /** *

* Create a new distribution with tags. This API operation requires the following IAM permissions: *

* * * @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 InvalidOriginAccessControlException * The origin access control is not valid. * @throws IllegalOriginAccessConfigurationException * An origin cannot contain both an origin access control (OAC) and an origin access identity (OAI). * @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 TooManyDistributionsAssociatedToOriginAccessControlException * The maximum number of distributions have been associated with the specified origin access control.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws TooManyDistributionsAssociatedToResponseHeadersPolicyException * The maximum number of distributions have been associated with the specified response headers 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 Amazon Web Services account. * @throws ContinuousDeploymentPolicyInUseException * You cannot delete a continuous deployment policy that is associated with a primary distribution. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @throws InvalidDomainNameForOriginAccessControlException * An origin access control is associated with an origin whose domain name is not supported. * @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 Amazon Web Services 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 Amazon Web Services 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. For more information, see Invalidating * files in the Amazon CloudFront Developer Guide. *

* * @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 Amazon Web Services 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); /** *

* Specifies the key value store resource to add to your account. In your account, the key value store names must be * unique. You can also import key value store data in JSON format from an S3 bucket by providing a valid * ImportSource that you own. *

* * @param createKeyValueStoreRequest * @return Result of the CreateKeyValueStore operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws EntityLimitExceededException * The key value store entity limit has been exceeded. * @throws EntityAlreadyExistsException * The key value store entity already exists. You must provide a unique key value store entity. * @throws EntitySizeLimitExceededException * The key value store entity size limit was exceeded. * @throws InvalidArgumentException * An argument is invalid. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.CreateKeyValueStore * @see AWS * API Documentation */ CreateKeyValueStoreResult createKeyValueStore(CreateKeyValueStoreRequest createKeyValueStoreRequest); /** *

* 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 MonitoringSubscriptionAlreadyExistsException * A monitoring subscription already exists for the specified distribution. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.CreateMonitoringSubscription * @see AWS API Documentation */ CreateMonitoringSubscriptionResult createMonitoringSubscription(CreateMonitoringSubscriptionRequest createMonitoringSubscriptionRequest); /** *

* Creates a new origin access control in CloudFront. After you create an origin access control, you can add it to * an origin in a CloudFront distribution so that CloudFront sends authenticated (signed) requests to the origin. *

*

* This makes it possible to block public access to the origin, allowing viewers (users) to access the origin's * content only through CloudFront. *

*

* For more information about using a CloudFront origin access control, see Restricting access to an Amazon Web Services origin in the Amazon CloudFront Developer Guide. *

* * @param createOriginAccessControlRequest * @return Result of the CreateOriginAccessControl operation returned by the service. * @throws OriginAccessControlAlreadyExistsException * An origin access control with the specified parameters already exists. * @throws TooManyOriginAccessControlsException * The number of origin access controls in your Amazon Web Services account exceeds the maximum allowed.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.CreateOriginAccessControl * @see AWS API Documentation */ CreateOriginAccessControlResult createOriginAccessControl(CreateOriginAccessControlRequest createOriginAccessControlRequest); /** *

* 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 Amazon Web Services 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 Amazon Web Services 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); /** *

* Creates a response headers policy. *

*

* A response headers policy contains information about a set of HTTP headers. To create a response headers policy, * you provide some metadata about the policy and a set of configurations that specify the headers. *

*

* After you create a response headers policy, you can use its ID to attach it to one or more cache behaviors in a * CloudFront distribution. When it's attached to a cache behavior, the response headers policy affects the HTTP * headers that CloudFront includes in HTTP responses to requests that match the cache behavior. CloudFront adds or * removes response headers according to the configuration of the response headers policy. *

*

* For more information, see Adding * or removing HTTP headers in CloudFront responses in the Amazon CloudFront Developer Guide. *

* * @param createResponseHeadersPolicyRequest * @return Result of the CreateResponseHeadersPolicy 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 ResponseHeadersPolicyAlreadyExistsException * A response headers policy with this name already exists. You must provide a unique name. To modify an * existing response headers policy, use UpdateResponseHeadersPolicy. * @throws TooManyResponseHeadersPoliciesException * You have reached the maximum number of response headers policies for this Amazon Web Services * account.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCustomHeadersInResponseHeadersPolicyException * The number of custom headers in the response headers policy exceeds the maximum. *

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooLongCSPInResponseHeadersPolicyException * The length of the Content-Security-Policy header value in the response headers policy * exceeds the maximum. *

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyRemoveHeadersInResponseHeadersPolicyException * The number of headers in RemoveHeadersConfig in the response headers policy exceeds the * maximum. *

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.CreateResponseHeadersPolicy * @see AWS API Documentation */ CreateResponseHeadersPolicyResult createResponseHeadersPolicy(CreateResponseHeadersPolicyRequest createResponseHeadersPolicyRequest); /** *

* 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 InvalidOriginAccessControlException * The origin access control is not valid. * @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 InvalidOriginAccessControlException * The origin access control is not valid. * @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); /** *

* Deletes a continuous deployment policy. *

*

* You cannot delete a continuous deployment policy that's attached to a primary distribution. First update your * distribution to remove the continuous deployment policy, then you can delete the policy. *

* * @param deleteContinuousDeploymentPolicyRequest * @return Result of the DeleteContinuousDeploymentPolicy operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws ContinuousDeploymentPolicyInUseException * You cannot delete a continuous deployment policy that is associated with a primary distribution. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @sample AmazonCloudFront.DeleteContinuousDeploymentPolicy * @see AWS API Documentation */ DeleteContinuousDeploymentPolicyResult deleteContinuousDeploymentPolicy(DeleteContinuousDeploymentPolicyRequest deleteContinuousDeploymentPolicyRequest); /** *

* 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: *

*
    *
  1. *

    * Disable the web distribution *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
  7. *

    * 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. *

    *
  8. *
  9. *

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

    *
  10. *
  11. *

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

    *
  12. *
  13. *

    * 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. *

    *
  14. *
  15. *

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

    *
  16. *
*

* 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); /** *

* Specifies the key value store to delete. *

* * @param deleteKeyValueStoreRequest * @return Result of the DeleteKeyValueStore operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws EntityNotFoundException * The key value store entity was not found. * @throws CannotDeleteEntityWhileInUseException * The key value store entity cannot be deleted while it is in use. * @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.DeleteKeyValueStore * @see AWS * API Documentation */ DeleteKeyValueStoreResult deleteKeyValueStore(DeleteKeyValueStoreRequest deleteKeyValueStoreRequest); /** *

* 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 NoSuchMonitoringSubscriptionException * A monitoring subscription does not exist for the specified distribution. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.DeleteMonitoringSubscription * @see AWS API Documentation */ DeleteMonitoringSubscriptionResult deleteMonitoringSubscription(DeleteMonitoringSubscriptionRequest deleteMonitoringSubscriptionRequest); /** *

* Deletes a CloudFront origin access control. *

*

* You cannot delete an origin access control if it's in use. First, update all distributions to remove the origin * access control from all origins, then delete the origin access control. *

* * @param deleteOriginAccessControlRequest * @return Result of the DeleteOriginAccessControl operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws OriginAccessControlInUseException * Cannot delete the origin access control because it's in use by one or more distributions. * @sample AmazonCloudFront.DeleteOriginAccessControl * @see AWS API Documentation */ DeleteOriginAccessControlResult deleteOriginAccessControl(DeleteOriginAccessControlRequest deleteOriginAccessControlRequest); /** *

* 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); /** *

* Deletes a response headers policy. *

*

* You cannot delete a response headers policy if it's attached to a cache behavior. First update your distributions * to remove the response headers policy from all cache behaviors, then delete the response headers policy. *

*

* To delete a response headers policy, you must provide the policy's identifier and version. To get these values, * you can use ListResponseHeadersPolicies or GetResponseHeadersPolicy. *

* * @param deleteResponseHeadersPolicyRequest * @return Result of the DeleteResponseHeadersPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchResponseHeadersPolicyException * The response headers 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 ResponseHeadersPolicyInUseException * Cannot delete the response headers policy because it is attached to one or more cache behaviors in a * CloudFront distribution. * @sample AmazonCloudFront.DeleteResponseHeadersPolicy * @see AWS API Documentation */ DeleteResponseHeadersPolicyResult deleteResponseHeadersPolicy(DeleteResponseHeadersPolicyRequest deleteResponseHeadersPolicyRequest); /** *

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

*

* To delete an RTMP distribution using the CloudFront API: *

*
    *
  1. *

    * Disable the RTMP distribution. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

    * 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. *

    *
  6. *
  7. *

    * 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. *

    *
  8. *
  9. *

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

    *
  10. *
  11. *

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

    *
  12. *
  13. *

    * 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. *

    *
  14. *
  15. *

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

    *
  16. *
*

* 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); /** *

* Specifies the key value store and its configuration. *

* * @param describeKeyValueStoreRequest * @return Result of the DescribeKeyValueStore operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws EntityNotFoundException * The key value store entity was not found. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.DescribeKeyValueStore * @see AWS API Documentation */ DescribeKeyValueStoreResult describeKeyValueStore(DescribeKeyValueStoreRequest describeKeyValueStoreRequest); /** *

* 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); /** *

* Gets a continuous deployment policy, including metadata (the policy's identifier and the date and time when the * policy was last modified). *

* * @param getContinuousDeploymentPolicyRequest * @return Result of the GetContinuousDeploymentPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @sample AmazonCloudFront.GetContinuousDeploymentPolicy * @see AWS API Documentation */ GetContinuousDeploymentPolicyResult getContinuousDeploymentPolicy(GetContinuousDeploymentPolicyRequest getContinuousDeploymentPolicyRequest); /** *

* Gets configuration information about a continuous deployment policy. *

* * @param getContinuousDeploymentPolicyConfigRequest * @return Result of the GetContinuousDeploymentPolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @sample AmazonCloudFront.GetContinuousDeploymentPolicyConfig * @see AWS API Documentation */ GetContinuousDeploymentPolicyConfigResult getContinuousDeploymentPolicyConfig( GetContinuousDeploymentPolicyConfigRequest getContinuousDeploymentPolicyConfigRequest); /** *

* 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 NoSuchMonitoringSubscriptionException * A monitoring subscription does not exist for the specified distribution. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.GetMonitoringSubscription * @see AWS API Documentation */ GetMonitoringSubscriptionResult getMonitoringSubscription(GetMonitoringSubscriptionRequest getMonitoringSubscriptionRequest); /** *

* Gets a CloudFront origin access control, including its unique identifier. *

* * @param getOriginAccessControlRequest * @return Result of the GetOriginAccessControl operation returned by the service. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetOriginAccessControl * @see AWS API Documentation */ GetOriginAccessControlResult getOriginAccessControl(GetOriginAccessControlRequest getOriginAccessControlRequest); /** *

* Gets a CloudFront origin access control configuration. *

* * @param getOriginAccessControlConfigRequest * @return Result of the GetOriginAccessControlConfig operation returned by the service. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetOriginAccessControlConfig * @see AWS API Documentation */ GetOriginAccessControlConfigResult getOriginAccessControlConfig(GetOriginAccessControlConfigRequest getOriginAccessControlConfigRequest); /** *

* 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 a response headers policy, including metadata (the policy's identifier and the date and time when the policy * was last modified). *

*

* To get a response headers policy, you must provide the policy's identifier. If the response headers policy is * attached to a distribution's cache behavior, you can get the policy's identifier using * ListDistributions or GetDistribution. If the response headers policy is not attached to * a cache behavior, you can get the identifier using ListResponseHeadersPolicies. *

* * @param getResponseHeadersPolicyRequest * @return Result of the GetResponseHeadersPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @sample AmazonCloudFront.GetResponseHeadersPolicy * @see AWS API Documentation */ GetResponseHeadersPolicyResult getResponseHeadersPolicy(GetResponseHeadersPolicyRequest getResponseHeadersPolicyRequest); /** *

* Gets a response headers policy configuration. *

*

* To get a response headers policy configuration, you must provide the policy's identifier. If the response headers * policy is attached to a distribution's cache behavior, you can get the policy's identifier using * ListDistributions or GetDistribution. If the response headers policy is not attached to * a cache behavior, you can get the identifier using ListResponseHeadersPolicies. *

* * @param getResponseHeadersPolicyConfigRequest * @return Result of the GetResponseHeadersPolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @sample AmazonCloudFront.GetResponseHeadersPolicyConfig * @see AWS API Documentation */ GetResponseHeadersPolicyConfigResult getResponseHeadersPolicyConfig(GetResponseHeadersPolicyConfigRequest getResponseHeadersPolicyConfigRequest); /** *

* 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 Amazon Web Services 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); /** *

* Gets a list of the continuous deployment policies in your Amazon Web Services 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 listContinuousDeploymentPoliciesRequest * @return Result of the ListContinuousDeploymentPolicies operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @sample AmazonCloudFront.ListContinuousDeploymentPolicies * @see AWS API Documentation */ ListContinuousDeploymentPoliciesResult listContinuousDeploymentPolicies(ListContinuousDeploymentPoliciesRequest listContinuousDeploymentPoliciesRequest); /** *

* 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); /** *

* Gets a list of distribution IDs for distributions that have a cache behavior that's associated with the specified * response headers 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 listDistributionsByResponseHeadersPolicyIdRequest * @return Result of the ListDistributionsByResponseHeadersPolicyId operation returned by the service. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListDistributionsByResponseHeadersPolicyId * @see AWS API Documentation */ ListDistributionsByResponseHeadersPolicyIdResult listDistributionsByResponseHeadersPolicyId( ListDistributionsByResponseHeadersPolicyIdRequest listDistributionsByResponseHeadersPolicyIdRequest); /** *

* 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 Amazon Web Services 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); /** *

* Specifies the key value stores to list. *

* * @param listKeyValueStoresRequest * @return Result of the ListKeyValueStores operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.ListKeyValueStores * @see AWS * API Documentation */ ListKeyValueStoresResult listKeyValueStores(ListKeyValueStoresRequest listKeyValueStoresRequest); /** *

* Gets the list of CloudFront origin access controls in this Amazon Web Services 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 another request that specifies the NextMarker value from the current * response as the Marker value in the next request. *

* * @param listOriginAccessControlsRequest * @return Result of the ListOriginAccessControls operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListOriginAccessControls * @see AWS API Documentation */ ListOriginAccessControlsResult listOriginAccessControls(ListOriginAccessControlsRequest listOriginAccessControlsRequest); /** *

* 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 Amazon Web Services 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); /** *

* Gets a list of response headers policies. *

*

* You can optionally apply a filter to get only the managed policies created by Amazon Web Services, or only the * custom policies created in your Amazon Web Services 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 listResponseHeadersPoliciesRequest * @return Result of the ListResponseHeadersPolicies operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListResponseHeadersPolicies * @see AWS API Documentation */ ListResponseHeadersPoliciesResult listResponseHeadersPolicies(ListResponseHeadersPoliciesRequest listResponseHeadersPoliciesRequest); /** *

* 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. For more information, see Tagging a distribution * in the Amazon CloudFront Developer Guide. *

* * @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. For more information, see Tagging a distribution * in the Amazon CloudFront Developer Guide. *

* * @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. For more information, see Tagging a distribution * in the Amazon CloudFront Developer Guide. *

* * @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: *

*
    *
  1. *

    * Use GetCachePolicyConfig to get the current configuration. *

    *
  2. *
  3. *

    * Locally modify the fields in the cache policy configuration that you want to update. *

    *
  4. *
  5. *

    * Call UpdateCachePolicy by providing the entire cache policy configuration, including the fields that * you modified and those that you didn't. *

    *
  6. *
* * @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 a continuous deployment policy. You can update a continuous deployment policy to enable or disable it, to * change the percentage of traffic that it sends to the staging distribution, or to change the staging distribution * that it sends traffic to. *

*

* When you update a continuous deployment policy configuration, all the fields are updated with the values that are * provided in the request. You cannot update some fields independent of others. To update a continuous deployment * policy configuration: *

*
    *
  1. *

    * Use GetContinuousDeploymentPolicyConfig to get the current configuration. *

    *
  2. *
  3. *

    * Locally modify the fields in the continuous deployment policy configuration that you want to update. *

    *
  4. *
  5. *

    * Use UpdateContinuousDeploymentPolicy, providing the entire continuous deployment policy * configuration, including the fields that you modified and those that you didn't. *

    *
  6. *
* * @param updateContinuousDeploymentPolicyRequest * @return Result of the UpdateContinuousDeploymentPolicy operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws StagingDistributionInUseException * A continuous deployment policy for this staging distribution already exists. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @sample AmazonCloudFront.UpdateContinuousDeploymentPolicy * @see AWS API Documentation */ UpdateContinuousDeploymentPolicyResult updateContinuousDeploymentPolicy(UpdateContinuousDeploymentPolicyRequest updateContinuousDeploymentPolicyRequest); /** *

* Updates the configuration for a CloudFront distribution. *

*

* The update process includes getting the current distribution configuration, updating it to make your changes, and * then submitting an UpdateDistribution request to make the updates. *

*

* To update a web distribution using the CloudFront API *

*
    *
  1. *

    * Use GetDistributionConfig to get the current configuration, including the version identifier ( * ETag). *

    *
  2. *
  3. *

    * Update the distribution configuration that was returned in the response. Note the following important * requirements and restrictions: *

    *
      *
    • *

      * You must rename the ETag field to IfMatch, leaving the value unchanged. (Set the value * of IfMatch to the value of ETag, then remove the ETag field.) *

      *
    • *
    • *

      * You can't change the value of CallerReference. *

      *
    • *
    *
  4. *
  5. *

    * Submit an UpdateDistribution request, providing the distribution configuration. The new * configuration replaces the existing configuration. The values that you specify in an * UpdateDistribution request are not merged into your existing configuration. Make sure to include all * fields: the ones that you modified and also the ones that you didn't. *

    *
  6. *
* * @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 InvalidOriginAccessControlException * The origin access control is not valid. * @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 TooManyDistributionsAssociatedToOriginAccessControlException * The maximum number of distributions have been associated with the specified origin access control.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws TooManyDistributionsAssociatedToResponseHeadersPolicyException * The maximum number of distributions have been associated with the specified response headers 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 Amazon Web Services account. * @throws ContinuousDeploymentPolicyInUseException * You cannot delete a continuous deployment policy that is associated with a primary distribution. * @throws NoSuchContinuousDeploymentPolicyException * The continuous deployment policy doesn't exist. * @throws StagingDistributionInUseException * A continuous deployment policy for this staging distribution already exists. * @throws IllegalOriginAccessConfigurationException * An origin cannot contain both an origin access control (OAC) and an origin access identity (OAI). * @throws InvalidDomainNameForOriginAccessControlException * An origin access control is associated with an origin whose domain name is not supported. * @sample AmazonCloudFront.UpdateDistribution * @see AWS * API Documentation */ UpdateDistributionResult updateDistribution(UpdateDistributionRequest updateDistributionRequest); /** *

* Copies the staging distribution's configuration to its corresponding primary distribution. The primary * distribution retains its Aliases (also known as alternate domain names or CNAMEs) and * ContinuousDeploymentPolicyId value, but otherwise its configuration is overwritten to match the * staging distribution. *

*

* You can use this operation in a continuous deployment workflow after you have tested configuration changes on the * staging distribution. After using a continuous deployment policy to move a portion of your domain name's traffic * to the staging distribution and verifying that it works as intended, you can use this operation to copy the * staging distribution's configuration to the primary distribution. This action will disable the continuous * deployment policy and move your domain's traffic back to the primary distribution. *

*

* This API operation requires the following IAM permissions: *

* * * @param updateDistributionWithStagingConfigRequest * @return Result of the UpdateDistributionWithStagingConfig 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 InvalidOriginAccessControlException * The origin access control is not valid. * @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 TooManyDistributionsAssociatedToOriginAccessControlException * The maximum number of distributions have been associated with the specified origin access control.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws TooManyDistributionsAssociatedToResponseHeadersPolicyException * The maximum number of distributions have been associated with the specified response headers 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 Amazon Web Services account. * @sample AmazonCloudFront.UpdateDistributionWithStagingConfig * @see AWS API Documentation */ UpdateDistributionWithStagingConfigResult updateDistributionWithStagingConfig( UpdateDistributionWithStagingConfigRequest updateDistributionWithStagingConfigRequest); /** *

* 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: *

*
    *
  1. *

    * Get the current key group with GetKeyGroup or GetKeyGroupConfig. *

    *
  2. *
  3. *

    * Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs. *

    *
  4. *
  5. *

    * Call UpdateKeyGroup with the entire key group object, including the fields that you modified and * those that you didn't. *

    *
  6. *
* * @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); /** *

* Specifies the key value store to update. *

* * @param updateKeyValueStoreRequest * @return Result of the UpdateKeyValueStore operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws EntityNotFoundException * The key value store entity was not found. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @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.UpdateKeyValueStore * @see AWS * API Documentation */ UpdateKeyValueStoreResult updateKeyValueStore(UpdateKeyValueStoreRequest updateKeyValueStoreRequest); /** *

* Updates a CloudFront origin access control. *

* * @param updateOriginAccessControlRequest * @return Result of the UpdateOriginAccessControl 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 OriginAccessControlAlreadyExistsException * An origin access control with the specified parameters already exists. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.UpdateOriginAccessControl * @see AWS API Documentation */ UpdateOriginAccessControlResult updateOriginAccessControl(UpdateOriginAccessControlRequest updateOriginAccessControlRequest); /** *

* 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: *

*
    *
  1. *

    * Use GetOriginRequestPolicyConfig to get the current configuration. *

    *
  2. *
  3. *

    * Locally modify the fields in the origin request policy configuration that you want to update. *

    *
  4. *
  5. *

    * Call UpdateOriginRequestPolicy by providing the entire origin request policy configuration, * including the fields that you modified and those that you didn't. *

    *
  6. *
* * @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: *

*
    *
  1. *

    * Call GetRealtimeLogConfig to get the current real-time log configuration. *

    *
  2. *
  3. *

    * Locally modify the parameters in the real-time log configuration that you want to update. *

    *
  4. *
  5. *

    * Call this API (UpdateRealtimeLogConfig) by providing the entire real-time log configuration, * including the parameters that you modified and those that you didn't. *

    *
  6. *
*

* 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); /** *

* Updates a response headers policy. *

*

* When you update a response headers policy, the entire policy is replaced. You cannot update some policy fields * independent of others. To update a response headers policy configuration: *

*
    *
  1. *

    * Use GetResponseHeadersPolicyConfig to get the current policy's configuration. *

    *
  2. *
  3. *

    * Modify the fields in the response headers policy configuration that you want to update. *

    *
  4. *
  5. *

    * Call UpdateResponseHeadersPolicy, providing the entire response headers policy configuration, * including the fields that you modified and those that you didn't. *

    *
  6. *
* * @param updateResponseHeadersPolicyRequest * @return Result of the UpdateResponseHeadersPolicy 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 NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws ResponseHeadersPolicyAlreadyExistsException * A response headers policy with this name already exists. You must provide a unique name. To modify an * existing response headers policy, use UpdateResponseHeadersPolicy. * @throws TooManyCustomHeadersInResponseHeadersPolicyException * The number of custom headers in the response headers policy exceeds the maximum.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooLongCSPInResponseHeadersPolicyException * The length of the Content-Security-Policy header value in the response headers policy * exceeds the maximum. *

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyRemoveHeadersInResponseHeadersPolicyException * The number of headers in RemoveHeadersConfig in the response headers policy exceeds the * maximum. *

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateResponseHeadersPolicy * @see AWS API Documentation */ UpdateResponseHeadersPolicyResult updateResponseHeadersPolicy(UpdateResponseHeadersPolicyRequest updateResponseHeadersPolicyRequest); /** *

* 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 InvalidOriginAccessControlException * The origin access control is not valid. * @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(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy