/* * 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 org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.cloudfront.AmazonCloudFrontClientBuilder; import com.amazonaws.services.cloudfront.waiters.AmazonCloudFrontWaiters; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.cloudfront.model.*; import com.amazonaws.services.cloudfront.model.transform.*; /** * Client for accessing CloudFront. All service calls made using this client are blocking, and will not return until the * service call completes. *
*
* 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. *
*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonCloudFrontClient extends AmazonWebServiceClient implements AmazonCloudFront { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AmazonCloudFront.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "cloudfront"; private volatile AmazonCloudFrontWaiters waiters; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; /** * Map of exception unmarshallers for all modeled exceptions */ private final Map* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonCloudFrontClientBuilder#defaultClient()} */ @Deprecated public AmazonCloudFrontClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CloudFront. A credentials provider chain will be used that * searches for credentials in this order: *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to CloudFront (ex: proxy settings, * retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonCloudFrontClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonCloudFrontClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on CloudFront using the specified AWS account credentials. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @deprecated use {@link AmazonCloudFrontClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AmazonCloudFrontClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AmazonCloudFrontClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CloudFront using the specified AWS account credentials and * client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to CloudFront (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AmazonCloudFrontClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonCloudFrontClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonCloudFrontClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on CloudFront using the specified AWS account credentials * provider. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @deprecated use {@link AmazonCloudFrontClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AmazonCloudFrontClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on CloudFront using the specified AWS account credentials * provider and client configuration options. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to CloudFront (ex: proxy settings, * retry counts, etc.). * @deprecated use {@link AmazonCloudFrontClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonCloudFrontClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonCloudFrontClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on CloudFront using the specified AWS account credentials * provider, client configuration options, and request metric collector. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to CloudFront (ex: proxy settings, * retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AmazonCloudFrontClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonCloudFrontClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AmazonCloudFrontClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AmazonCloudFrontClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AmazonCloudFrontClientBuilder builder() { return AmazonCloudFrontClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on CloudFront using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonCloudFrontClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on CloudFront using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonCloudFrontClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { if (exceptionUnmarshallersMap.get("StreamingDistributionAlreadyExists") == null) { exceptionUnmarshallersMap.put("StreamingDistributionAlreadyExists", new StreamingDistributionAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new StreamingDistributionAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchInvalidation") == null) { exceptionUnmarshallersMap.put("NoSuchInvalidation", new NoSuchInvalidationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchInvalidationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchFieldLevelEncryptionConfig") == null) { exceptionUnmarshallersMap.put("NoSuchFieldLevelEncryptionConfig", new NoSuchFieldLevelEncryptionConfigExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchFieldLevelEncryptionConfigExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("OriginRequestPolicyAlreadyExists") == null) { exceptionUnmarshallersMap.put("OriginRequestPolicyAlreadyExists", new OriginRequestPolicyAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new OriginRequestPolicyAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyKeyGroupsAssociatedToDistribution") == null) { exceptionUnmarshallersMap.put("TooManyKeyGroupsAssociatedToDistribution", new TooManyKeyGroupsAssociatedToDistributionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyKeyGroupsAssociatedToDistributionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidMinimumProtocolVersion") == null) { exceptionUnmarshallersMap.put("InvalidMinimumProtocolVersion", new InvalidMinimumProtocolVersionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidMinimumProtocolVersionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyInvalidationsInProgress") == null) { exceptionUnmarshallersMap.put("TooManyInvalidationsInProgress", new TooManyInvalidationsInProgressExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyInvalidationsInProgressExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFieldLevelEncryptionConfigs") == null) { exceptionUnmarshallersMap.put("TooManyFieldLevelEncryptionConfigs", new TooManyFieldLevelEncryptionConfigsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFieldLevelEncryptionConfigsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyPublicKeys") == null) { exceptionUnmarshallersMap.put("TooManyPublicKeys", new TooManyPublicKeysExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyPublicKeysExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCacheBehaviors") == null) { exceptionUnmarshallersMap.put("TooManyCacheBehaviors", new TooManyCacheBehaviorsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCacheBehaviorsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CloudFrontOriginAccessIdentityInUse") == null) { exceptionUnmarshallersMap.put("CloudFrontOriginAccessIdentityInUse", new CloudFrontOriginAccessIdentityInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CloudFrontOriginAccessIdentityInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FieldLevelEncryptionProfileAlreadyExists") == null) { exceptionUnmarshallersMap.put("FieldLevelEncryptionProfileAlreadyExists", new FieldLevelEncryptionProfileAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FieldLevelEncryptionProfileAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidOriginAccessControl") == null) { exceptionUnmarshallersMap.put("InvalidOriginAccessControl", new InvalidOriginAccessControlExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidOriginAccessControlExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("MissingBody") == null) { exceptionUnmarshallersMap.put("MissingBody", new MissingBodyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new MissingBodyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyResponseHeadersPolicies") == null) { exceptionUnmarshallersMap.put("TooManyResponseHeadersPolicies", new TooManyResponseHeadersPoliciesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyResponseHeadersPoliciesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyOrigins") == null) { exceptionUnmarshallersMap.put("TooManyOrigins", new TooManyOriginsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyOriginsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FunctionSizeLimitExceeded") == null) { exceptionUnmarshallersMap.put("FunctionSizeLimitExceeded", new FunctionSizeLimitExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FunctionSizeLimitExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidTTLOrder") == null) { exceptionUnmarshallersMap.put("InvalidTTLOrder", new InvalidTTLOrderExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidTTLOrderExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsWithSingleFunctionARN") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsWithSingleFunctionARN", new TooManyDistributionsWithSingleFunctionARNExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsWithSingleFunctionARNExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("UnsupportedOperation") == null) { exceptionUnmarshallersMap.put("UnsupportedOperation", new UnsupportedOperationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new UnsupportedOperationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("BatchTooLarge") == null) { exceptionUnmarshallersMap.put("BatchTooLarge", new BatchTooLargeExceptionUnmarshaller()); } exceptionUnmarshallers.add(new BatchTooLargeExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("RealtimeLogConfigInUse") == null) { exceptionUnmarshallersMap.put("RealtimeLogConfigInUse", new RealtimeLogConfigInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new RealtimeLogConfigInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidResponseCode") == null) { exceptionUnmarshallersMap.put("InvalidResponseCode", new InvalidResponseCodeExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidResponseCodeExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FieldLevelEncryptionConfigAlreadyExists") == null) { exceptionUnmarshallersMap.put("FieldLevelEncryptionConfigAlreadyExists", new FieldLevelEncryptionConfigAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FieldLevelEncryptionConfigAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidOriginKeepaliveTimeout") == null) { exceptionUnmarshallersMap.put("InvalidOriginKeepaliveTimeout", new InvalidOriginKeepaliveTimeoutExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidOriginKeepaliveTimeoutExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("OriginAccessControlAlreadyExists") == null) { exceptionUnmarshallersMap.put("OriginAccessControlAlreadyExists", new OriginAccessControlAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new OriginAccessControlAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("StreamingDistributionNotDisabled") == null) { exceptionUnmarshallersMap.put("StreamingDistributionNotDisabled", new StreamingDistributionNotDisabledExceptionUnmarshaller()); } exceptionUnmarshallers.add(new StreamingDistributionNotDisabledExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyQueryStringParameters") == null) { exceptionUnmarshallersMap.put("TooManyQueryStringParameters", new TooManyQueryStringParametersExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyQueryStringParametersExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFieldLevelEncryptionEncryptionEntities") == null) { exceptionUnmarshallersMap.put("TooManyFieldLevelEncryptionEncryptionEntities", new TooManyFieldLevelEncryptionEncryptionEntitiesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFieldLevelEncryptionEncryptionEntitiesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FieldLevelEncryptionConfigInUse") == null) { exceptionUnmarshallersMap.put("FieldLevelEncryptionConfigInUse", new FieldLevelEncryptionConfigInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FieldLevelEncryptionConfigInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CloudFrontOriginAccessIdentityAlreadyExists") == null) { exceptionUnmarshallersMap .put("CloudFrontOriginAccessIdentityAlreadyExists", new CloudFrontOriginAccessIdentityAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CloudFrontOriginAccessIdentityAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchOriginAccessControl") == null) { exceptionUnmarshallersMap.put("NoSuchOriginAccessControl", new NoSuchOriginAccessControlExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchOriginAccessControlExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchRealtimeLogConfig") == null) { exceptionUnmarshallersMap.put("NoSuchRealtimeLogConfig", new NoSuchRealtimeLogConfigExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchRealtimeLogConfigExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidProtocolSettings") == null) { exceptionUnmarshallersMap.put("InvalidProtocolSettings", new InvalidProtocolSettingsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidProtocolSettingsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFieldLevelEncryptionProfiles") == null) { exceptionUnmarshallersMap.put("TooManyFieldLevelEncryptionProfiles", new TooManyFieldLevelEncryptionProfilesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFieldLevelEncryptionProfilesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ResourceInUse") == null) { exceptionUnmarshallersMap.put("ResourceInUse", new ResourceInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ResourceInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidForwardCookies") == null) { exceptionUnmarshallersMap.put("InvalidForwardCookies", new InvalidForwardCookiesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidForwardCookiesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyPublicKeysInKeyGroup") == null) { exceptionUnmarshallersMap.put("TooManyPublicKeysInKeyGroup", new TooManyPublicKeysInKeyGroupExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyPublicKeysInKeyGroupExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidOriginAccessIdentity") == null) { exceptionUnmarshallersMap.put("InvalidOriginAccessIdentity", new InvalidOriginAccessIdentityExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidOriginAccessIdentityExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("IllegalUpdate") == null) { exceptionUnmarshallersMap.put("IllegalUpdate", new IllegalUpdateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new IllegalUpdateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CNAMEAlreadyExists") == null) { exceptionUnmarshallersMap.put("CNAMEAlreadyExists", new CNAMEAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CNAMEAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCookieNamesInWhiteList") == null) { exceptionUnmarshallersMap.put("TooManyCookieNamesInWhiteList", new TooManyCookieNamesInWhiteListExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCookieNamesInWhiteListExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TrustedKeyGroupDoesNotExist") == null) { exceptionUnmarshallersMap.put("TrustedKeyGroupDoesNotExist", new TrustedKeyGroupDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TrustedKeyGroupDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsAssociatedToResponseHeadersPolicy") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsAssociatedToResponseHeadersPolicy", new TooManyDistributionsAssociatedToResponseHeadersPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsAssociatedToResponseHeadersPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchDistribution") == null) { exceptionUnmarshallersMap.put("NoSuchDistribution", new NoSuchDistributionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchDistributionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchResponseHeadersPolicy") == null) { exceptionUnmarshallersMap.put("NoSuchResponseHeadersPolicy", new NoSuchResponseHeadersPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchResponseHeadersPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FunctionInUse") == null) { exceptionUnmarshallersMap.put("FunctionInUse", new FunctionInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FunctionInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidViewerCertificate") == null) { exceptionUnmarshallersMap.put("InvalidViewerCertificate", new InvalidViewerCertificateExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidViewerCertificateExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCachePolicies") == null) { exceptionUnmarshallersMap.put("TooManyCachePolicies", new TooManyCachePoliciesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCachePoliciesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyQueryStringsInCachePolicy") == null) { exceptionUnmarshallersMap.put("TooManyQueryStringsInCachePolicy", new TooManyQueryStringsInCachePolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyQueryStringsInCachePolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FunctionAlreadyExists") == null) { exceptionUnmarshallersMap.put("FunctionAlreadyExists", new FunctionAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FunctionAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CachePolicyInUse") == null) { exceptionUnmarshallersMap.put("CachePolicyInUse", new CachePolicyInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CachePolicyInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidDefaultRootObject") == null) { exceptionUnmarshallersMap.put("InvalidDefaultRootObject", new InvalidDefaultRootObjectExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidDefaultRootObjectExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("StagingDistributionInUse") == null) { exceptionUnmarshallersMap.put("StagingDistributionInUse", new StagingDistributionInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new StagingDistributionInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCloudFrontOriginAccessIdentities") == null) { exceptionUnmarshallersMap.put("TooManyCloudFrontOriginAccessIdentities", new TooManyCloudFrontOriginAccessIdentitiesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCloudFrontOriginAccessIdentitiesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFieldLevelEncryptionContentTypeProfiles") == null) { exceptionUnmarshallersMap.put("TooManyFieldLevelEncryptionContentTypeProfiles", new TooManyFieldLevelEncryptionContentTypeProfilesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFieldLevelEncryptionContentTypeProfilesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidRelativePath") == null) { exceptionUnmarshallersMap.put("InvalidRelativePath", new InvalidRelativePathExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidRelativePathExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsWithLambdaAssociations") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsWithLambdaAssociations", new TooManyDistributionsWithLambdaAssociationsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsWithLambdaAssociationsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidHeadersForS3Origin") == null) { exceptionUnmarshallersMap.put("InvalidHeadersForS3Origin", new InvalidHeadersForS3OriginExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidHeadersForS3OriginExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("RealtimeLogConfigAlreadyExists") == null) { exceptionUnmarshallersMap.put("RealtimeLogConfigAlreadyExists", new RealtimeLogConfigAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new RealtimeLogConfigAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributions") == null) { exceptionUnmarshallersMap.put("TooManyDistributions", new TooManyDistributionsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsAssociatedToOriginRequestPolicy") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsAssociatedToOriginRequestPolicy", new TooManyDistributionsAssociatedToOriginRequestPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsAssociatedToOriginRequestPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CannotChangeImmutablePublicKeyFields") == null) { exceptionUnmarshallersMap.put("CannotChangeImmutablePublicKeyFields", new CannotChangeImmutablePublicKeyFieldsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CannotChangeImmutablePublicKeyFieldsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFieldLevelEncryptionQueryArgProfiles") == null) { exceptionUnmarshallersMap .put("TooManyFieldLevelEncryptionQueryArgProfiles", new TooManyFieldLevelEncryptionQueryArgProfilesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFieldLevelEncryptionQueryArgProfilesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCookiesInOriginRequestPolicy") == null) { exceptionUnmarshallersMap.put("TooManyCookiesInOriginRequestPolicy", new TooManyCookiesInOriginRequestPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCookiesInOriginRequestPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("IllegalDelete") == null) { exceptionUnmarshallersMap.put("IllegalDelete", new IllegalDeleteExceptionUnmarshaller()); } exceptionUnmarshallers.add(new IllegalDeleteExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidOrigin") == null) { exceptionUnmarshallersMap.put("InvalidOrigin", new InvalidOriginExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidOriginExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TestFunctionFailed") == null) { exceptionUnmarshallersMap.put("TestFunctionFailed", new TestFunctionFailedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TestFunctionFailedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidGeoRestrictionParameter") == null) { exceptionUnmarshallersMap.put("InvalidGeoRestrictionParameter", new InvalidGeoRestrictionParameterExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidGeoRestrictionParameterExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyRemoveHeadersInResponseHeadersPolicy") == null) { exceptionUnmarshallersMap .put("TooManyRemoveHeadersInResponseHeadersPolicy", new TooManyRemoveHeadersInResponseHeadersPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyRemoveHeadersInResponseHeadersPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCustomHeadersInResponseHeadersPolicy") == null) { exceptionUnmarshallersMap .put("TooManyCustomHeadersInResponseHeadersPolicy", new TooManyCustomHeadersInResponseHeadersPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCustomHeadersInResponseHeadersPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TrustedSignerDoesNotExist") == null) { exceptionUnmarshallersMap.put("TrustedSignerDoesNotExist", new TrustedSignerDoesNotExistExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TrustedSignerDoesNotExistExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidWebACLId") == null) { exceptionUnmarshallersMap.put("InvalidWebACLId", new InvalidWebACLIdExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidWebACLIdExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ResponseHeadersPolicyInUse") == null) { exceptionUnmarshallersMap.put("ResponseHeadersPolicyInUse", new ResponseHeadersPolicyInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ResponseHeadersPolicyInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyHeadersInForwardedValues") == null) { exceptionUnmarshallersMap.put("TooManyHeadersInForwardedValues", new TooManyHeadersInForwardedValuesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyHeadersInForwardedValuesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidOriginReadTimeout") == null) { exceptionUnmarshallersMap.put("InvalidOriginReadTimeout", new InvalidOriginReadTimeoutExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidOriginReadTimeoutExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("OriginAccessControlInUse") == null) { exceptionUnmarshallersMap.put("OriginAccessControlInUse", new OriginAccessControlInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new OriginAccessControlInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("OriginRequestPolicyInUse") == null) { exceptionUnmarshallersMap.put("OriginRequestPolicyInUse", new OriginRequestPolicyInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new OriginRequestPolicyInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsAssociatedToKeyGroup") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsAssociatedToKeyGroup", new TooManyDistributionsAssociatedToKeyGroupExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsAssociatedToKeyGroupExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionCNAMEs") == null) { exceptionUnmarshallersMap.put("TooManyDistributionCNAMEs", new TooManyDistributionCNAMEsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionCNAMEsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidErrorCode") == null) { exceptionUnmarshallersMap.put("InvalidErrorCode", new InvalidErrorCodeExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidErrorCodeExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ContinuousDeploymentPolicyAlreadyExists") == null) { exceptionUnmarshallersMap.put("ContinuousDeploymentPolicyAlreadyExists", new ContinuousDeploymentPolicyAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ContinuousDeploymentPolicyAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFieldLevelEncryptionFieldPatterns") == null) { exceptionUnmarshallersMap.put("TooManyFieldLevelEncryptionFieldPatterns", new TooManyFieldLevelEncryptionFieldPatternsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFieldLevelEncryptionFieldPatternsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior") == null) { exceptionUnmarshallersMap.put("IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior", new IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorExceptionUnmarshaller()); } exceptionUnmarshallers.add(new IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidRequiredProtocol") == null) { exceptionUnmarshallersMap.put("InvalidRequiredProtocol", new InvalidRequiredProtocolExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidRequiredProtocolExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchOriginRequestPolicy") == null) { exceptionUnmarshallersMap.put("NoSuchOriginRequestPolicy", new NoSuchOriginRequestPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchOriginRequestPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchOrigin") == null) { exceptionUnmarshallersMap.put("NoSuchOrigin", new NoSuchOriginExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchOriginExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyQueryStringsInOriginRequestPolicy") == null) { exceptionUnmarshallersMap.put("TooManyQueryStringsInOriginRequestPolicy", new TooManyQueryStringsInOriginRequestPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyQueryStringsInOriginRequestPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyTrustedSigners") == null) { exceptionUnmarshallersMap.put("TooManyTrustedSigners", new TooManyTrustedSignersExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyTrustedSignersExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFunctions") == null) { exceptionUnmarshallersMap.put("TooManyFunctions", new TooManyFunctionsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFunctionsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsWithFunctionAssociations") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsWithFunctionAssociations", new TooManyDistributionsWithFunctionAssociationsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsWithFunctionAssociationsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyStreamingDistributions") == null) { exceptionUnmarshallersMap.put("TooManyStreamingDistributions", new TooManyStreamingDistributionsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyStreamingDistributionsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("PublicKeyInUse") == null) { exceptionUnmarshallersMap.put("PublicKeyInUse", new PublicKeyInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new PublicKeyInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchContinuousDeploymentPolicy") == null) { exceptionUnmarshallersMap.put("NoSuchContinuousDeploymentPolicy", new NoSuchContinuousDeploymentPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchContinuousDeploymentPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("PreconditionFailed") == null) { exceptionUnmarshallersMap.put("PreconditionFailed", new PreconditionFailedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new PreconditionFailedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyKeyGroups") == null) { exceptionUnmarshallersMap.put("TooManyKeyGroups", new TooManyKeyGroupsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyKeyGroupsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("DistributionAlreadyExists") == null) { exceptionUnmarshallersMap.put("DistributionAlreadyExists", new DistributionAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new DistributionAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyStreamingDistributionCNAMEs") == null) { exceptionUnmarshallersMap.put("TooManyStreamingDistributionCNAMEs", new TooManyStreamingDistributionCNAMEsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyStreamingDistributionCNAMEsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("CachePolicyAlreadyExists") == null) { exceptionUnmarshallersMap.put("CachePolicyAlreadyExists", new CachePolicyAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new CachePolicyAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ContinuousDeploymentPolicyInUse") == null) { exceptionUnmarshallersMap.put("ContinuousDeploymentPolicyInUse", new ContinuousDeploymentPolicyInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ContinuousDeploymentPolicyInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidDomainNameForOriginAccessControl") == null) { exceptionUnmarshallersMap.put("InvalidDomainNameForOriginAccessControl", new InvalidDomainNameForOriginAccessControlExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidDomainNameForOriginAccessControlExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyOriginCustomHeaders") == null) { exceptionUnmarshallersMap.put("TooManyOriginCustomHeaders", new TooManyOriginCustomHeadersExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyOriginCustomHeadersExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidLocationCode") == null) { exceptionUnmarshallersMap.put("InvalidLocationCode", new InvalidLocationCodeExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidLocationCodeExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyContinuousDeploymentPolicies") == null) { exceptionUnmarshallersMap.put("TooManyContinuousDeploymentPolicies", new TooManyContinuousDeploymentPoliciesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyContinuousDeploymentPoliciesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyFunctionAssociations") == null) { exceptionUnmarshallersMap.put("TooManyFunctionAssociations", new TooManyFunctionAssociationsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyFunctionAssociationsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FieldLevelEncryptionProfileSizeExceeded") == null) { exceptionUnmarshallersMap.put("FieldLevelEncryptionProfileSizeExceeded", new FieldLevelEncryptionProfileSizeExceededExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FieldLevelEncryptionProfileSizeExceededExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCertificates") == null) { exceptionUnmarshallersMap.put("TooManyCertificates", new TooManyCertificatesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCertificatesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("QueryArgProfileEmpty") == null) { exceptionUnmarshallersMap.put("QueryArgProfileEmpty", new QueryArgProfileEmptyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new QueryArgProfileEmptyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("MonitoringSubscriptionAlreadyExists") == null) { exceptionUnmarshallersMap.put("MonitoringSubscriptionAlreadyExists", new MonitoringSubscriptionAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new MonitoringSubscriptionAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyRealtimeLogConfigs") == null) { exceptionUnmarshallersMap.put("TooManyRealtimeLogConfigs", new TooManyRealtimeLogConfigsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyRealtimeLogConfigsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidQueryStringParameters") == null) { exceptionUnmarshallersMap.put("InvalidQueryStringParameters", new InvalidQueryStringParametersExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidQueryStringParametersExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchFunctionExists") == null) { exceptionUnmarshallersMap.put("NoSuchFunctionExists", new NoSuchFunctionExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchFunctionExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyHeadersInCachePolicy") == null) { exceptionUnmarshallersMap.put("TooManyHeadersInCachePolicy", new TooManyHeadersInCachePolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyHeadersInCachePolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("RealtimeLogConfigOwnerMismatch") == null) { exceptionUnmarshallersMap.put("RealtimeLogConfigOwnerMismatch", new RealtimeLogConfigOwnerMismatchExceptionUnmarshaller()); } exceptionUnmarshallers.add(new RealtimeLogConfigOwnerMismatchExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchFieldLevelEncryptionProfile") == null) { exceptionUnmarshallersMap.put("NoSuchFieldLevelEncryptionProfile", new NoSuchFieldLevelEncryptionProfileExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchFieldLevelEncryptionProfileExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchResource") == null) { exceptionUnmarshallersMap.put("NoSuchResource", new NoSuchResourceExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchResourceExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InconsistentQuantities") == null) { exceptionUnmarshallersMap.put("InconsistentQuantities", new InconsistentQuantitiesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InconsistentQuantitiesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidFunctionAssociation") == null) { exceptionUnmarshallersMap.put("InvalidFunctionAssociation", new InvalidFunctionAssociationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidFunctionAssociationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchMonitoringSubscription") == null) { exceptionUnmarshallersMap.put("NoSuchMonitoringSubscription", new NoSuchMonitoringSubscriptionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchMonitoringSubscriptionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidLambdaFunctionAssociation") == null) { exceptionUnmarshallersMap.put("InvalidLambdaFunctionAssociation", new InvalidLambdaFunctionAssociationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidLambdaFunctionAssociationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooLongCSPInResponseHeadersPolicy") == null) { exceptionUnmarshallersMap.put("TooLongCSPInResponseHeadersPolicy", new TooLongCSPInResponseHeadersPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooLongCSPInResponseHeadersPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyLambdaFunctionAssociations") == null) { exceptionUnmarshallersMap.put("TooManyLambdaFunctionAssociations", new TooManyLambdaFunctionAssociationsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyLambdaFunctionAssociationsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("DistributionNotDisabled") == null) { exceptionUnmarshallersMap.put("DistributionNotDisabled", new DistributionNotDisabledExceptionUnmarshaller()); } exceptionUnmarshallers.add(new DistributionNotDisabledExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("ResponseHeadersPolicyAlreadyExists") == null) { exceptionUnmarshallersMap.put("ResponseHeadersPolicyAlreadyExists", new ResponseHeadersPolicyAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new ResponseHeadersPolicyAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyOriginGroupsPerDistribution") == null) { exceptionUnmarshallersMap.put("TooManyOriginGroupsPerDistribution", new TooManyOriginGroupsPerDistributionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyOriginGroupsPerDistributionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("AccessDenied") == null) { exceptionUnmarshallersMap.put("AccessDenied", new AccessDeniedExceptionUnmarshaller()); } exceptionUnmarshallers.add(new AccessDeniedExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsAssociatedToOriginAccessControl") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsAssociatedToOriginAccessControl", new TooManyDistributionsAssociatedToOriginAccessControlExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsAssociatedToOriginAccessControlExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("IllegalOriginAccessConfiguration") == null) { exceptionUnmarshallersMap.put("IllegalOriginAccessConfiguration", new IllegalOriginAccessConfigurationExceptionUnmarshaller()); } exceptionUnmarshallers.add(new IllegalOriginAccessConfigurationExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyCookiesInCachePolicy") == null) { exceptionUnmarshallersMap.put("TooManyCookiesInCachePolicy", new TooManyCookiesInCachePolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyCookiesInCachePolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyOriginAccessControls") == null) { exceptionUnmarshallersMap.put("TooManyOriginAccessControls", new TooManyOriginAccessControlsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyOriginAccessControlsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidArgument") == null) { exceptionUnmarshallersMap.put("InvalidArgument", new InvalidArgumentExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidArgumentExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyOriginRequestPolicies") == null) { exceptionUnmarshallersMap.put("TooManyOriginRequestPolicies", new TooManyOriginRequestPoliciesExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyOriginRequestPoliciesExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchCachePolicy") == null) { exceptionUnmarshallersMap.put("NoSuchCachePolicy", new NoSuchCachePolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchCachePolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("KeyGroupAlreadyExists") == null) { exceptionUnmarshallersMap.put("KeyGroupAlreadyExists", new KeyGroupAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new KeyGroupAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchStreamingDistribution") == null) { exceptionUnmarshallersMap.put("NoSuchStreamingDistribution", new NoSuchStreamingDistributionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchStreamingDistributionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchPublicKey") == null) { exceptionUnmarshallersMap.put("NoSuchPublicKey", new NoSuchPublicKeyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchPublicKeyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsAssociatedToFieldLevelEncryptionConfig") == null) { exceptionUnmarshallersMap.put("TooManyDistributionsAssociatedToFieldLevelEncryptionConfig", new TooManyDistributionsAssociatedToFieldLevelEncryptionConfigExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsAssociatedToFieldLevelEncryptionConfigExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyDistributionsAssociatedToCachePolicy") == null) { exceptionUnmarshallersMap .put("TooManyDistributionsAssociatedToCachePolicy", new TooManyDistributionsAssociatedToCachePolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyDistributionsAssociatedToCachePolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("PublicKeyAlreadyExists") == null) { exceptionUnmarshallersMap.put("PublicKeyAlreadyExists", new PublicKeyAlreadyExistsExceptionUnmarshaller()); } exceptionUnmarshallers.add(new PublicKeyAlreadyExistsExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("FieldLevelEncryptionProfileInUse") == null) { exceptionUnmarshallersMap.put("FieldLevelEncryptionProfileInUse", new FieldLevelEncryptionProfileInUseExceptionUnmarshaller()); } exceptionUnmarshallers.add(new FieldLevelEncryptionProfileInUseExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidIfMatchVersion") == null) { exceptionUnmarshallersMap.put("InvalidIfMatchVersion", new InvalidIfMatchVersionExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidIfMatchVersionExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("InvalidTagging") == null) { exceptionUnmarshallersMap.put("InvalidTagging", new InvalidTaggingExceptionUnmarshaller()); } exceptionUnmarshallers.add(new InvalidTaggingExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("TooManyHeadersInOriginRequestPolicy") == null) { exceptionUnmarshallersMap.put("TooManyHeadersInOriginRequestPolicy", new TooManyHeadersInOriginRequestPolicyExceptionUnmarshaller()); } exceptionUnmarshallers.add(new TooManyHeadersInOriginRequestPolicyExceptionUnmarshaller()); if (exceptionUnmarshallersMap.get("NoSuchCloudFrontOriginAccessIdentity") == null) { exceptionUnmarshallersMap.put("NoSuchCloudFrontOriginAccessIdentity", new NoSuchCloudFrontOriginAccessIdentityExceptionUnmarshaller()); } exceptionUnmarshallers.add(new NoSuchCloudFrontOriginAccessIdentityExceptionUnmarshaller()); defaultUnmarshaller = new StandardErrorUnmarshaller(com.amazonaws.services.cloudfront.model.AmazonCloudFrontException.class); exceptionUnmarshallers.add(new StandardErrorUnmarshaller(com.amazonaws.services.cloudfront.model.AmazonCloudFrontException.class)); setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("https://cloudfront.amazonaws.com/"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/cloudfront/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/cloudfront/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* 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 */ @Override public AssociateAliasResult associateAlias(AssociateAliasRequest request) { request = beforeClientExecution(request); return executeAssociateAlias(request); } @SdkInternalApi final AssociateAliasResult executeAssociateAlias(AssociateAliasRequest associateAliasRequest) { ExecutionContext executionContext = createExecutionContext(associateAliasRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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
*/
@Override
public CopyDistributionResult copyDistribution(CopyDistributionRequest request) {
request = beforeClientExecution(request);
return executeCopyDistribution(request);
}
@SdkInternalApi
final CopyDistributionResult executeCopyDistribution(CopyDistributionRequest copyDistributionRequest) {
ExecutionContext executionContext = createExecutionContext(copyDistributionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
* For more information about cache policies, see Controlling the cache key in the Amazon CloudFront Developer Guide.
*
* 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.
*
* 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
* 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.
*
* Creates a CloudFront distribution.
*
*
* OriginRequestPolicy
.
* Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws CachePolicyAlreadyExistsException
* A cache policy with this name already exists. You must provide a unique name. To modify an existing cache
* policy, use UpdateCachePolicy
.
* @throws TooManyCachePoliciesException
* You have reached the maximum number of cache policies for this Amazon Web Services account. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyHeadersInCachePolicyException
* The number of headers in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyCookiesInCachePolicyException
* The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyQueryStringsInCachePolicyException
* The number of query strings in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.CreateCachePolicy
* @see AWS
* API Documentation
*/
@Override
public CreateCachePolicyResult createCachePolicy(CreateCachePolicyRequest request) {
request = beforeClientExecution(request);
return executeCreateCachePolicy(request);
}
@SdkInternalApi
final CreateCachePolicyResult executeCreateCachePolicy(CreateCachePolicyRequest createCachePolicyRequest) {
ExecutionContext executionContext = createExecutionContext(createCachePolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestCallerReference
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
*/
@Override
public CreateCloudFrontOriginAccessIdentityResult createCloudFrontOriginAccessIdentity(CreateCloudFrontOriginAccessIdentityRequest request) {
request = beforeClientExecution(request);
return executeCreateCloudFrontOriginAccessIdentity(request);
}
@SdkInternalApi
final CreateCloudFrontOriginAccessIdentityResult executeCreateCloudFrontOriginAccessIdentity(
CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest) {
ExecutionContext executionContext = createExecutionContext(createCloudFrontOriginAccessIdentityRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestCopyDistribution
to create a staging distribution,
* then use UpdateDistribution
to modify the staging distribution's configuration.
* Quantity
and the size of Items
don't match.
* @throws ContinuousDeploymentPolicyAlreadyExistsException
* A continuous deployment policy with this configuration already exists.
* @throws TooManyContinuousDeploymentPoliciesException
* You have reached the maximum number of continuous deployment policies for this Amazon Web Services
* account.
* @throws StagingDistributionInUseException
* A continuous deployment policy for this staging distribution already exists.
* @sample AmazonCloudFront.CreateContinuousDeploymentPolicy
* @see AWS API Documentation
*/
@Override
public CreateContinuousDeploymentPolicyResult createContinuousDeploymentPolicy(CreateContinuousDeploymentPolicyRequest request) {
request = beforeClientExecution(request);
return executeCreateContinuousDeploymentPolicy(request);
}
@SdkInternalApi
final CreateContinuousDeploymentPolicyResult executeCreateContinuousDeploymentPolicy(
CreateContinuousDeploymentPolicyRequest createContinuousDeploymentPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(createContinuousDeploymentPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
*/
@Override
public CreateDistributionResult createDistribution(CreateDistributionRequest request) {
request = beforeClientExecution(request);
return executeCreateDistribution(request);
}
@SdkInternalApi
final CreateDistributionResult executeCreateDistribution(CreateDistributionRequest createDistributionRequest) {
ExecutionContext executionContext = createExecutionContext(createDistributionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Create a new distribution with tags. This API operation requires the following IAM permissions:
*
* TagResource
*
*
*
* @param createDistributionWithTagsRequest
* The request to create a new distribution with tags.
* @return Result of the CreateDistributionWithTags operation returned by the service.
* @throws CNAMEAlreadyExistsException
* The CNAME specified is already defined for CloudFront.
* @throws DistributionAlreadyExistsException
* The caller reference you attempted to create the distribution with is associated with another
* distribution.
* @throws InvalidOriginException
* The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.
* @throws InvalidOriginAccessIdentityException
* The origin access identity is not valid or doesn't exist.
* @throws InvalidOriginAccessControlException
* The origin access control is not valid.
* @throws IllegalOriginAccessConfigurationException
* An origin cannot contain both an origin access control (OAC) and an origin access identity (OAI).
* @throws AccessDeniedException
* Access denied.
* @throws TooManyTrustedSignersException
* Your request contains more trusted signers than are allowed per distribution.
* @throws TrustedSignerDoesNotExistException
* One or more of your trusted signers don't exist.
* @throws InvalidViewerCertificateException
* A viewer certificate specified is not valid.
* @throws InvalidMinimumProtocolVersionException
* The minimum protocol version specified is not valid.
* @throws MissingBodyException
* This operation requires a body. Ensure that the body is present and the Content-Type
header
* is set.
* @throws TooManyDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws TooManyDistributionsException
* Processing your request would cause you to exceed the maximum number of distributions allowed.
* @throws InvalidDefaultRootObjectException
* The default root object file name is too big or contains an invalid character.
* @throws InvalidRelativePathException
* The relative path is too big, is not URL-encoded, or does not begin with a slash (/).
* @throws InvalidErrorCodeException
* An invalid error code was specified.
* @throws InvalidResponseCodeException
* A response code is not valid.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InvalidRequiredProtocolException
* This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request,
* or omit the RequiredProtocols
element from your distribution configuration.
* @throws NoSuchOriginException
* No origin exists with the specified Origin Id
.
* @throws TooManyOriginsException
* You cannot create more origins for the distribution.
* @throws TooManyOriginGroupsPerDistributionException
* Processing your request would cause you to exceed the maximum number of origin groups allowed.
* @throws TooManyCacheBehaviorsException
* You cannot create more cache behaviors for the distribution.
* @throws TooManyCookieNamesInWhiteListException
* Your request contains more cookie names in the whitelist than are allowed per cache behavior.
* @throws InvalidForwardCookiesException
* Your request contains forward cookies option which doesn't match with the expectation for the
* whitelisted
list of cookie names. Either list of cookie names has been specified when not
* allowed or list of cookie names is missing when expected.
* @throws TooManyHeadersInForwardedValuesException
* Your request contains too many headers in forwarded values.
* @throws InvalidHeadersForS3OriginException
* The headers specified are not valid for an Amazon S3 origin.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @throws TooManyCertificatesException
* You cannot create anymore custom SSL/TLS certificates.
* @throws InvalidLocationCodeException
* The location code specified is not valid.
* @throws InvalidGeoRestrictionParameterException
* The specified geo restriction parameter is not valid.
* @throws InvalidProtocolSettingsException
* You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that
* support Server Name Indication (SNI).
* @throws InvalidTTLOrderException
* The TTL order specified is not valid.
* @throws InvalidWebACLIdException
* A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use
* the ACL ARN, for example
* arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a
* . To specify a web ACL created using WAF Classic, use the ACL ID, for example
* 473e64fd-f30b-4765-81a0-62ad96dd167a
.
* @throws TooManyOriginCustomHeadersException
* Your request contains too many origin custom headers.
* @throws InvalidTaggingException
* The tagging specified is not valid.
* @throws TooManyQueryStringParametersException
* Your request contains too many query string parameters.
* @throws InvalidQueryStringParametersException
* The query string parameters specified are not valid.
* @throws TooManyDistributionsWithLambdaAssociationsException
* Processing your request would cause the maximum number of distributions with Lambda@Edge function
* associations per owner to be exceeded.
* @throws TooManyDistributionsWithSingleFunctionARNException
* The maximum number of distributions have been associated with the specified Lambda@Edge function.
* @throws TooManyLambdaFunctionAssociationsException
* Your request contains more Lambda@Edge function associations than are allowed per distribution.
* @throws InvalidLambdaFunctionAssociationException
* The specified Lambda@Edge function association is invalid.
* @throws TooManyDistributionsWithFunctionAssociationsException
* You have reached the maximum number of distributions that are associated with a CloudFront function. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyFunctionAssociationsException
* You have reached the maximum number of CloudFront function associations for this distribution. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws InvalidFunctionAssociationException
* A CloudFront function association is invalid.
* @throws InvalidOriginReadTimeoutException
* The read timeout specified for the origin is not valid.
* @throws InvalidOriginKeepaliveTimeoutException
* The keep alive timeout specified for the origin is not valid.
* @throws NoSuchFieldLevelEncryptionConfigException
* The specified configuration for field-level encryption doesn't exist.
* @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException
* The specified configuration for field-level encryption can't be associated with the specified cache
* behavior.
* @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException
* The maximum number of distributions have been associated with the specified configuration for field-level
* encryption.
* @throws NoSuchCachePolicyException
* The cache policy does not exist.
* @throws TooManyDistributionsAssociatedToCachePolicyException
* The maximum number of distributions have been associated with the specified cache policy. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyDistributionsAssociatedToOriginAccessControlException
* The maximum number of distributions have been associated with the specified origin access control.
* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws TooManyDistributionsAssociatedToResponseHeadersPolicyException * The maximum number of distributions have been associated with the specified response headers policy. *
*
* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws NoSuchOriginRequestPolicyException
* The origin request policy does not exist.
* @throws TooManyDistributionsAssociatedToOriginRequestPolicyException
* The maximum number of distributions have been associated with the specified origin request policy. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyDistributionsAssociatedToKeyGroupException
* The number of distributions that reference this key group is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyKeyGroupsAssociatedToDistributionException
* The number of key groups referenced by this distribution is more than the maximum allowed. For more
* information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TrustedKeyGroupDoesNotExistException
* The specified key group does not exist.
* @throws NoSuchRealtimeLogConfigException
* The real-time log configuration does not exist.
* @throws RealtimeLogConfigOwnerMismatchException
* The specified real-time log configuration belongs to a different Amazon Web Services account.
* @throws ContinuousDeploymentPolicyInUseException
* You cannot delete a continuous deployment policy that is associated with a primary distribution.
* @throws NoSuchContinuousDeploymentPolicyException
* The continuous deployment policy doesn't exist.
* @throws InvalidDomainNameForOriginAccessControlException
* An origin access control is associated with an origin whose domain name is not supported.
* @sample AmazonCloudFront.CreateDistributionWithTags
* @see AWS API Documentation
*/
@Override
public CreateDistributionWithTagsResult createDistributionWithTags(CreateDistributionWithTagsRequest request) {
request = beforeClientExecution(request);
return executeCreateDistributionWithTags(request);
}
@SdkInternalApi
final CreateDistributionWithTagsResult executeCreateDistributionWithTags(CreateDistributionWithTagsRequest createDistributionWithTagsRequest) {
ExecutionContext executionContext = createExecutionContext(createDistributionWithTagsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* Create a new field-level encryption configuration.
*
* Create a field-level encryption profile.
*
* 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
* When you're ready to use your function with a CloudFront distribution, use
* Create a new invalidation.
*
* 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.
*
* 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.
*
* 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.
* Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws NoSuchFieldLevelEncryptionProfileException
* The specified profile for field-level encryption doesn't exist.
* @throws FieldLevelEncryptionConfigAlreadyExistsException
* The specified configuration for field-level encryption already exists.
* @throws TooManyFieldLevelEncryptionConfigsException
* The maximum number of configurations for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionQueryArgProfilesException
* The maximum number of query arg profiles for field-level encryption have been created.
* @throws TooManyFieldLevelEncryptionContentTypeProfilesException
* The maximum number of content type profiles for field-level encryption have been created.
* @throws QueryArgProfileEmptyException
* No profile specified for the field-level encryption query argument.
* @sample AmazonCloudFront.CreateFieldLevelEncryptionConfig
* @see AWS API Documentation
*/
@Override
public CreateFieldLevelEncryptionConfigResult createFieldLevelEncryptionConfig(CreateFieldLevelEncryptionConfigRequest request) {
request = beforeClientExecution(request);
return executeCreateFieldLevelEncryptionConfig(request);
}
@SdkInternalApi
final CreateFieldLevelEncryptionConfigResult executeCreateFieldLevelEncryptionConfig(
CreateFieldLevelEncryptionConfigRequest createFieldLevelEncryptionConfigRequest) {
ExecutionContext executionContext = createExecutionContext(createFieldLevelEncryptionConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestQuantity
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
*/
@Override
public CreateFieldLevelEncryptionProfileResult createFieldLevelEncryptionProfile(CreateFieldLevelEncryptionProfileRequest request) {
request = beforeClientExecution(request);
return executeCreateFieldLevelEncryptionProfile(request);
}
@SdkInternalApi
final CreateFieldLevelEncryptionProfileResult executeCreateFieldLevelEncryptionProfile(
CreateFieldLevelEncryptionProfileRequest createFieldLevelEncryptionProfileRequest) {
ExecutionContext executionContext = createExecutionContext(createFieldLevelEncryptionProfileRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDEVELOPMENT
stage. In this stage, you can test the function
* with TestFunction
, and update it with UpdateFunction
.
* 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
*/
@Override
public CreateFunctionResult createFunction(CreateFunctionRequest request) {
request = beforeClientExecution(request);
return executeCreateFunction(request);
}
@SdkInternalApi
final CreateFunctionResult executeCreateFunction(CreateFunctionRequest createFunctionRequest) {
ExecutionContext executionContext = createExecutionContext(createFunctionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestContent-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
*/
@Override
public CreateInvalidationResult createInvalidation(CreateInvalidationRequest request) {
request = beforeClientExecution(request);
return executeCreateInvalidation(request);
}
@SdkInternalApi
final CreateInvalidationResult executeCreateInvalidation(CreateInvalidationRequest createInvalidationRequest) {
ExecutionContext executionContext = createExecutionContext(createInvalidationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestUpdateKeyGroup
.
* @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
*/
@Override
public CreateKeyGroupResult createKeyGroup(CreateKeyGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateKeyGroup(request);
}
@SdkInternalApi
final CreateKeyGroupResult executeCreateKeyGroup(CreateKeyGroupRequest createKeyGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createKeyGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
*/
@Override
public CreateOriginAccessControlResult createOriginAccessControl(CreateOriginAccessControlRequest request) {
request = beforeClientExecution(request);
return executeCreateOriginAccessControl(request);
}
@SdkInternalApi
final CreateOriginAccessControlResult executeCreateOriginAccessControl(CreateOriginAccessControlRequest createOriginAccessControlRequest) {
ExecutionContext executionContext = createExecutionContext(createOriginAccessControlRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
* 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
* For more information about origin request policies, see Controlling origin requests in the Amazon CloudFront Developer Guide.
*
* Uploads a public key to CloudFront that you can use with signed URLs and
* signed cookies, or with field-level
* encryption.
*
* 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.
*
* 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.
*
*
* Host
,
* User-Agent
, and X-Amz-Cf-Id
.
* CachePolicy
.
* Quantity
and the size of Items
don't match.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws OriginRequestPolicyAlreadyExistsException
* An origin request policy with this name already exists. You must provide a unique name. To modify an
* existing origin request policy, use UpdateOriginRequestPolicy
.
* @throws TooManyOriginRequestPoliciesException
* You have reached the maximum number of origin request policies for this Amazon Web Services account. For
* more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyHeadersInOriginRequestPolicyException
* The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyCookiesInOriginRequestPolicyException
* The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @throws TooManyQueryStringsInOriginRequestPolicyException
* The number of query strings in the origin request policy exceeds the maximum. For more information, see
* Quotas
* (formerly known as limits) in the Amazon CloudFront Developer Guide.
* @sample AmazonCloudFront.CreateOriginRequestPolicy
* @see AWS API Documentation
*/
@Override
public CreateOriginRequestPolicyResult createOriginRequestPolicy(CreateOriginRequestPolicyRequest request) {
request = beforeClientExecution(request);
return executeCreateOriginRequestPolicy(request);
}
@SdkInternalApi
final CreateOriginRequestPolicyResult executeCreateOriginRequestPolicy(CreateOriginRequestPolicyRequest createOriginRequestPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(createOriginRequestPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestUpdateRealtimeLogConfig
.
* @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
*/
@Override
public CreateRealtimeLogConfigResult createRealtimeLogConfig(CreateRealtimeLogConfigRequest request) {
request = beforeClientExecution(request);
return executeCreateRealtimeLogConfig(request);
}
@SdkInternalApi
final CreateRealtimeLogConfigResult executeCreateRealtimeLogConfig(CreateRealtimeLogConfigRequest createRealtimeLogConfigRequest) {
ExecutionContext executionContext = createExecutionContext(createRealtimeLogConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestQuantity
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
*/
@Override
public CreateResponseHeadersPolicyResult createResponseHeadersPolicy(CreateResponseHeadersPolicyRequest request) {
request = beforeClientExecution(request);
return executeCreateResponseHeadersPolicy(request);
}
@SdkInternalApi
final CreateResponseHeadersPolicyResult executeCreateResponseHeadersPolicy(CreateResponseHeadersPolicyRequest createResponseHeadersPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(createResponseHeadersPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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.
*
* 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.
*
* 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
*
* Delete an origin access identity.
*
* 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.
*
* Delete a distribution.
* Content-Type
header
* is set.
* @throws TooManyStreamingDistributionCNAMEsException
* Your request contains more CNAMEs than are allowed per distribution.
* @throws TooManyStreamingDistributionsException
* Processing your request would cause you to exceed the maximum number of streaming distributions allowed.
* @throws InvalidArgumentException
* An argument is invalid.
* @throws InconsistentQuantitiesException
* The value of Quantity
and the size of Items
don't match.
* @sample AmazonCloudFront.CreateStreamingDistribution
* @see AWS API Documentation
*/
@Override
public CreateStreamingDistributionResult createStreamingDistribution(CreateStreamingDistributionRequest request) {
request = beforeClientExecution(request);
return executeCreateStreamingDistribution(request);
}
@SdkInternalApi
final CreateStreamingDistributionResult executeCreateStreamingDistribution(CreateStreamingDistributionRequest createStreamingDistributionRequest) {
ExecutionContext executionContext = createExecutionContext(createStreamingDistributionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestContent-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
*/
@Override
public CreateStreamingDistributionWithTagsResult createStreamingDistributionWithTags(CreateStreamingDistributionWithTagsRequest request) {
request = beforeClientExecution(request);
return executeCreateStreamingDistributionWithTags(request);
}
@SdkInternalApi
final CreateStreamingDistributionWithTagsResult executeCreateStreamingDistributionWithTags(
CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest) {
ExecutionContext executionContext = createExecutionContext(createStreamingDistributionWithTagsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestListCachePolicies
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
*/
@Override
public DeleteCachePolicyResult deleteCachePolicy(DeleteCachePolicyRequest request) {
request = beforeClientExecution(request);
return executeDeleteCachePolicy(request);
}
@SdkInternalApi
final DeleteCachePolicyResult executeDeleteCachePolicy(DeleteCachePolicyRequest deleteCachePolicyRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCachePolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestIf-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
*/
@Override
public DeleteCloudFrontOriginAccessIdentityResult deleteCloudFrontOriginAccessIdentity(DeleteCloudFrontOriginAccessIdentityRequest request) {
request = beforeClientExecution(request);
return executeDeleteCloudFrontOriginAccessIdentity(request);
}
@SdkInternalApi
final DeleteCloudFrontOriginAccessIdentityResult executeDeleteCloudFrontOriginAccessIdentity(
DeleteCloudFrontOriginAccessIdentityRequest deleteCloudFrontOriginAccessIdentityRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCloudFrontOriginAccessIdentityRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestIf-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
*/
@Override
public DeleteContinuousDeploymentPolicyResult deleteContinuousDeploymentPolicy(DeleteContinuousDeploymentPolicyRequest request) {
request = beforeClientExecution(request);
return executeDeleteContinuousDeploymentPolicy(request);
}
@SdkInternalApi
final DeleteContinuousDeploymentPolicyResult executeDeleteContinuousDeploymentPolicy(
DeleteContinuousDeploymentPolicyRequest deleteContinuousDeploymentPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(deleteContinuousDeploymentPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
* Remove a field-level encryption configuration.
*
* Remove a field-level encryption profile.
*
* 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 (
* 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
*
* Disables additional CloudWatch metrics for the specified CloudFront distribution.
*
* 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.
*
* 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
* Remove a public key you previously added to CloudFront.
*
* 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.
*
* 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
* 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
* Update the XML document that was returned in the response to your
* Submit a
* Review the response to the
* Submit a
* Submit a
* Review the response to your
* For information about deleting a distribution using the CloudFront console, see Deleting a
* Distribution in the Amazon CloudFront Developer Guide.
*
* Gets configuration information and metadata about a CloudFront function, but not the function's code. To get a
* function's code, use
* 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
* 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
* 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
* Get the information about an origin access identity.
*
* Get the configuration information about an origin access identity.
*
* Gets a continuous deployment policy, including metadata (the policy's identifier and the date and time when the
* policy was last modified).
*
* Gets configuration information about a continuous deployment policy.
*
* Get the information about a distribution.
*
* Get the configuration information about a distribution.
*
* Get the field-level encryption configuration information.
*
* Get the field-level encryption configuration information.
*
* Get the field-level encryption profile information.
*
* Get the field-level encryption profile configuration information.
*
* Gets the code of a CloudFront function. To get configuration information and metadata about a function, use
*
* To get a function's code, you must provide the function's name and stage. To get these values, you can use
*
* Get the information about an invalidation.
*
* 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
* 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
* Gets information about whether additional CloudWatch metrics are enabled for the specified CloudFront
* distribution.
*
* Gets a CloudFront origin access control, including its unique identifier.
*
* Gets a CloudFront origin access control configuration.
*
* 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
*
* 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
*
* Gets a public key.
*
* Gets a public key configuration.
*
* 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.
*
* 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
*
* 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
*
* Gets information about a specified RTMP distribution, including the distribution configuration.
*
* Get the configuration information about a streaming distribution.
*
* 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
* Lists origin access identities.
*
* 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
* 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
* 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
* List CloudFront distributions.
*
* 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
* 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
* 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
* 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
* 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
* List the distributions that are associated with a specified WAF web ACL.
*
* List all field-level encryption configurations that have been created in CloudFront for this account.
*
* Request a list of field-level encryption profiles that have been created in CloudFront for this account.
*
* 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
*
* 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
* Lists invalidation batches.
*
* 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
* 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
* 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
* List all public keys that have been added to CloudFront for this account.
*
* 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
* 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 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
*/
@Override
public DeleteDistributionResult deleteDistribution(DeleteDistributionRequest request) {
request = beforeClientExecution(request);
return executeDeleteDistribution(request);
}
@SdkInternalApi
final DeleteDistributionResult executeDeleteDistribution(DeleteDistributionRequest deleteDistributionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteDistributionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestIf-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
*/
@Override
public DeleteFieldLevelEncryptionConfigResult deleteFieldLevelEncryptionConfig(DeleteFieldLevelEncryptionConfigRequest request) {
request = beforeClientExecution(request);
return executeDeleteFieldLevelEncryptionConfig(request);
}
@SdkInternalApi
final DeleteFieldLevelEncryptionConfigResult executeDeleteFieldLevelEncryptionConfig(
DeleteFieldLevelEncryptionConfigRequest deleteFieldLevelEncryptionConfigRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFieldLevelEncryptionConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestIf-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
*/
@Override
public DeleteFieldLevelEncryptionProfileResult deleteFieldLevelEncryptionProfile(DeleteFieldLevelEncryptionProfileRequest request) {
request = beforeClientExecution(request);
return executeDeleteFieldLevelEncryptionProfile(request);
}
@SdkInternalApi
final DeleteFieldLevelEncryptionProfileResult executeDeleteFieldLevelEncryptionProfile(
DeleteFieldLevelEncryptionProfileRequest deleteFieldLevelEncryptionProfileRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFieldLevelEncryptionProfileRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestETag
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
*/
@Override
public DeleteFunctionResult deleteFunction(DeleteFunctionRequest request) {
request = beforeClientExecution(request);
return executeDeleteFunction(request);
}
@SdkInternalApi
final DeleteFunctionResult executeDeleteFunction(DeleteFunctionRequest deleteFunctionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFunctionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestListKeyGroups
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
*/
@Override
public DeleteKeyGroupResult deleteKeyGroup(DeleteKeyGroupRequest request) {
request = beforeClientExecution(request);
return executeDeleteKeyGroup(request);
}
@SdkInternalApi
final DeleteKeyGroupResult executeDeleteKeyGroup(DeleteKeyGroupRequest deleteKeyGroupRequest) {
ExecutionContext executionContext = createExecutionContext(deleteKeyGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestIf-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
*/
@Override
public DeleteOriginAccessControlResult deleteOriginAccessControl(DeleteOriginAccessControlRequest request) {
request = beforeClientExecution(request);
return executeDeleteOriginAccessControl(request);
}
@SdkInternalApi
final DeleteOriginAccessControlResult executeDeleteOriginAccessControl(DeleteOriginAccessControlRequest deleteOriginAccessControlRequest) {
ExecutionContext executionContext = createExecutionContext(deleteOriginAccessControlRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestListOriginRequestPolicies
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
*/
@Override
public DeleteOriginRequestPolicyResult deleteOriginRequestPolicy(DeleteOriginRequestPolicyRequest request) {
request = beforeClientExecution(request);
return executeDeleteOriginRequestPolicy(request);
}
@SdkInternalApi
final DeleteOriginRequestPolicyResult executeDeleteOriginRequestPolicy(DeleteOriginRequestPolicyRequest deleteOriginRequestPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(deleteOriginRequestPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestIf-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
*/
@Override
public DeletePublicKeyResult deletePublicKey(DeletePublicKeyRequest request) {
request = beforeClientExecution(request);
return executeDeletePublicKey(request);
}
@SdkInternalApi
final DeletePublicKeyResult executeDeletePublicKey(DeletePublicKeyRequest deletePublicKeyRequest) {
ExecutionContext executionContext = createExecutionContext(deletePublicKeyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestListResponseHeadersPolicies
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
*/
@Override
public DeleteResponseHeadersPolicyResult deleteResponseHeadersPolicy(DeleteResponseHeadersPolicyRequest request) {
request = beforeClientExecution(request);
return executeDeleteResponseHeadersPolicy(request);
}
@SdkInternalApi
final DeleteResponseHeadersPolicyResult executeDeleteResponseHeadersPolicy(DeleteResponseHeadersPolicyRequest deleteResponseHeadersPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(deleteResponseHeadersPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
*
* GET Streaming Distribution Config
request to get the current configuration and the
* Etag
header for the distribution.
* GET Streaming Distribution Config
* request to change the value of Enabled
to false
.
* 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.
* PUT Streaming Distribution Config
request to confirm that the
* distribution was successfully disabled.
* GET Streaming Distribution Config
request to confirm that your changes have propagated.
* When propagation is complete, the value of Status
is Deployed
.
* 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.
* DELETE Streaming Distribution
request to confirm that the distribution
* was successfully deleted.
* If-Match
version is missing or not valid.
* @throws NoSuchStreamingDistributionException
* The specified streaming distribution does not exist.
* @throws PreconditionFailedException
* The precondition in one or more of the request fields evaluated to false
.
* @sample AmazonCloudFront.DeleteStreamingDistribution
* @see AWS API Documentation
*/
@Override
public DeleteStreamingDistributionResult deleteStreamingDistribution(DeleteStreamingDistributionRequest request) {
request = beforeClientExecution(request);
return executeDeleteStreamingDistribution(request);
}
@SdkInternalApi
final DeleteStreamingDistributionResult executeDeleteStreamingDistribution(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteStreamingDistributionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestGetFunction
.
* ListFunctions
.
*
*
* ListDistributions
or
* GetDistribution
. If the cache policy is not attached to a cache behavior, you can get the identifier
* using ListCachePolicies
.
* ListDistributions
or
* GetDistribution
. If the cache policy is not attached to a cache behavior, you can get the identifier
* using ListCachePolicies
.
* DescribeFunction
.
* ListFunctions
.
* ListDistributions
or
* GetDistribution
. If the key group is not referenced in a cache behavior, you can get the identifier
* using ListKeyGroups
.
* ListDistributions
or
* GetDistribution
. If the key group is not referenced in a cache behavior, you can get the identifier
* using ListKeyGroups
.
*
*
* ListDistributions
or GetDistribution
. If the origin request policy is not attached to a
* cache behavior, you can get the identifier using ListOriginRequestPolicies
.
* ListDistributions
or GetDistribution
. If the origin request policy is not attached to a
* cache behavior, you can get the identifier using ListOriginRequestPolicies
.
* ListDistributions
or GetDistribution
. If the response headers policy is not attached to
* a cache behavior, you can get the identifier using ListResponseHeadersPolicies
.
* ListDistributions
or GetDistribution
. If the response headers policy is not attached to
* a cache behavior, you can get the identifier using ListResponseHeadersPolicies
.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* 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.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* 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
*/
@Override
public ListDistributionsByWebACLIdResult listDistributionsByWebACLId(ListDistributionsByWebACLIdRequest request) {
request = beforeClientExecution(request);
return executeListDistributionsByWebACLId(request);
}
@SdkInternalApi
final ListDistributionsByWebACLIdResult executeListDistributionsByWebACLId(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest) {
ExecutionContext executionContext = createExecutionContext(listDistributionsByWebACLIdRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
RequestDEVELOPMENT
or LIVE
.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the next request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
* NextMarker
value from the current
* response as the Marker
value in the subsequent request.
*