/* * Copyright 2018-2023 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. *
*
*
* 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: *
** GetDistribution *
** CopyDistribution *
*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 ofQuantity
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 theCallerReference
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 ofQuantity
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: *
** TagResource *
*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 ofQuantity
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 ofQuantity
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.
*
UpdateFunction
.
* @throws FunctionSizeLimitExceededException
* The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.CreateFunction
* @see AWS API
* Documentation
*/
CreateFunctionResult createFunction(CreateFunctionRequest createFunctionRequest);
/**
* * Create a new invalidation. *
* * @param createInvalidationRequest * The request to create an invalidation. * @return Result of the CreateInvalidation operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and theContent-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, useUpdateKeyGroup
.
* @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);
/**
* * 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 ofQuantity
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, useUpdateRealtimeLogConfig
.
* @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 ofQuantity
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 theContent-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 theContent-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
.
*
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 * TheIf-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 * TheIf-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: *
** Disable the web distribution *
*
* Submit a GET Distribution Config
request to get the current configuration and the
* Etag
header for the distribution.
*
* Update the XML document that was returned in the response to your GET Distribution Config
* request to change the value of Enabled
to false
.
*
* Submit a PUT Distribution Config
request to update the configuration for your distribution.
* In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP
* If-Match
header to the value of the ETag
header that CloudFront returned when
* you submitted the GET Distribution Config
request in Step 2.
*
* Review the response to the PUT Distribution Config
request to confirm that the distribution
* was successfully disabled.
*
* Submit a GET Distribution
request to confirm that your changes have propagated. When
* propagation is complete, the value of Status
is Deployed
.
*
* Submit a DELETE Distribution
request. Set the value of the HTTP If-Match
header
* to the value of the ETag
header that CloudFront returned when you submitted the
* GET Distribution Config
request in Step 6.
*
* Review the response to your DELETE Distribution
request to confirm that the distribution was
* successfully deleted.
*
* For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide.
* @return Result of the DeleteDistribution operation returned by the service.
* @throws AccessDeniedException
* Access denied.
* @throws DistributionNotDisabledException
* The specified CloudFront distribution is not disabled. You must disable the distribution before you can
* delete it.
* @throws InvalidIfMatchVersionException
* The If-Match
version is missing or not valid.
* @throws NoSuchDistributionException
* The specified distribution does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @sample AmazonCloudFront.DeleteDistribution
* @see AWS
* API Documentation
*/
DeleteDistributionResult deleteDistribution(DeleteDistributionRequest deleteDistributionRequest);
/**
*
* Remove a field-level encryption configuration. *
* * @param deleteFieldLevelEncryptionConfigRequest * @return Result of the DeleteFieldLevelEncryptionConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * TheIf-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 * TheIf-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
.
*
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
.
*
If-Match
version is missing or not valid.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws ResourceInUseException
* Cannot delete this resource because it is in use.
* @sample AmazonCloudFront.DeleteKeyGroup
* @see AWS API
* Documentation
*/
DeleteKeyGroupResult deleteKeyGroup(DeleteKeyGroupRequest deleteKeyGroupRequest);
/**
* * Disables additional CloudWatch metrics for the specified CloudFront distribution. *
* * @param deleteMonitoringSubscriptionRequest * @return Result of the DeleteMonitoringSubscription operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws 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 * TheIf-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
.
*
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 * TheIf-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
.
*
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: *
** Disable the RTMP distribution. *
*
* Submit a GET Streaming Distribution Config
request to get the current configuration and the
* Etag
header for the distribution.
*
* Update the XML document that was returned in the response to your GET Streaming Distribution Config
* request to change the value of Enabled
to false
.
*
* Submit a PUT Streaming Distribution Config
request to update the configuration for your
* distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the
* HTTP If-Match
header to the value of the ETag
header that CloudFront returned when you
* submitted the GET Streaming Distribution Config
request in Step 2.
*
* Review the response to the PUT Streaming Distribution Config
request to confirm that the
* distribution was successfully disabled.
*
* Submit a GET Streaming Distribution Config
request to confirm that your changes have propagated.
* When propagation is complete, the value of Status
is Deployed
.
*
* Submit a DELETE Streaming Distribution
request. Set the value of the HTTP If-Match
* header to the value of the ETag
header that CloudFront returned when you submitted the
* GET Streaming Distribution Config
request in Step 2.
*
* Review the response to your DELETE Streaming Distribution
request to confirm that the distribution
* was successfully deleted.
*
* For information about deleting a distribution using the CloudFront console, see Deleting a * Distribution in the Amazon CloudFront Developer Guide. *
* * @param deleteStreamingDistributionRequest * The request to delete a streaming distribution. * @return Result of the DeleteStreamingDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws StreamingDistributionNotDisabledException * The specified CloudFront distribution is not disabled. You must disable the distribution before you can * delete it. * @throws InvalidIfMatchVersionException * TheIf-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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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
.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* List streaming distributions. *
* * @param listStreamingDistributionsRequest * The request to list your streaming distributions. * @return Result of the ListStreamingDistributions operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListStreamingDistributions * @see AWS API Documentation */ ListStreamingDistributionsResult listStreamingDistributions(ListStreamingDistributionsRequest listStreamingDistributionsRequest); /** ** List tags for a CloudFront resource. *
* * @param listTagsForResourceRequest * The request to list tags for a CloudFront resource. * @return Result of the ListTagsForResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.ListTagsForResource * @see AWS * API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *
* Publishes a CloudFront function by copying the function code from the DEVELOPMENT
stage to
* LIVE
. This automatically updates all cache behaviors that are using this function to use the newly
* published copy in the LIVE
stage.
*
* When a function is published to the LIVE
stage, you can attach the function to a distribution's
* cache behavior, using the function's Amazon Resource Name (ARN).
*
* To publish a function, you must provide the function's name and version (ETag
value). To get these
* values, you can use ListFunctions
and DescribeFunction
.
*
If-Match
version is missing or not valid.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.PublishFunction
* @see AWS API
* Documentation
*/
PublishFunctionResult publishFunction(PublishFunctionRequest publishFunctionRequest);
/**
* * Add tags to a CloudFront resource. *
* * @param tagResourceRequest * The request to add tags to a CloudFront resource. * @return Result of the TagResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** ** Tests a CloudFront function. *
** To test a function, you provide an event object that represents an HTTP request or response that your * CloudFront distribution could receive in production. CloudFront runs the function, passing it the event object * that you provided, and returns the function's result (the modified event object) in the response. The response * also contains function logs and error messages, if any exist. For more information about testing functions, see * Testing functions in the Amazon CloudFront Developer Guide. *
*
* To test a function, you provide the function's name and version (ETag
value) along with the event
* object. To get the function's name and version, you can use ListFunctions
and
* DescribeFunction
.
*
If-Match
version is missing or not valid.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws TestFunctionFailedException
* The CloudFront function failed.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.TestFunction
* @see AWS API
* Documentation
*/
TestFunctionResult testFunction(TestFunctionRequest testFunctionRequest);
/**
* * Remove tags from a CloudFront resource. *
* * @param untagResourceRequest * The request to remove tags from a CloudFront resource. * @return Result of the UntagResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** ** Updates a cache policy configuration. *
** When you update a cache policy configuration, all the fields are updated with the values provided in the request. * You cannot update some fields independent of others. To update a cache policy configuration: *
*
* Use GetCachePolicyConfig
to get the current configuration.
*
* Locally modify the fields in the cache policy configuration that you want to update. *
*
* Call UpdateCachePolicy
by providing the entire cache policy configuration, including the fields that
* you modified and those that you didn't.
*
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 * TheIf-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: *
*
* Use GetContinuousDeploymentPolicyConfig
to get the current configuration.
*
* Locally modify the fields in the continuous deployment policy configuration that you want to update. *
*
* Use UpdateContinuousDeploymentPolicy
, providing the entire continuous deployment policy
* configuration, including the fields that you modified and those that you didn't.
*
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 *
*
* Use GetDistributionConfig
to get the current configuration, including the version identifier (
* ETag
).
*
* 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
.
*
* 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.
*
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: *
** GetDistribution *
*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 ofQuantity
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 ofQuantity
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
.
*
If-Match
version is missing or not valid.
* @throws NoSuchFunctionExistsException
* The function does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws FunctionSizeLimitExceededException
* The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws UnsupportedOperationException
* This operation is not supported in this region.
* @sample AmazonCloudFront.UpdateFunction
* @see AWS API
* Documentation
*/
UpdateFunctionResult updateFunction(UpdateFunctionRequest updateFunctionRequest);
/**
* * Updates a key group. *
** When you update a key group, all the fields are updated with the values provided in the request. You cannot * update some fields independent of others. To update a key group: *
*
* Get the current key group with GetKeyGroup
or GetKeyGroupConfig
.
*
* Locally modify the fields in the key group that you want to update. For example, add or remove public key IDs. *
*
* Call UpdateKeyGroup
with the entire key group object, including the fields that you modified and
* those that you didn't.
*
If-Match
version is missing or not valid.
* @throws NoSuchResourceException
* A resource that was specified is not valid.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @throws KeyGroupAlreadyExistsException
* A key group with this name already exists. You must provide a unique name. To modify an existing key
* group, use UpdateKeyGroup
.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws TooManyPublicKeysInKeyGroupException
* The number of public keys in this key group is more than the maximum allowed. For more information, see
* Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.UpdateKeyGroup
* @see AWS API
* Documentation
*/
UpdateKeyGroupResult updateKeyGroup(UpdateKeyGroupRequest updateKeyGroupRequest);
/**
* * Updates 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 * TheIf-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: *
*
* Use GetOriginRequestPolicyConfig
to get the current configuration.
*
* Locally modify the fields in the origin request policy configuration that you want to update. *
*
* Call UpdateOriginRequestPolicy
by providing the entire origin request policy configuration,
* including the fields that you modified and those that you didn't.
*
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 * TheIf-Match
version is missing or not valid.
* @throws IllegalUpdateException
* The update contains modifications that are not allowed.
* @throws NoSuchPublicKeyException
* The specified public key doesn't exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @sample AmazonCloudFront.UpdatePublicKey
* @see AWS API
* Documentation
*/
UpdatePublicKeyResult updatePublicKey(UpdatePublicKeyRequest updatePublicKeyRequest);
/**
* * Updates a real-time log configuration. *
** When you update a real-time log configuration, all the parameters are updated with the values provided in the * request. You cannot update some parameters independent of others. To update a real-time log configuration: *
*
* Call GetRealtimeLogConfig
to get the current real-time log configuration.
*
* Locally modify the parameters in the real-time log configuration that you want to update. *
*
* Call this API (UpdateRealtimeLogConfig
) by providing the entire real-time log configuration,
* including the parameters that you modified and those that you didn't.
*
* You cannot update a real-time log configuration's Name
or ARN
.
*
* 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: *
*
* Use GetResponseHeadersPolicyConfig
to get the current policy's configuration.
*
* Modify the fields in the response headers policy configuration that you want to update. *
*
* Call UpdateResponseHeadersPolicy
, providing the entire response headers policy configuration,
* including the fields that you modified and those that you didn't.
*
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 * TheIf-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(); }