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

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

Go to download

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

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2017-2022 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.
 * 

* Amazon CloudFront *

* This is the Amazon CloudFront API Reference. This guide is for developers who need detailed information about * CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon * CloudFront Developer Guide. *

*/ @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> exceptionUnmarshallersMap = new HashMap>(); /** * List of exception unmarshallers for all modeled exceptions Even though this exceptionUnmarshallers is not used in * Clients, this is not removed since this was directly used by Client extended classes. Using this list can cause * performance impact. */ protected final List> exceptionUnmarshallers = new ArrayList>(); protected Unmarshaller defaultUnmarshaller; /** * Constructs a new client to invoke service methods on CloudFront. A credentials provider chain will be used that * searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

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

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* 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("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("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("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("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("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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateAliasRequestMarshaller().marshall(super.beforeMarshalling(associateAliasRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateAlias"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new AssociateAliasResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* * @param copyDistributionRequest * @return Result of the CopyDistribution operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws DistributionAlreadyExistsException * The caller reference you attempted to create the distribution with is associated with another * distribution. * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws InvalidOriginAccessControlException * The origin access control is not valid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InvalidViewerCertificateException * A viewer certificate specified is not valid. * @throws InvalidMinimumProtocolVersionException * The minimum protocol version specified is not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyDistributionsException * Processing your request would cause you to exceed the maximum number of distributions allowed. * @throws InvalidDefaultRootObjectException * The default root object file name is too big or contains an invalid character. * @throws InvalidRelativePathException * The relative path is too big, is not URL-encoded, or does not begin with a slash (/). * @throws InvalidErrorCodeException * An invalid error code was specified. * @throws InvalidResponseCodeException * A response code is not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidRequiredProtocolException * This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, * or omit the RequiredProtocols element from your distribution configuration. * @throws NoSuchOriginException * No origin exists with the specified Origin Id. * @throws TooManyOriginsException * You cannot create more origins for the distribution. * @throws TooManyOriginGroupsPerDistributionException * Processing your request would cause you to exceed the maximum number of origin groups allowed. * @throws TooManyCacheBehaviorsException * You cannot create more cache behaviors for the distribution. * @throws TooManyCookieNamesInWhiteListException * Your request contains more cookie names in the whitelist than are allowed per cache behavior. * @throws InvalidForwardCookiesException * Your request contains forward cookies option which doesn't match with the expectation for the * whitelisted list of cookie names. Either list of cookie names has been specified when not * allowed or list of cookie names is missing when expected. * @throws TooManyHeadersInForwardedValuesException * Your request contains too many headers in forwarded values. * @throws InvalidHeadersForS3OriginException * The headers specified are not valid for an Amazon S3 origin. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * The location code specified is not valid. * @throws InvalidGeoRestrictionParameterException * The specified geo restriction parameter is not valid. * @throws InvalidProtocolSettingsException * You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that * support Server Name Indication (SNI). * @throws InvalidTTLOrderException * The TTL order specified is not valid. * @throws InvalidWebACLIdException * A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use * the ACL ARN, for example * arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a * . To specify a web ACL created using WAF Classic, use the ACL ID, for example * 473e64fd-f30b-4765-81a0-62ad96dd167a. * @throws TooManyOriginCustomHeadersException * Your request contains too many origin custom headers. * @throws TooManyQueryStringParametersException * Your request contains too many query string parameters. * @throws InvalidQueryStringParametersException * The query string parameters specified are not valid. * @throws TooManyDistributionsWithLambdaAssociationsException * Processing your request would cause the maximum number of distributions with Lambda@Edge function * associations per owner to be exceeded. * @throws TooManyDistributionsWithSingleFunctionARNException * The maximum number of distributions have been associated with the specified Lambda@Edge function. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda@Edge function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda@Edge function association is invalid. * @throws TooManyDistributionsWithFunctionAssociationsException * You have reached the maximum number of distributions that are associated with a CloudFront function. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyFunctionAssociationsException * You have reached the maximum number of CloudFront function associations for this distribution. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidFunctionAssociationException * A CloudFront function association is invalid. * @throws InvalidOriginReadTimeoutException * The read timeout specified for the origin is not valid. * @throws InvalidOriginKeepaliveTimeoutException * The keep alive timeout specified for the origin is not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException * The specified configuration for field-level encryption can't be associated with the specified cache * behavior. * @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException * The maximum number of distributions have been associated with the specified configuration for field-level * encryption. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws TooManyDistributionsAssociatedToCachePolicyException * The maximum number of distributions have been associated with the specified cache policy. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws 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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CopyDistributionRequestMarshaller().marshall(super.beforeMarshalling(copyDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CopyDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CopyDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a cache policy. *

*

* After you create a cache policy, you can attach it to one or more cache behaviors. When it’s attached to a cache * behavior, the cache policy determines the following: *

*
    *
  • *

    * The values that CloudFront includes in the cache key. These values can include HTTP headers, cookies, and * URL query strings. CloudFront uses the cache key to find an object in its cache that it can return to the viewer. *

    *
  • *
  • *

    * The default, minimum, and maximum time to live (TTL) values that you want objects to stay in the CloudFront * cache. *

    *
  • *
*

* The headers, cookies, and query strings that are included in the cache key are automatically included in requests * that CloudFront sends to the origin. CloudFront sends a request when it can’t find an object in its cache that * matches the request’s cache key. If you want to send values to the origin but not include them in the * cache key, use OriginRequestPolicy. *

*

* For more information about cache policies, see Controlling the cache key in the Amazon CloudFront Developer Guide. *

* * @param createCachePolicyRequest * @return Result of the CreateCachePolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws CachePolicyAlreadyExistsException * A cache policy with this name already exists. You must provide a unique name. To modify an existing cache * policy, use UpdateCachePolicy. * @throws TooManyCachePoliciesException * You have reached the maximum number of cache policies for this 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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateCachePolicyRequestMarshaller().marshall(super.beforeMarshalling(createCachePolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateCachePolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateCachePolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new origin access identity. If you're using Amazon S3 for your origin, you can use an origin access * identity to require users to access your content using a CloudFront URL instead of the Amazon S3 URL. For more * information about how to use origin access identities, see Serving Private * Content through CloudFront in the Amazon CloudFront Developer Guide. *

* * @param createCloudFrontOriginAccessIdentityRequest * The request to create a new origin access identity (OAI). An origin access identity is a special * CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of * your Amazon S3 content. For more information, see Restricting Access to Amazon S3 Content by Using an Origin Access Identity in the Amazon * CloudFront Developer Guide. * @return Result of the CreateCloudFrontOriginAccessIdentity operation returned by the service. * @throws CloudFrontOriginAccessIdentityAlreadyExistsException * If the CallerReference is a value you already sent in a previous request to create an * identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the * original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyCloudFrontOriginAccessIdentitiesException * Processing your request would cause you to exceed the maximum number of origin access identities allowed. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.CreateCloudFrontOriginAccessIdentity * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateCloudFrontOriginAccessIdentityRequestMarshaller().marshall(super .beforeMarshalling(createCloudFrontOriginAccessIdentityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateCloudFrontOriginAccessIdentity"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateCloudFrontOriginAccessIdentityResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a continuous deployment policy that distributes traffic for a custom domain name to two different * CloudFront distributions. *

*

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

*

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

* * @param createContinuousDeploymentPolicyRequest * @return Result of the CreateContinuousDeploymentPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws 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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateContinuousDeploymentPolicyRequestMarshaller().marshall(super.beforeMarshalling(createContinuousDeploymentPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateContinuousDeploymentPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateContinuousDeploymentPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a CloudFront distribution. *

* * @param createDistributionRequest * The request to create a new distribution. * @return Result of the CreateDistribution operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws DistributionAlreadyExistsException * The caller reference you attempted to create the distribution with is associated with another * distribution. * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws InvalidOriginAccessControlException * The origin access control is not valid. * @throws IllegalOriginAccessConfigurationException * An origin cannot contain both an origin access control (OAC) and an origin access identity (OAI). * @throws TooManyDistributionsAssociatedToOriginAccessControlException * The maximum number of distributions have been associated with the specified origin access control.

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InvalidViewerCertificateException * A viewer certificate specified is not valid. * @throws InvalidMinimumProtocolVersionException * The minimum protocol version specified is not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyDistributionsException * Processing your request would cause you to exceed the maximum number of distributions allowed. * @throws InvalidDefaultRootObjectException * The default root object file name is too big or contains an invalid character. * @throws InvalidRelativePathException * The relative path is too big, is not URL-encoded, or does not begin with a slash (/). * @throws InvalidErrorCodeException * An invalid error code was specified. * @throws InvalidResponseCodeException * A response code is not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidRequiredProtocolException * This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, * or omit the RequiredProtocols element from your distribution configuration. * @throws NoSuchOriginException * No origin exists with the specified Origin Id. * @throws TooManyOriginsException * You cannot create more origins for the distribution. * @throws TooManyOriginGroupsPerDistributionException * Processing your request would cause you to exceed the maximum number of origin groups allowed. * @throws TooManyCacheBehaviorsException * You cannot create more cache behaviors for the distribution. * @throws TooManyCookieNamesInWhiteListException * Your request contains more cookie names in the whitelist than are allowed per cache behavior. * @throws InvalidForwardCookiesException * Your request contains forward cookies option which doesn't match with the expectation for the * whitelisted list of cookie names. Either list of cookie names has been specified when not * allowed or list of cookie names is missing when expected. * @throws TooManyHeadersInForwardedValuesException * Your request contains too many headers in forwarded values. * @throws InvalidHeadersForS3OriginException * The headers specified are not valid for an Amazon S3 origin. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * The location code specified is not valid. * @throws InvalidGeoRestrictionParameterException * The specified geo restriction parameter is not valid. * @throws InvalidProtocolSettingsException * You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that * support Server Name Indication (SNI). * @throws InvalidTTLOrderException * The TTL order specified is not valid. * @throws InvalidWebACLIdException * A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use * the ACL ARN, for example * arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a * . To specify a web ACL created using WAF Classic, use the ACL ID, for example * 473e64fd-f30b-4765-81a0-62ad96dd167a. * @throws TooManyOriginCustomHeadersException * Your request contains too many origin custom headers. * @throws TooManyQueryStringParametersException * Your request contains too many query string parameters. * @throws InvalidQueryStringParametersException * The query string parameters specified are not valid. * @throws TooManyDistributionsWithLambdaAssociationsException * Processing your request would cause the maximum number of distributions with Lambda@Edge function * associations per owner to be exceeded. * @throws TooManyDistributionsWithSingleFunctionARNException * The maximum number of distributions have been associated with the specified Lambda@Edge function. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda@Edge function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda@Edge function association is invalid. * @throws TooManyDistributionsWithFunctionAssociationsException * You have reached the maximum number of distributions that are associated with a CloudFront function. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyFunctionAssociationsException * You have reached the maximum number of CloudFront function associations for this distribution. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidFunctionAssociationException * A CloudFront function association is invalid. * @throws InvalidOriginReadTimeoutException * The read timeout specified for the origin is not valid. * @throws InvalidOriginKeepaliveTimeoutException * The keep alive timeout specified for the origin is not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException * The specified configuration for field-level encryption can't be associated with the specified cache * behavior. * @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException * The maximum number of distributions have been associated with the specified configuration for field-level * encryption. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws TooManyDistributionsAssociatedToCachePolicyException * The maximum number of distributions have been associated with the specified cache policy. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws TooManyDistributionsAssociatedToResponseHeadersPolicyException * The maximum number of distributions have been associated with the specified response headers policy. *

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws TooManyDistributionsAssociatedToOriginRequestPolicyException * The maximum number of distributions have been associated with the specified origin request policy. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyDistributionsAssociatedToKeyGroupException * The number of distributions that reference this key group is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyKeyGroupsAssociatedToDistributionException * The number of key groups referenced by this distribution is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TrustedKeyGroupDoesNotExistException * The specified key group does not exist. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws RealtimeLogConfigOwnerMismatchException * The specified real-time log configuration belongs to a different Amazon Web Services account. * @throws 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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateDistributionRequestMarshaller().marshall(super.beforeMarshalling(createDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a new distribution with tags. *

* * @param createDistributionWithTagsRequest * The request to create a new distribution with tags. * @return Result of the CreateDistributionWithTags operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws DistributionAlreadyExistsException * The caller reference you attempted to create the distribution with is associated with another * distribution. * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws InvalidOriginAccessControlException * The origin access control is not valid. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws 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 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 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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateDistributionWithTagsRequestMarshaller().marshall(super.beforeMarshalling(createDistributionWithTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateDistributionWithTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateDistributionWithTagsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a new field-level encryption configuration. *

* * @param createFieldLevelEncryptionConfigRequest * @return Result of the CreateFieldLevelEncryptionConfig operation returned by the service. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws FieldLevelEncryptionConfigAlreadyExistsException * The specified configuration for field-level encryption already exists. * @throws TooManyFieldLevelEncryptionConfigsException * The maximum number of configurations for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionQueryArgProfilesException * The maximum number of query arg profiles for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionContentTypeProfilesException * The maximum number of content type profiles for field-level encryption have been created. * @throws QueryArgProfileEmptyException * No profile specified for the field-level encryption query argument. * @sample AmazonCloudFront.CreateFieldLevelEncryptionConfig * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateFieldLevelEncryptionConfigRequestMarshaller().marshall(super.beforeMarshalling(createFieldLevelEncryptionConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateFieldLevelEncryptionConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateFieldLevelEncryptionConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a field-level encryption profile. *

* * @param createFieldLevelEncryptionProfileRequest * @return Result of the CreateFieldLevelEncryptionProfile operation returned by the service. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws FieldLevelEncryptionProfileAlreadyExistsException * The specified profile for field-level encryption already exists. * @throws FieldLevelEncryptionProfileSizeExceededException * The maximum size of a profile for field-level encryption was exceeded. * @throws TooManyFieldLevelEncryptionProfilesException * The maximum number of profiles for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionEncryptionEntitiesException * The maximum number of encryption entities for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionFieldPatternsException * The maximum number of field patterns for field-level encryption have been created. * @sample AmazonCloudFront.CreateFieldLevelEncryptionProfile * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateFieldLevelEncryptionProfileRequestMarshaller().marshall(super.beforeMarshalling(createFieldLevelEncryptionProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateFieldLevelEncryptionProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateFieldLevelEncryptionProfileResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a CloudFront function. *

*

* To create a function, you provide the function code and some configuration information about the function. The * response contains an Amazon Resource Name (ARN) that uniquely identifies the function. *

*

* When you create a function, it’s in the DEVELOPMENT stage. In this stage, you can test the function * with TestFunction, and update it with UpdateFunction. *

*

* When you’re ready to use your function with a CloudFront distribution, use PublishFunction to copy * the function from the DEVELOPMENT stage to LIVE. When it’s live, you can attach the * function to a distribution’s cache behavior, using the function’s ARN. *

* * @param createFunctionRequest * @return Result of the CreateFunction operation returned by the service. * @throws TooManyFunctionsException * You have reached the maximum number of CloudFront functions for this Amazon Web Services account. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws FunctionAlreadyExistsException * A function with the same name already exists in this Amazon Web Services account. To create a function, * you must provide a unique name. To update an existing function, use UpdateFunction. * @throws FunctionSizeLimitExceededException * The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidArgumentException * An argument is invalid. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.CreateFunction * @see AWS API * Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateFunctionRequestMarshaller().marshall(super.beforeMarshalling(createFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateFunctionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a new invalidation. *

* * @param createInvalidationRequest * The request to create an invalidation. * @return Result of the CreateInvalidation operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws BatchTooLargeException * Invalidation batch specified is too large. * @throws TooManyInvalidationsInProgressException * You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation * objects. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.CreateInvalidation * @see AWS * API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateInvalidationRequestMarshaller().marshall(super.beforeMarshalling(createInvalidationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateInvalidation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateInvalidationResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a key group that you can use with CloudFront signed * URLs and signed cookies. *

*

* To create a key group, you must specify at least one public key for the key group. After you create a key group, * you can reference it from one or more cache behaviors. When you reference a key group in a cache behavior, * CloudFront requires signed URLs or signed cookies for all requests that match the cache behavior. The URLs or * cookies must be signed with a private key whose corresponding public key is in the key group. The signed URL or * cookie contains information about which public key CloudFront should use to verify the signature. For more * information, see Serving private * content in the Amazon CloudFront Developer Guide. *

* * @param createKeyGroupRequest * @return Result of the CreateKeyGroup operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws KeyGroupAlreadyExistsException * A key group with this name already exists. You must provide a unique name. To modify an existing key * group, use UpdateKeyGroup. * @throws TooManyKeyGroupsException * You have reached the maximum number of key groups for this Amazon Web Services account. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyPublicKeysInKeyGroupException * The number of public keys in this key group is more than the maximum allowed. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.CreateKeyGroup * @see AWS API * Documentation */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateKeyGroupRequestMarshaller().marshall(super.beforeMarshalling(createKeyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateKeyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateKeyGroupResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Enables additional CloudWatch metrics for the specified CloudFront distribution. The additional metrics incur an * additional cost. *

*

* For more information, see Viewing additional CloudFront distribution metrics in the Amazon CloudFront Developer Guide. *

* * @param createMonitoringSubscriptionRequest * @return Result of the CreateMonitoringSubscription operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws MonitoringSubscriptionAlreadyExistsException * A monitoring subscription already exists for the specified distribution. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.CreateMonitoringSubscription * @see AWS API Documentation */ @Override public CreateMonitoringSubscriptionResult createMonitoringSubscription(CreateMonitoringSubscriptionRequest request) { request = beforeClientExecution(request); return executeCreateMonitoringSubscription(request); } @SdkInternalApi final CreateMonitoringSubscriptionResult executeCreateMonitoringSubscription(CreateMonitoringSubscriptionRequest createMonitoringSubscriptionRequest) { ExecutionContext executionContext = createExecutionContext(createMonitoringSubscriptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateMonitoringSubscriptionRequestMarshaller().marshall(super.beforeMarshalling(createMonitoringSubscriptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateMonitoringSubscription"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateMonitoringSubscriptionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

*

* For an Amazon S3 origin, this makes it possible to block public access to the Amazon S3 bucket so that viewers * (users) can access the content in the bucket only through CloudFront. *

*

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

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

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.CreateOriginAccessControl * @see AWS API Documentation */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateOriginAccessControlRequestMarshaller().marshall(super.beforeMarshalling(createOriginAccessControlRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateOriginAccessControl"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateOriginAccessControlResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates an origin request policy. *

*

* After you create an origin request policy, you can attach it to one or more cache behaviors. When it’s attached * to a cache behavior, the origin request policy determines the values that CloudFront includes in requests that it * sends to the origin. Each request that CloudFront sends to the origin includes the following: *

*
    *
  • *

    * The request body and the URL path (without the domain name) from the viewer request. *

    *
  • *
  • *

    * The headers that CloudFront automatically includes in every origin request, including Host, * User-Agent, and X-Amz-Cf-Id. *

    *
  • *
  • *

    * All HTTP headers, cookies, and URL query strings that are specified in the cache policy or the origin request * policy. These can include items from the viewer request and, in the case of headers, additional ones that are * added by CloudFront. *

    *
  • *
*

* CloudFront sends a request when it can’t find a valid object in its cache that matches the request. If you want * to send values to the origin and also include them in the cache key, use CachePolicy. *

*

* For more information about origin request policies, see Controlling origin requests in the Amazon CloudFront Developer Guide. *

* * @param createOriginRequestPolicyRequest * @return Result of the CreateOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws OriginRequestPolicyAlreadyExistsException * An origin request policy with this name already exists. You must provide a unique name. To modify an * existing origin request policy, use UpdateOriginRequestPolicy. * @throws TooManyOriginRequestPoliciesException * You have reached the maximum number of origin request policies for this Amazon Web Services account. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyHeadersInOriginRequestPolicyException * The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCookiesInOriginRequestPolicyException * The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyQueryStringsInOriginRequestPolicyException * The number of query strings in the origin request policy exceeds the maximum. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.CreateOriginRequestPolicy * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateOriginRequestPolicyRequestMarshaller().marshall(super.beforeMarshalling(createOriginRequestPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateOriginRequestPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateOriginRequestPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Uploads a public key to CloudFront that you can use with signed URLs and * signed cookies, or with field-level * encryption. *

* * @param createPublicKeyRequest * @return Result of the CreatePublicKey operation returned by the service. * @throws PublicKeyAlreadyExistsException * The specified public key already exists. * @throws InvalidArgumentException * An argument is invalid. * @throws TooManyPublicKeysException * The maximum number of public keys for field-level encryption have been created. To create a new public * key, delete one of the existing keys. * @sample AmazonCloudFront.CreatePublicKey * @see AWS API * Documentation */ @Override public CreatePublicKeyResult createPublicKey(CreatePublicKeyRequest request) { request = beforeClientExecution(request); return executeCreatePublicKey(request); } @SdkInternalApi final CreatePublicKeyResult executeCreatePublicKey(CreatePublicKeyRequest createPublicKeyRequest) { ExecutionContext executionContext = createExecutionContext(createPublicKeyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePublicKeyRequestMarshaller().marshall(super.beforeMarshalling(createPublicKeyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreatePublicKey"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreatePublicKeyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a real-time log configuration. *

*

* After you create a real-time log configuration, you can attach it to one or more cache behaviors to send * real-time log data to the specified Amazon Kinesis data stream. *

*

* For more information about real-time log configurations, see Real-time logs * in the Amazon CloudFront Developer Guide. *

* * @param createRealtimeLogConfigRequest * @return Result of the CreateRealtimeLogConfig operation returned by the service. * @throws RealtimeLogConfigAlreadyExistsException * A real-time log configuration with this name already exists. You must provide a unique name. To modify an * existing real-time log configuration, use UpdateRealtimeLogConfig. * @throws TooManyRealtimeLogConfigsException * You have reached the maximum number of real-time log configurations for this Amazon Web Services account. * For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.CreateRealtimeLogConfig * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateRealtimeLogConfigRequestMarshaller().marshall(super.beforeMarshalling(createRealtimeLogConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRealtimeLogConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateRealtimeLogConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a response headers policy. *

*

* A response headers policy contains information about a set of HTTP response headers and their values. To create a * response headers policy, you provide some metadata about the policy, and a set of configurations that specify the * response 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, CloudFront adds the headers in the policy to * HTTP responses that it sends for requests that match the cache behavior. *

* * @param createResponseHeadersPolicyRequest * @return Result of the CreateResponseHeadersPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws ResponseHeadersPolicyAlreadyExistsException * A response headers policy with this name already exists. You must provide a unique name. To modify an * existing response headers policy, use UpdateResponseHeadersPolicy. * @throws TooManyResponseHeadersPoliciesException * You have reached the maximum number of response headers policies for this Amazon Web Services * account.

*

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

*

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

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateResponseHeadersPolicyRequestMarshaller().marshall(super.beforeMarshalling(createResponseHeadersPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateResponseHeadersPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateResponseHeadersPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on * December 31, 2020. For more information, read the * announcement on the Amazon CloudFront discussion forum. *

* * @param createStreamingDistributionRequest * The request to create a new streaming distribution. * @return Result of the CreateStreamingDistribution operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws StreamingDistributionAlreadyExistsException * The caller reference you attempted to create the streaming distribution with is associated with another * distribution * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws InvalidOriginAccessControlException * The origin access control is not valid. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyStreamingDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyStreamingDistributionsException * Processing your request would cause you to exceed the maximum number of streaming distributions allowed. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.CreateStreamingDistribution * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateStreamingDistributionRequestMarshaller().marshall(super.beforeMarshalling(createStreamingDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateStreamingDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateStreamingDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This API is deprecated. Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on * December 31, 2020. For more information, read the * announcement on the Amazon CloudFront discussion forum. *

* * @param createStreamingDistributionWithTagsRequest * The request to create a new streaming distribution with tags. * @return Result of the CreateStreamingDistributionWithTags operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws StreamingDistributionAlreadyExistsException * The caller reference you attempted to create the streaming distribution with is associated with another * distribution * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws InvalidOriginAccessControlException * The origin access control is not valid. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyStreamingDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyStreamingDistributionsException * Processing your request would cause you to exceed the maximum number of streaming distributions allowed. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidTaggingException * The tagging specified is not valid. * @sample AmazonCloudFront.CreateStreamingDistributionWithTags * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateStreamingDistributionWithTagsRequestMarshaller().marshall(super .beforeMarshalling(createStreamingDistributionWithTagsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateStreamingDistributionWithTags"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new CreateStreamingDistributionWithTagsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a cache policy. *

*

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

*

* To delete a cache policy, you must provide the policy’s identifier and version. To get these values, you can use * ListCachePolicies or GetCachePolicy. *

* * @param deleteCachePolicyRequest * @return Result of the DeleteCachePolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws IllegalDeleteException * You cannot delete a managed policy. * @throws CachePolicyInUseException * Cannot delete the cache policy because it is attached to one or more cache behaviors. * @sample AmazonCloudFront.DeleteCachePolicy * @see AWS * API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteCachePolicyRequestMarshaller().marshall(super.beforeMarshalling(deleteCachePolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteCachePolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteCachePolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete an origin access identity. *

* * @param deleteCloudFrontOriginAccessIdentityRequest * Deletes a origin access identity. * @return Result of the DeleteCloudFrontOriginAccessIdentity operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws CloudFrontOriginAccessIdentityInUseException * The Origin Access Identity specified is already in use. * @sample AmazonCloudFront.DeleteCloudFrontOriginAccessIdentity * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteCloudFrontOriginAccessIdentityRequestMarshaller().marshall(super .beforeMarshalling(deleteCloudFrontOriginAccessIdentityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteCloudFrontOriginAccessIdentity"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteCloudFrontOriginAccessIdentityResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a continuous deployment policy. *

*

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

* * @param deleteContinuousDeploymentPolicyRequest * @return Result of the DeleteContinuousDeploymentPolicy operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteContinuousDeploymentPolicyRequestMarshaller().marshall(super.beforeMarshalling(deleteContinuousDeploymentPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteContinuousDeploymentPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteContinuousDeploymentPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete a distribution. *

* * @param deleteDistributionRequest * This action deletes a web distribution. To delete a web distribution using the CloudFront API, perform the * following steps.

*

* To delete a web distribution using the CloudFront API: *

*
    *
  1. *

    * Disable the web distribution *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
  7. *

    * Submit a PUT Distribution Config request to update the configuration for your distribution. * In the request body, include the XML document that you updated in Step 3. Set the value of the HTTP * If-Match header to the value of the ETag header that CloudFront returned when * you submitted the GET Distribution Config request in Step 2. *

    *
  8. *
  9. *

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

    *
  10. *
  11. *

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

    *
  12. *
  13. *

    * Submit a DELETE Distribution request. Set the value of the HTTP If-Match header * to the value of the ETag header that CloudFront returned when you submitted the * GET Distribution Config request in Step 6. *

    *
  14. *
  15. *

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

    *
  16. *
*

* For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide. * @return Result of the DeleteDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws DistributionNotDisabledException * The specified CloudFront distribution is not disabled. You must disable the distribution before you can * delete it. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.DeleteDistribution * @see AWS * API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteDistributionRequestMarshaller().marshall(super.beforeMarshalling(deleteDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Remove a field-level encryption configuration. *

* * @param deleteFieldLevelEncryptionConfigRequest * @return Result of the DeleteFieldLevelEncryptionConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FieldLevelEncryptionConfigInUseException * The specified configuration for field-level encryption is in use. * @sample AmazonCloudFront.DeleteFieldLevelEncryptionConfig * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteFieldLevelEncryptionConfigRequestMarshaller().marshall(super.beforeMarshalling(deleteFieldLevelEncryptionConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFieldLevelEncryptionConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteFieldLevelEncryptionConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Remove a field-level encryption profile. *

* * @param deleteFieldLevelEncryptionProfileRequest * @return Result of the DeleteFieldLevelEncryptionProfile operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FieldLevelEncryptionProfileInUseException * The specified profile for field-level encryption is in use. * @sample AmazonCloudFront.DeleteFieldLevelEncryptionProfile * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteFieldLevelEncryptionProfileRequestMarshaller().marshall(super.beforeMarshalling(deleteFieldLevelEncryptionProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFieldLevelEncryptionProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteFieldLevelEncryptionProfileResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a CloudFront function. *

*

* You cannot delete a function if it’s associated with a cache behavior. First, update your distributions to remove * the function association from all cache behaviors, then delete the function. *

*

* To delete a function, you must provide the function’s name and version (ETag value). To get these * values, you can use ListFunctions and DescribeFunction. *

* * @param deleteFunctionRequest * @return Result of the DeleteFunction operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws FunctionInUseException * Cannot delete the function because it’s attached to one or more cache behaviors. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.DeleteFunction * @see AWS API * Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteFunctionRequestMarshaller().marshall(super.beforeMarshalling(deleteFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteFunctionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a key group. *

*

* You cannot delete a key group that is referenced in a cache behavior. First update your distributions to remove * the key group from all cache behaviors, then delete the key group. *

*

* To delete a key group, you must provide the key group’s identifier and version. To get these values, use * ListKeyGroups followed by GetKeyGroup or GetKeyGroupConfig. *

* * @param deleteKeyGroupRequest * @return Result of the DeleteKeyGroup operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws ResourceInUseException * Cannot delete this resource because it is in use. * @sample AmazonCloudFront.DeleteKeyGroup * @see AWS API * Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteKeyGroupRequestMarshaller().marshall(super.beforeMarshalling(deleteKeyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteKeyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteKeyGroupResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Disables additional CloudWatch metrics for the specified CloudFront distribution. *

* * @param deleteMonitoringSubscriptionRequest * @return Result of the DeleteMonitoringSubscription operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws NoSuchMonitoringSubscriptionException * A monitoring subscription does not exist for the specified distribution. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.DeleteMonitoringSubscription * @see AWS API Documentation */ @Override public DeleteMonitoringSubscriptionResult deleteMonitoringSubscription(DeleteMonitoringSubscriptionRequest request) { request = beforeClientExecution(request); return executeDeleteMonitoringSubscription(request); } @SdkInternalApi final DeleteMonitoringSubscriptionResult executeDeleteMonitoringSubscription(DeleteMonitoringSubscriptionRequest deleteMonitoringSubscriptionRequest) { ExecutionContext executionContext = createExecutionContext(deleteMonitoringSubscriptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteMonitoringSubscriptionRequestMarshaller().marshall(super.beforeMarshalling(deleteMonitoringSubscriptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteMonitoringSubscription"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteMonitoringSubscriptionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a CloudFront origin access control. *

*

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

* * @param deleteOriginAccessControlRequest * @return Result of the DeleteOriginAccessControl operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws OriginAccessControlInUseException * Cannot delete the origin access control because it's in use by one or more distributions. * @sample AmazonCloudFront.DeleteOriginAccessControl * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteOriginAccessControlRequestMarshaller().marshall(super.beforeMarshalling(deleteOriginAccessControlRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteOriginAccessControl"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteOriginAccessControlResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes an origin request policy. *

*

* You cannot delete an origin request policy if it’s attached to any cache behaviors. First update your * distributions to remove the origin request policy from all cache behaviors, then delete the origin request * policy. *

*

* To delete an origin request policy, you must provide the policy’s identifier and version. To get the identifier, * you can use ListOriginRequestPolicies or GetOriginRequestPolicy. *

* * @param deleteOriginRequestPolicyRequest * @return Result of the DeleteOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws IllegalDeleteException * You cannot delete a managed policy. * @throws OriginRequestPolicyInUseException * Cannot delete the origin request policy because it is attached to one or more cache behaviors. * @sample AmazonCloudFront.DeleteOriginRequestPolicy * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteOriginRequestPolicyRequestMarshaller().marshall(super.beforeMarshalling(deleteOriginRequestPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteOriginRequestPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteOriginRequestPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Remove a public key you previously added to CloudFront. *

* * @param deletePublicKeyRequest * @return Result of the DeletePublicKey operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws PublicKeyInUseException * The specified public key is in use. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.DeletePublicKey * @see AWS API * Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeletePublicKeyRequestMarshaller().marshall(super.beforeMarshalling(deletePublicKeyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeletePublicKey"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeletePublicKeyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a real-time log configuration. *

*

* You cannot delete a real-time log configuration if it’s attached to a cache behavior. First update your * distributions to remove the real-time log configuration from all cache behaviors, then delete the real-time log * configuration. *

*

* To delete a real-time log configuration, you can provide the configuration’s name or its Amazon Resource Name * (ARN). You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log * configuration to delete. *

* * @param deleteRealtimeLogConfigRequest * @return Result of the DeleteRealtimeLogConfig operation returned by the service. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws RealtimeLogConfigInUseException * Cannot delete the real-time log configuration because it is attached to one or more cache behaviors. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.DeleteRealtimeLogConfig * @see AWS API Documentation */ @Override public DeleteRealtimeLogConfigResult deleteRealtimeLogConfig(DeleteRealtimeLogConfigRequest request) { request = beforeClientExecution(request); return executeDeleteRealtimeLogConfig(request); } @SdkInternalApi final DeleteRealtimeLogConfigResult executeDeleteRealtimeLogConfig(DeleteRealtimeLogConfigRequest deleteRealtimeLogConfigRequest) { ExecutionContext executionContext = createExecutionContext(deleteRealtimeLogConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteRealtimeLogConfigRequestMarshaller().marshall(super.beforeMarshalling(deleteRealtimeLogConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRealtimeLogConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteRealtimeLogConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a response headers policy. *

*

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

*

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

* * @param deleteResponseHeadersPolicyRequest * @return Result of the DeleteResponseHeadersPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws IllegalDeleteException * You cannot delete a managed policy. * @throws ResponseHeadersPolicyInUseException * Cannot delete the response headers policy because it is attached to one or more cache behaviors in a * CloudFront distribution. * @sample AmazonCloudFront.DeleteResponseHeadersPolicy * @see AWS API Documentation */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteResponseHeadersPolicyRequestMarshaller().marshall(super.beforeMarshalling(deleteResponseHeadersPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteResponseHeadersPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteResponseHeadersPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

*

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

*
    *
  1. *

    * Disable the RTMP distribution. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
  7. *

    * Submit a PUT Streaming Distribution Config request to update the configuration for your * distribution. In the request body, include the XML document that you updated in Step 3. Then set the value of the * HTTP If-Match header to the value of the ETag header that CloudFront returned when you * submitted the GET Streaming Distribution Config request in Step 2. *

    *
  8. *
  9. *

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

    *
  10. *
  11. *

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

    *
  12. *
  13. *

    * Submit a DELETE Streaming Distribution request. Set the value of the HTTP If-Match * header to the value of the ETag header that CloudFront returned when you submitted the * GET Streaming Distribution Config request in Step 2. *

    *
  14. *
  15. *

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

    *
  16. *
*

* For information about deleting a distribution using the CloudFront console, see Deleting a * Distribution in the Amazon CloudFront Developer Guide. *

* * @param deleteStreamingDistributionRequest * The request to delete a streaming distribution. * @return Result of the DeleteStreamingDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws StreamingDistributionNotDisabledException * The specified CloudFront distribution is not disabled. You must disable the distribution before you can * delete it. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.DeleteStreamingDistribution * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteStreamingDistributionRequestMarshaller().marshall(super.beforeMarshalling(deleteStreamingDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteStreamingDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DeleteStreamingDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets configuration information and metadata about a CloudFront function, but not the function’s code. To get a * function’s code, use GetFunction. *

*

* To get configuration information and metadata about a function, you must provide the function’s name and stage. * To get these values, you can use ListFunctions. *

* * @param describeFunctionRequest * @return Result of the DescribeFunction operation returned by the service. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.DescribeFunction * @see AWS * API Documentation */ @Override public DescribeFunctionResult describeFunction(DescribeFunctionRequest request) { request = beforeClientExecution(request); return executeDescribeFunction(request); } @SdkInternalApi final DescribeFunctionResult executeDescribeFunction(DescribeFunctionRequest describeFunctionRequest) { ExecutionContext executionContext = createExecutionContext(describeFunctionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeFunctionRequestMarshaller().marshall(super.beforeMarshalling(describeFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new DescribeFunctionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a cache policy, including the following metadata: *

*
    *
  • *

    * The policy’s identifier. *

    *
  • *
  • *

    * The date and time when the policy was last modified. *

    *
  • *
*

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

* * @param getCachePolicyRequest * @return Result of the GetCachePolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @sample AmazonCloudFront.GetCachePolicy * @see AWS API * Documentation */ @Override public GetCachePolicyResult getCachePolicy(GetCachePolicyRequest request) { request = beforeClientExecution(request); return executeGetCachePolicy(request); } @SdkInternalApi final GetCachePolicyResult executeGetCachePolicy(GetCachePolicyRequest getCachePolicyRequest) { ExecutionContext executionContext = createExecutionContext(getCachePolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetCachePolicyRequestMarshaller().marshall(super.beforeMarshalling(getCachePolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCachePolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetCachePolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a cache policy configuration. *

*

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

* * @param getCachePolicyConfigRequest * @return Result of the GetCachePolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @sample AmazonCloudFront.GetCachePolicyConfig * @see AWS API Documentation */ @Override public GetCachePolicyConfigResult getCachePolicyConfig(GetCachePolicyConfigRequest request) { request = beforeClientExecution(request); return executeGetCachePolicyConfig(request); } @SdkInternalApi final GetCachePolicyConfigResult executeGetCachePolicyConfig(GetCachePolicyConfigRequest getCachePolicyConfigRequest) { ExecutionContext executionContext = createExecutionContext(getCachePolicyConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetCachePolicyConfigRequestMarshaller().marshall(super.beforeMarshalling(getCachePolicyConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCachePolicyConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetCachePolicyConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the information about an origin access identity. *

* * @param getCloudFrontOriginAccessIdentityRequest * The request to get an origin access identity's information. * @return Result of the GetCloudFrontOriginAccessIdentity operation returned by the service. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetCloudFrontOriginAccessIdentity * @see AWS API Documentation */ @Override public GetCloudFrontOriginAccessIdentityResult getCloudFrontOriginAccessIdentity(GetCloudFrontOriginAccessIdentityRequest request) { request = beforeClientExecution(request); return executeGetCloudFrontOriginAccessIdentity(request); } @SdkInternalApi final GetCloudFrontOriginAccessIdentityResult executeGetCloudFrontOriginAccessIdentity( GetCloudFrontOriginAccessIdentityRequest getCloudFrontOriginAccessIdentityRequest) { ExecutionContext executionContext = createExecutionContext(getCloudFrontOriginAccessIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetCloudFrontOriginAccessIdentityRequestMarshaller().marshall(super.beforeMarshalling(getCloudFrontOriginAccessIdentityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCloudFrontOriginAccessIdentity"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetCloudFrontOriginAccessIdentityResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the configuration information about an origin access identity. *

* * @param getCloudFrontOriginAccessIdentityConfigRequest * The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfig. * @return Result of the GetCloudFrontOriginAccessIdentityConfig operation returned by the service. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetCloudFrontOriginAccessIdentityConfig * @see AWS API Documentation */ @Override public GetCloudFrontOriginAccessIdentityConfigResult getCloudFrontOriginAccessIdentityConfig(GetCloudFrontOriginAccessIdentityConfigRequest request) { request = beforeClientExecution(request); return executeGetCloudFrontOriginAccessIdentityConfig(request); } @SdkInternalApi final GetCloudFrontOriginAccessIdentityConfigResult executeGetCloudFrontOriginAccessIdentityConfig( GetCloudFrontOriginAccessIdentityConfigRequest getCloudFrontOriginAccessIdentityConfigRequest) { ExecutionContext executionContext = createExecutionContext(getCloudFrontOriginAccessIdentityConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetCloudFrontOriginAccessIdentityConfigRequestMarshaller().marshall(super .beforeMarshalling(getCloudFrontOriginAccessIdentityConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCloudFrontOriginAccessIdentityConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetCloudFrontOriginAccessIdentityConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* * @param getContinuousDeploymentPolicyRequest * @return Result of the GetContinuousDeploymentPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetContinuousDeploymentPolicy * @see AWS API Documentation */ @Override public GetContinuousDeploymentPolicyResult getContinuousDeploymentPolicy(GetContinuousDeploymentPolicyRequest request) { request = beforeClientExecution(request); return executeGetContinuousDeploymentPolicy(request); } @SdkInternalApi final GetContinuousDeploymentPolicyResult executeGetContinuousDeploymentPolicy(GetContinuousDeploymentPolicyRequest getContinuousDeploymentPolicyRequest) { ExecutionContext executionContext = createExecutionContext(getContinuousDeploymentPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetContinuousDeploymentPolicyRequestMarshaller().marshall(super.beforeMarshalling(getContinuousDeploymentPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetContinuousDeploymentPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetContinuousDeploymentPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets configuration information about a continuous deployment policy. *

* * @param getContinuousDeploymentPolicyConfigRequest * @return Result of the GetContinuousDeploymentPolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetContinuousDeploymentPolicyConfig * @see AWS API Documentation */ @Override public GetContinuousDeploymentPolicyConfigResult getContinuousDeploymentPolicyConfig(GetContinuousDeploymentPolicyConfigRequest request) { request = beforeClientExecution(request); return executeGetContinuousDeploymentPolicyConfig(request); } @SdkInternalApi final GetContinuousDeploymentPolicyConfigResult executeGetContinuousDeploymentPolicyConfig( GetContinuousDeploymentPolicyConfigRequest getContinuousDeploymentPolicyConfigRequest) { ExecutionContext executionContext = createExecutionContext(getContinuousDeploymentPolicyConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetContinuousDeploymentPolicyConfigRequestMarshaller().marshall(super .beforeMarshalling(getContinuousDeploymentPolicyConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetContinuousDeploymentPolicyConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetContinuousDeploymentPolicyConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the information about a distribution. *

* * @param getDistributionRequest * The request to get a distribution's information. * @return Result of the GetDistribution operation returned by the service. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetDistribution * @see AWS API * Documentation */ @Override public GetDistributionResult getDistribution(GetDistributionRequest request) { request = beforeClientExecution(request); return executeGetDistribution(request); } @SdkInternalApi final GetDistributionResult executeGetDistribution(GetDistributionRequest getDistributionRequest) { ExecutionContext executionContext = createExecutionContext(getDistributionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetDistributionRequestMarshaller().marshall(super.beforeMarshalling(getDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the configuration information about a distribution. *

* * @param getDistributionConfigRequest * The request to get a distribution configuration. * @return Result of the GetDistributionConfig operation returned by the service. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetDistributionConfig * @see AWS API Documentation */ @Override public GetDistributionConfigResult getDistributionConfig(GetDistributionConfigRequest request) { request = beforeClientExecution(request); return executeGetDistributionConfig(request); } @SdkInternalApi final GetDistributionConfigResult executeGetDistributionConfig(GetDistributionConfigRequest getDistributionConfigRequest) { ExecutionContext executionContext = createExecutionContext(getDistributionConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetDistributionConfigRequestMarshaller().marshall(super.beforeMarshalling(getDistributionConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDistributionConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetDistributionConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the field-level encryption configuration information. *

* * @param getFieldLevelEncryptionRequest * @return Result of the GetFieldLevelEncryption operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryption * @see AWS API Documentation */ @Override public GetFieldLevelEncryptionResult getFieldLevelEncryption(GetFieldLevelEncryptionRequest request) { request = beforeClientExecution(request); return executeGetFieldLevelEncryption(request); } @SdkInternalApi final GetFieldLevelEncryptionResult executeGetFieldLevelEncryption(GetFieldLevelEncryptionRequest getFieldLevelEncryptionRequest) { ExecutionContext executionContext = createExecutionContext(getFieldLevelEncryptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetFieldLevelEncryptionRequestMarshaller().marshall(super.beforeMarshalling(getFieldLevelEncryptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFieldLevelEncryption"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetFieldLevelEncryptionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the field-level encryption configuration information. *

* * @param getFieldLevelEncryptionConfigRequest * @return Result of the GetFieldLevelEncryptionConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryptionConfig * @see AWS API Documentation */ @Override public GetFieldLevelEncryptionConfigResult getFieldLevelEncryptionConfig(GetFieldLevelEncryptionConfigRequest request) { request = beforeClientExecution(request); return executeGetFieldLevelEncryptionConfig(request); } @SdkInternalApi final GetFieldLevelEncryptionConfigResult executeGetFieldLevelEncryptionConfig(GetFieldLevelEncryptionConfigRequest getFieldLevelEncryptionConfigRequest) { ExecutionContext executionContext = createExecutionContext(getFieldLevelEncryptionConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetFieldLevelEncryptionConfigRequestMarshaller().marshall(super.beforeMarshalling(getFieldLevelEncryptionConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFieldLevelEncryptionConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetFieldLevelEncryptionConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the field-level encryption profile information. *

* * @param getFieldLevelEncryptionProfileRequest * @return Result of the GetFieldLevelEncryptionProfile operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryptionProfile * @see AWS API Documentation */ @Override public GetFieldLevelEncryptionProfileResult getFieldLevelEncryptionProfile(GetFieldLevelEncryptionProfileRequest request) { request = beforeClientExecution(request); return executeGetFieldLevelEncryptionProfile(request); } @SdkInternalApi final GetFieldLevelEncryptionProfileResult executeGetFieldLevelEncryptionProfile(GetFieldLevelEncryptionProfileRequest getFieldLevelEncryptionProfileRequest) { ExecutionContext executionContext = createExecutionContext(getFieldLevelEncryptionProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetFieldLevelEncryptionProfileRequestMarshaller().marshall(super.beforeMarshalling(getFieldLevelEncryptionProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFieldLevelEncryptionProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetFieldLevelEncryptionProfileResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the field-level encryption profile configuration information. *

* * @param getFieldLevelEncryptionProfileConfigRequest * @return Result of the GetFieldLevelEncryptionProfileConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryptionProfileConfig * @see AWS API Documentation */ @Override public GetFieldLevelEncryptionProfileConfigResult getFieldLevelEncryptionProfileConfig(GetFieldLevelEncryptionProfileConfigRequest request) { request = beforeClientExecution(request); return executeGetFieldLevelEncryptionProfileConfig(request); } @SdkInternalApi final GetFieldLevelEncryptionProfileConfigResult executeGetFieldLevelEncryptionProfileConfig( GetFieldLevelEncryptionProfileConfigRequest getFieldLevelEncryptionProfileConfigRequest) { ExecutionContext executionContext = createExecutionContext(getFieldLevelEncryptionProfileConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetFieldLevelEncryptionProfileConfigRequestMarshaller().marshall(super .beforeMarshalling(getFieldLevelEncryptionProfileConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFieldLevelEncryptionProfileConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetFieldLevelEncryptionProfileConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets the code of a CloudFront function. To get configuration information and metadata about a function, use * DescribeFunction. *

*

* To get a function’s code, you must provide the function’s name and stage. To get these values, you can use * ListFunctions. *

* * @param getFunctionRequest * @return Result of the GetFunction operation returned by the service. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.GetFunction * @see AWS API * Documentation */ @Override public GetFunctionResult getFunction(GetFunctionRequest request) { request = beforeClientExecution(request); return executeGetFunction(request); } @SdkInternalApi final GetFunctionResult executeGetFunction(GetFunctionRequest getFunctionRequest) { ExecutionContext executionContext = createExecutionContext(getFunctionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetFunctionRequestMarshaller().marshall(super.beforeMarshalling(getFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new GetFunctionResultStaxUnmarshaller(), false, false); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the information about an invalidation. *

* * @param getInvalidationRequest * The request to get an invalidation's information. * @return Result of the GetInvalidation operation returned by the service. * @throws NoSuchInvalidationException * The specified invalidation does not exist. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetInvalidation * @see AWS API * Documentation */ @Override public GetInvalidationResult getInvalidation(GetInvalidationRequest request) { request = beforeClientExecution(request); return executeGetInvalidation(request); } @SdkInternalApi final GetInvalidationResult executeGetInvalidation(GetInvalidationRequest getInvalidationRequest) { ExecutionContext executionContext = createExecutionContext(getInvalidationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetInvalidationRequestMarshaller().marshall(super.beforeMarshalling(getInvalidationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetInvalidation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetInvalidationResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a key group, including the date and time when the key group was last modified. *

*

* To get a key group, you must provide the key group’s identifier. If the key group is referenced in a * distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or * GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier * using ListKeyGroups. *

* * @param getKeyGroupRequest * @return Result of the GetKeyGroup operation returned by the service. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.GetKeyGroup * @see AWS API * Documentation */ @Override public GetKeyGroupResult getKeyGroup(GetKeyGroupRequest request) { request = beforeClientExecution(request); return executeGetKeyGroup(request); } @SdkInternalApi final GetKeyGroupResult executeGetKeyGroup(GetKeyGroupRequest getKeyGroupRequest) { ExecutionContext executionContext = createExecutionContext(getKeyGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetKeyGroupRequestMarshaller().marshall(super.beforeMarshalling(getKeyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetKeyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new GetKeyGroupResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a key group configuration. *

*

* To get a key group configuration, you must provide the key group’s identifier. If the key group is referenced in * a distribution’s cache behavior, you can get the key group’s identifier using ListDistributions or * GetDistribution. If the key group is not referenced in a cache behavior, you can get the identifier * using ListKeyGroups. *

* * @param getKeyGroupConfigRequest * @return Result of the GetKeyGroupConfig operation returned by the service. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.GetKeyGroupConfig * @see AWS * API Documentation */ @Override public GetKeyGroupConfigResult getKeyGroupConfig(GetKeyGroupConfigRequest request) { request = beforeClientExecution(request); return executeGetKeyGroupConfig(request); } @SdkInternalApi final GetKeyGroupConfigResult executeGetKeyGroupConfig(GetKeyGroupConfigRequest getKeyGroupConfigRequest) { ExecutionContext executionContext = createExecutionContext(getKeyGroupConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetKeyGroupConfigRequestMarshaller().marshall(super.beforeMarshalling(getKeyGroupConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetKeyGroupConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetKeyGroupConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets information about whether additional CloudWatch metrics are enabled for the specified CloudFront * distribution. *

* * @param getMonitoringSubscriptionRequest * @return Result of the GetMonitoringSubscription operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws NoSuchMonitoringSubscriptionException * A monitoring subscription does not exist for the specified distribution. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.GetMonitoringSubscription * @see AWS API Documentation */ @Override public GetMonitoringSubscriptionResult getMonitoringSubscription(GetMonitoringSubscriptionRequest request) { request = beforeClientExecution(request); return executeGetMonitoringSubscription(request); } @SdkInternalApi final GetMonitoringSubscriptionResult executeGetMonitoringSubscription(GetMonitoringSubscriptionRequest getMonitoringSubscriptionRequest) { ExecutionContext executionContext = createExecutionContext(getMonitoringSubscriptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetMonitoringSubscriptionRequestMarshaller().marshall(super.beforeMarshalling(getMonitoringSubscriptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetMonitoringSubscription"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetMonitoringSubscriptionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

* * @param getOriginAccessControlRequest * @return Result of the GetOriginAccessControl operation returned by the service. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetOriginAccessControl * @see AWS API Documentation */ @Override public GetOriginAccessControlResult getOriginAccessControl(GetOriginAccessControlRequest request) { request = beforeClientExecution(request); return executeGetOriginAccessControl(request); } @SdkInternalApi final GetOriginAccessControlResult executeGetOriginAccessControl(GetOriginAccessControlRequest getOriginAccessControlRequest) { ExecutionContext executionContext = createExecutionContext(getOriginAccessControlRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetOriginAccessControlRequestMarshaller().marshall(super.beforeMarshalling(getOriginAccessControlRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetOriginAccessControl"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetOriginAccessControlResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a CloudFront origin access control configuration. *

* * @param getOriginAccessControlConfigRequest * @return Result of the GetOriginAccessControlConfig operation returned by the service. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetOriginAccessControlConfig * @see AWS API Documentation */ @Override public GetOriginAccessControlConfigResult getOriginAccessControlConfig(GetOriginAccessControlConfigRequest request) { request = beforeClientExecution(request); return executeGetOriginAccessControlConfig(request); } @SdkInternalApi final GetOriginAccessControlConfigResult executeGetOriginAccessControlConfig(GetOriginAccessControlConfigRequest getOriginAccessControlConfigRequest) { ExecutionContext executionContext = createExecutionContext(getOriginAccessControlConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetOriginAccessControlConfigRequestMarshaller().marshall(super.beforeMarshalling(getOriginAccessControlConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetOriginAccessControlConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetOriginAccessControlConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets an origin request policy, including the following metadata: *

*
    *
  • *

    * The policy’s identifier. *

    *
  • *
  • *

    * The date and time when the policy was last modified. *

    *
  • *
*

* To get an origin request policy, you must provide the policy’s identifier. If the origin request policy is * attached to a distribution’s cache behavior, you can get the policy’s identifier using * ListDistributions or GetDistribution. If the origin request policy is not attached to a * cache behavior, you can get the identifier using ListOriginRequestPolicies. *

* * @param getOriginRequestPolicyRequest * @return Result of the GetOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @sample AmazonCloudFront.GetOriginRequestPolicy * @see AWS API Documentation */ @Override public GetOriginRequestPolicyResult getOriginRequestPolicy(GetOriginRequestPolicyRequest request) { request = beforeClientExecution(request); return executeGetOriginRequestPolicy(request); } @SdkInternalApi final GetOriginRequestPolicyResult executeGetOriginRequestPolicy(GetOriginRequestPolicyRequest getOriginRequestPolicyRequest) { ExecutionContext executionContext = createExecutionContext(getOriginRequestPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetOriginRequestPolicyRequestMarshaller().marshall(super.beforeMarshalling(getOriginRequestPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetOriginRequestPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetOriginRequestPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets an origin request policy configuration. *

*

* To get an origin request policy configuration, you must provide the policy’s identifier. If the origin request * policy is attached to a distribution’s cache behavior, you can get the policy’s identifier using * ListDistributions or GetDistribution. If the origin request policy is not attached to a * cache behavior, you can get the identifier using ListOriginRequestPolicies. *

* * @param getOriginRequestPolicyConfigRequest * @return Result of the GetOriginRequestPolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @sample AmazonCloudFront.GetOriginRequestPolicyConfig * @see AWS API Documentation */ @Override public GetOriginRequestPolicyConfigResult getOriginRequestPolicyConfig(GetOriginRequestPolicyConfigRequest request) { request = beforeClientExecution(request); return executeGetOriginRequestPolicyConfig(request); } @SdkInternalApi final GetOriginRequestPolicyConfigResult executeGetOriginRequestPolicyConfig(GetOriginRequestPolicyConfigRequest getOriginRequestPolicyConfigRequest) { ExecutionContext executionContext = createExecutionContext(getOriginRequestPolicyConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetOriginRequestPolicyConfigRequestMarshaller().marshall(super.beforeMarshalling(getOriginRequestPolicyConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetOriginRequestPolicyConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetOriginRequestPolicyConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a public key. *

* * @param getPublicKeyRequest * @return Result of the GetPublicKey operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @sample AmazonCloudFront.GetPublicKey * @see AWS API * Documentation */ @Override public GetPublicKeyResult getPublicKey(GetPublicKeyRequest request) { request = beforeClientExecution(request); return executeGetPublicKey(request); } @SdkInternalApi final GetPublicKeyResult executeGetPublicKey(GetPublicKeyRequest getPublicKeyRequest) { ExecutionContext executionContext = createExecutionContext(getPublicKeyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetPublicKeyRequestMarshaller().marshall(super.beforeMarshalling(getPublicKeyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetPublicKey"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new GetPublicKeyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a public key configuration. *

* * @param getPublicKeyConfigRequest * @return Result of the GetPublicKeyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @sample AmazonCloudFront.GetPublicKeyConfig * @see AWS * API Documentation */ @Override public GetPublicKeyConfigResult getPublicKeyConfig(GetPublicKeyConfigRequest request) { request = beforeClientExecution(request); return executeGetPublicKeyConfig(request); } @SdkInternalApi final GetPublicKeyConfigResult executeGetPublicKeyConfig(GetPublicKeyConfigRequest getPublicKeyConfigRequest) { ExecutionContext executionContext = createExecutionContext(getPublicKeyConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetPublicKeyConfigRequestMarshaller().marshall(super.beforeMarshalling(getPublicKeyConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetPublicKeyConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetPublicKeyConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a real-time log configuration. *

*

* To get a real-time log configuration, you can provide the configuration’s name or its Amazon Resource Name (ARN). * You must provide at least one. If you provide both, CloudFront uses the name to identify the real-time log * configuration to get. *

* * @param getRealtimeLogConfigRequest * @return Result of the GetRealtimeLogConfig operation returned by the service. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetRealtimeLogConfig * @see AWS API Documentation */ @Override public GetRealtimeLogConfigResult getRealtimeLogConfig(GetRealtimeLogConfigRequest request) { request = beforeClientExecution(request); return executeGetRealtimeLogConfig(request); } @SdkInternalApi final GetRealtimeLogConfigResult executeGetRealtimeLogConfig(GetRealtimeLogConfigRequest getRealtimeLogConfigRequest) { ExecutionContext executionContext = createExecutionContext(getRealtimeLogConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetRealtimeLogConfigRequestMarshaller().marshall(super.beforeMarshalling(getRealtimeLogConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetRealtimeLogConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetRealtimeLogConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a response headers policy, including metadata (the policy’s identifier and the date and time when the policy * was last modified). *

*

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

* * @param getResponseHeadersPolicyRequest * @return Result of the GetResponseHeadersPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @sample AmazonCloudFront.GetResponseHeadersPolicy * @see AWS API Documentation */ @Override public GetResponseHeadersPolicyResult getResponseHeadersPolicy(GetResponseHeadersPolicyRequest request) { request = beforeClientExecution(request); return executeGetResponseHeadersPolicy(request); } @SdkInternalApi final GetResponseHeadersPolicyResult executeGetResponseHeadersPolicy(GetResponseHeadersPolicyRequest getResponseHeadersPolicyRequest) { ExecutionContext executionContext = createExecutionContext(getResponseHeadersPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetResponseHeadersPolicyRequestMarshaller().marshall(super.beforeMarshalling(getResponseHeadersPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResponseHeadersPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetResponseHeadersPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a response headers policy configuration. *

*

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

* * @param getResponseHeadersPolicyConfigRequest * @return Result of the GetResponseHeadersPolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @sample AmazonCloudFront.GetResponseHeadersPolicyConfig * @see AWS API Documentation */ @Override public GetResponseHeadersPolicyConfigResult getResponseHeadersPolicyConfig(GetResponseHeadersPolicyConfigRequest request) { request = beforeClientExecution(request); return executeGetResponseHeadersPolicyConfig(request); } @SdkInternalApi final GetResponseHeadersPolicyConfigResult executeGetResponseHeadersPolicyConfig(GetResponseHeadersPolicyConfigRequest getResponseHeadersPolicyConfigRequest) { ExecutionContext executionContext = createExecutionContext(getResponseHeadersPolicyConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetResponseHeadersPolicyConfigRequestMarshaller().marshall(super.beforeMarshalling(getResponseHeadersPolicyConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResponseHeadersPolicyConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetResponseHeadersPolicyConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets information about a specified RTMP distribution, including the distribution configuration. *

* * @param getStreamingDistributionRequest * The request to get a streaming distribution's information. * @return Result of the GetStreamingDistribution operation returned by the service. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetStreamingDistribution * @see AWS API Documentation */ @Override public GetStreamingDistributionResult getStreamingDistribution(GetStreamingDistributionRequest request) { request = beforeClientExecution(request); return executeGetStreamingDistribution(request); } @SdkInternalApi final GetStreamingDistributionResult executeGetStreamingDistribution(GetStreamingDistributionRequest getStreamingDistributionRequest) { ExecutionContext executionContext = createExecutionContext(getStreamingDistributionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetStreamingDistributionRequestMarshaller().marshall(super.beforeMarshalling(getStreamingDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetStreamingDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetStreamingDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the configuration information about a streaming distribution. *

* * @param getStreamingDistributionConfigRequest * To request to get a streaming distribution configuration. * @return Result of the GetStreamingDistributionConfig operation returned by the service. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetStreamingDistributionConfig * @see AWS API Documentation */ @Override public GetStreamingDistributionConfigResult getStreamingDistributionConfig(GetStreamingDistributionConfigRequest request) { request = beforeClientExecution(request); return executeGetStreamingDistributionConfig(request); } @SdkInternalApi final GetStreamingDistributionConfigResult executeGetStreamingDistributionConfig(GetStreamingDistributionConfigRequest getStreamingDistributionConfigRequest) { ExecutionContext executionContext = createExecutionContext(getStreamingDistributionConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetStreamingDistributionConfigRequestMarshaller().marshall(super.beforeMarshalling(getStreamingDistributionConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetStreamingDistributionConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new GetStreamingDistributionConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of cache policies. *

*

* You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or only the * custom policies created in your Amazon Web Services account. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listCachePoliciesRequest * @return Result of the ListCachePolicies operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListCachePolicies * @see AWS * API Documentation */ @Override public ListCachePoliciesResult listCachePolicies(ListCachePoliciesRequest request) { request = beforeClientExecution(request); return executeListCachePolicies(request); } @SdkInternalApi final ListCachePoliciesResult executeListCachePolicies(ListCachePoliciesRequest listCachePoliciesRequest) { ExecutionContext executionContext = createExecutionContext(listCachePoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCachePoliciesRequestMarshaller().marshall(super.beforeMarshalling(listCachePoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCachePolicies"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListCachePoliciesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists origin access identities. *

* * @param listCloudFrontOriginAccessIdentitiesRequest * The request to list origin access identities. * @return Result of the ListCloudFrontOriginAccessIdentities operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListCloudFrontOriginAccessIdentities * @see AWS API Documentation */ @Override public ListCloudFrontOriginAccessIdentitiesResult listCloudFrontOriginAccessIdentities(ListCloudFrontOriginAccessIdentitiesRequest request) { request = beforeClientExecution(request); return executeListCloudFrontOriginAccessIdentities(request); } @SdkInternalApi final ListCloudFrontOriginAccessIdentitiesResult executeListCloudFrontOriginAccessIdentities( ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest) { ExecutionContext executionContext = createExecutionContext(listCloudFrontOriginAccessIdentitiesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCloudFrontOriginAccessIdentitiesRequestMarshaller().marshall(super .beforeMarshalling(listCloudFrontOriginAccessIdentitiesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCloudFrontOriginAccessIdentities"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListCloudFrontOriginAccessIdentitiesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of aliases (also called CNAMEs or alternate domain names) that conflict or overlap with the provided * alias, and the associated CloudFront distributions and Amazon Web Services accounts for each conflicting alias. * In the returned list, the distribution and account IDs are partially hidden, which allows you to identify the * distributions and accounts that you own, but helps to protect the information of ones that you don’t own. *

*

* Use this operation to find aliases that are in use in CloudFront that conflict or overlap with the provided * alias. For example, if you provide www.example.com as input, the returned list can include * www.example.com and the overlapping wildcard alternate domain name (*.example.com), if * they exist. If you provide *.example.com as input, the returned list can include * *.example.com and any alternate domain names covered by that wildcard (for example, * www.example.com, test.example.com, dev.example.com, and so on), if they * exist. *

*

* To list conflicting aliases, you provide the alias to search and the ID of a distribution in your account that * has an attached SSL/TLS certificate that includes the provided alias. For more information, including how to set * up the distribution and certificate, see Moving an alternate domain name to a different distribution in the Amazon CloudFront Developer Guide. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listConflictingAliasesRequest * @return Result of the ListConflictingAliases operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @sample AmazonCloudFront.ListConflictingAliases * @see AWS API Documentation */ @Override public ListConflictingAliasesResult listConflictingAliases(ListConflictingAliasesRequest request) { request = beforeClientExecution(request); return executeListConflictingAliases(request); } @SdkInternalApi final ListConflictingAliasesResult executeListConflictingAliases(ListConflictingAliasesRequest listConflictingAliasesRequest) { ExecutionContext executionContext = createExecutionContext(listConflictingAliasesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListConflictingAliasesRequestMarshaller().marshall(super.beforeMarshalling(listConflictingAliasesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListConflictingAliases"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListConflictingAliasesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of the continuous deployment policies in your Amazon Web Services account. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listContinuousDeploymentPoliciesRequest * @return Result of the ListContinuousDeploymentPolicies operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListContinuousDeploymentPolicies * @see AWS API Documentation */ @Override public ListContinuousDeploymentPoliciesResult listContinuousDeploymentPolicies(ListContinuousDeploymentPoliciesRequest request) { request = beforeClientExecution(request); return executeListContinuousDeploymentPolicies(request); } @SdkInternalApi final ListContinuousDeploymentPoliciesResult executeListContinuousDeploymentPolicies( ListContinuousDeploymentPoliciesRequest listContinuousDeploymentPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(listContinuousDeploymentPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListContinuousDeploymentPoliciesRequestMarshaller().marshall(super.beforeMarshalling(listContinuousDeploymentPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListContinuousDeploymentPolicies"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListContinuousDeploymentPoliciesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List CloudFront distributions. *

* * @param listDistributionsRequest * The request to list your distributions. * @return Result of the ListDistributions operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListDistributions * @see AWS * API Documentation */ @Override public ListDistributionsResult listDistributions(ListDistributionsRequest request) { request = beforeClientExecution(request); return executeListDistributions(request); } @SdkInternalApi final ListDistributionsResult executeListDistributions(ListDistributionsRequest listDistributionsRequest) { ExecutionContext executionContext = createExecutionContext(listDistributionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDistributionsRequestMarshaller().marshall(super.beforeMarshalling(listDistributionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDistributions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListDistributionsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified * cache policy. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listDistributionsByCachePolicyIdRequest * @return Result of the ListDistributionsByCachePolicyId operation returned by the service. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListDistributionsByCachePolicyId * @see AWS API Documentation */ @Override public ListDistributionsByCachePolicyIdResult listDistributionsByCachePolicyId(ListDistributionsByCachePolicyIdRequest request) { request = beforeClientExecution(request); return executeListDistributionsByCachePolicyId(request); } @SdkInternalApi final ListDistributionsByCachePolicyIdResult executeListDistributionsByCachePolicyId( ListDistributionsByCachePolicyIdRequest listDistributionsByCachePolicyIdRequest) { ExecutionContext executionContext = createExecutionContext(listDistributionsByCachePolicyIdRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDistributionsByCachePolicyIdRequestMarshaller().marshall(super.beforeMarshalling(listDistributionsByCachePolicyIdRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDistributionsByCachePolicyId"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListDistributionsByCachePolicyIdResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of distribution IDs for distributions that have a cache behavior that references the specified key * group. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listDistributionsByKeyGroupRequest * @return Result of the ListDistributionsByKeyGroup operation returned by the service. * @throws NoSuchResourceException * A resource that was specified is not valid. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListDistributionsByKeyGroup * @see AWS API Documentation */ @Override public ListDistributionsByKeyGroupResult listDistributionsByKeyGroup(ListDistributionsByKeyGroupRequest request) { request = beforeClientExecution(request); return executeListDistributionsByKeyGroup(request); } @SdkInternalApi final ListDistributionsByKeyGroupResult executeListDistributionsByKeyGroup(ListDistributionsByKeyGroupRequest listDistributionsByKeyGroupRequest) { ExecutionContext executionContext = createExecutionContext(listDistributionsByKeyGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDistributionsByKeyGroupRequestMarshaller().marshall(super.beforeMarshalling(listDistributionsByKeyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDistributionsByKeyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListDistributionsByKeyGroupResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified * origin request policy. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listDistributionsByOriginRequestPolicyIdRequest * @return Result of the ListDistributionsByOriginRequestPolicyId operation returned by the service. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListDistributionsByOriginRequestPolicyId * @see AWS API Documentation */ @Override public ListDistributionsByOriginRequestPolicyIdResult listDistributionsByOriginRequestPolicyId(ListDistributionsByOriginRequestPolicyIdRequest request) { request = beforeClientExecution(request); return executeListDistributionsByOriginRequestPolicyId(request); } @SdkInternalApi final ListDistributionsByOriginRequestPolicyIdResult executeListDistributionsByOriginRequestPolicyId( ListDistributionsByOriginRequestPolicyIdRequest listDistributionsByOriginRequestPolicyIdRequest) { ExecutionContext executionContext = createExecutionContext(listDistributionsByOriginRequestPolicyIdRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDistributionsByOriginRequestPolicyIdRequestMarshaller().marshall(super .beforeMarshalling(listDistributionsByOriginRequestPolicyIdRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDistributionsByOriginRequestPolicyId"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListDistributionsByOriginRequestPolicyIdResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of distributions that have a cache behavior that’s associated with the specified real-time log * configuration. *

*

* You can specify the real-time log configuration by its name or its Amazon Resource Name (ARN). You must provide * at least one. If you provide both, CloudFront uses the name to identify the real-time log configuration to list * distributions for. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listDistributionsByRealtimeLogConfigRequest * @return Result of the ListDistributionsByRealtimeLogConfig operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListDistributionsByRealtimeLogConfig * @see AWS API Documentation */ @Override public ListDistributionsByRealtimeLogConfigResult listDistributionsByRealtimeLogConfig(ListDistributionsByRealtimeLogConfigRequest request) { request = beforeClientExecution(request); return executeListDistributionsByRealtimeLogConfig(request); } @SdkInternalApi final ListDistributionsByRealtimeLogConfigResult executeListDistributionsByRealtimeLogConfig( ListDistributionsByRealtimeLogConfigRequest listDistributionsByRealtimeLogConfigRequest) { ExecutionContext executionContext = createExecutionContext(listDistributionsByRealtimeLogConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDistributionsByRealtimeLogConfigRequestMarshaller().marshall(super .beforeMarshalling(listDistributionsByRealtimeLogConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDistributionsByRealtimeLogConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListDistributionsByRealtimeLogConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of distribution IDs for distributions that have a cache behavior that’s associated with the specified * response headers policy. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listDistributionsByResponseHeadersPolicyIdRequest * @return Result of the ListDistributionsByResponseHeadersPolicyId operation returned by the service. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListDistributionsByResponseHeadersPolicyId * @see AWS API Documentation */ @Override public ListDistributionsByResponseHeadersPolicyIdResult listDistributionsByResponseHeadersPolicyId(ListDistributionsByResponseHeadersPolicyIdRequest request) { request = beforeClientExecution(request); return executeListDistributionsByResponseHeadersPolicyId(request); } @SdkInternalApi final ListDistributionsByResponseHeadersPolicyIdResult executeListDistributionsByResponseHeadersPolicyId( ListDistributionsByResponseHeadersPolicyIdRequest listDistributionsByResponseHeadersPolicyIdRequest) { ExecutionContext executionContext = createExecutionContext(listDistributionsByResponseHeadersPolicyIdRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDistributionsByResponseHeadersPolicyIdRequestMarshaller().marshall(super .beforeMarshalling(listDistributionsByResponseHeadersPolicyIdRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDistributionsByResponseHeadersPolicyId"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListDistributionsByResponseHeadersPolicyIdResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the distributions that are associated with a specified WAF web ACL. *

* * @param listDistributionsByWebACLIdRequest * The request to list distributions that are associated with a specified WAF web ACL. * @return Result of the ListDistributionsByWebACLId operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidWebACLIdException * A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use * the ACL ARN, for example * arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a * . To specify a web ACL created using WAF Classic, use the ACL ID, for example * 473e64fd-f30b-4765-81a0-62ad96dd167a. * @sample AmazonCloudFront.ListDistributionsByWebACLId * @see AWS API Documentation */ @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); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDistributionsByWebACLIdRequestMarshaller().marshall(super.beforeMarshalling(listDistributionsByWebACLIdRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDistributionsByWebACLId"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListDistributionsByWebACLIdResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List all field-level encryption configurations that have been created in CloudFront for this account. *

* * @param listFieldLevelEncryptionConfigsRequest * @return Result of the ListFieldLevelEncryptionConfigs operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListFieldLevelEncryptionConfigs * @see AWS API Documentation */ @Override public ListFieldLevelEncryptionConfigsResult listFieldLevelEncryptionConfigs(ListFieldLevelEncryptionConfigsRequest request) { request = beforeClientExecution(request); return executeListFieldLevelEncryptionConfigs(request); } @SdkInternalApi final ListFieldLevelEncryptionConfigsResult executeListFieldLevelEncryptionConfigs( ListFieldLevelEncryptionConfigsRequest listFieldLevelEncryptionConfigsRequest) { ExecutionContext executionContext = createExecutionContext(listFieldLevelEncryptionConfigsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListFieldLevelEncryptionConfigsRequestMarshaller().marshall(super.beforeMarshalling(listFieldLevelEncryptionConfigsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFieldLevelEncryptionConfigs"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListFieldLevelEncryptionConfigsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Request a list of field-level encryption profiles that have been created in CloudFront for this account. *

* * @param listFieldLevelEncryptionProfilesRequest * @return Result of the ListFieldLevelEncryptionProfiles operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListFieldLevelEncryptionProfiles * @see AWS API Documentation */ @Override public ListFieldLevelEncryptionProfilesResult listFieldLevelEncryptionProfiles(ListFieldLevelEncryptionProfilesRequest request) { request = beforeClientExecution(request); return executeListFieldLevelEncryptionProfiles(request); } @SdkInternalApi final ListFieldLevelEncryptionProfilesResult executeListFieldLevelEncryptionProfiles( ListFieldLevelEncryptionProfilesRequest listFieldLevelEncryptionProfilesRequest) { ExecutionContext executionContext = createExecutionContext(listFieldLevelEncryptionProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListFieldLevelEncryptionProfilesRequestMarshaller().marshall(super.beforeMarshalling(listFieldLevelEncryptionProfilesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFieldLevelEncryptionProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListFieldLevelEncryptionProfilesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of all CloudFront functions in your Amazon Web Services account. *

*

* You can optionally apply a filter to return only the functions that are in the specified stage, either * DEVELOPMENT or LIVE. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listFunctionsRequest * @return Result of the ListFunctions operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.ListFunctions * @see AWS API * Documentation */ @Override public ListFunctionsResult listFunctions(ListFunctionsRequest request) { request = beforeClientExecution(request); return executeListFunctions(request); } @SdkInternalApi final ListFunctionsResult executeListFunctions(ListFunctionsRequest listFunctionsRequest) { ExecutionContext executionContext = createExecutionContext(listFunctionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListFunctionsRequestMarshaller().marshall(super.beforeMarshalling(listFunctionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFunctions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new ListFunctionsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists invalidation batches. *

* * @param listInvalidationsRequest * The request to list invalidations. * @return Result of the ListInvalidations operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListInvalidations * @see AWS * API Documentation */ @Override public ListInvalidationsResult listInvalidations(ListInvalidationsRequest request) { request = beforeClientExecution(request); return executeListInvalidations(request); } @SdkInternalApi final ListInvalidationsResult executeListInvalidations(ListInvalidationsRequest listInvalidationsRequest) { ExecutionContext executionContext = createExecutionContext(listInvalidationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListInvalidationsRequestMarshaller().marshall(super.beforeMarshalling(listInvalidationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListInvalidations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListInvalidationsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of key groups. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listKeyGroupsRequest * @return Result of the ListKeyGroups operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListKeyGroups * @see AWS API * Documentation */ @Override public ListKeyGroupsResult listKeyGroups(ListKeyGroupsRequest request) { request = beforeClientExecution(request); return executeListKeyGroups(request); } @SdkInternalApi final ListKeyGroupsResult executeListKeyGroups(ListKeyGroupsRequest listKeyGroupsRequest) { ExecutionContext executionContext = createExecutionContext(listKeyGroupsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListKeyGroupsRequestMarshaller().marshall(super.beforeMarshalling(listKeyGroupsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListKeyGroups"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new ListKeyGroupsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets the list of CloudFront origin access controls in this Amazon Web Services account. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send another request that specifies the NextMarker value from the current * response as the Marker value in the next request. *

* * @param listOriginAccessControlsRequest * @return Result of the ListOriginAccessControls operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListOriginAccessControls * @see AWS API Documentation */ @Override public ListOriginAccessControlsResult listOriginAccessControls(ListOriginAccessControlsRequest request) { request = beforeClientExecution(request); return executeListOriginAccessControls(request); } @SdkInternalApi final ListOriginAccessControlsResult executeListOriginAccessControls(ListOriginAccessControlsRequest listOriginAccessControlsRequest) { ExecutionContext executionContext = createExecutionContext(listOriginAccessControlsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListOriginAccessControlsRequestMarshaller().marshall(super.beforeMarshalling(listOriginAccessControlsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListOriginAccessControls"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListOriginAccessControlsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of origin request policies. *

*

* You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or only the * custom policies created in your Amazon Web Services account. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listOriginRequestPoliciesRequest * @return Result of the ListOriginRequestPolicies operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListOriginRequestPolicies * @see AWS API Documentation */ @Override public ListOriginRequestPoliciesResult listOriginRequestPolicies(ListOriginRequestPoliciesRequest request) { request = beforeClientExecution(request); return executeListOriginRequestPolicies(request); } @SdkInternalApi final ListOriginRequestPoliciesResult executeListOriginRequestPolicies(ListOriginRequestPoliciesRequest listOriginRequestPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(listOriginRequestPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListOriginRequestPoliciesRequestMarshaller().marshall(super.beforeMarshalling(listOriginRequestPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListOriginRequestPolicies"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListOriginRequestPoliciesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List all public keys that have been added to CloudFront for this account. *

* * @param listPublicKeysRequest * @return Result of the ListPublicKeys operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListPublicKeys * @see AWS API * Documentation */ @Override public ListPublicKeysResult listPublicKeys(ListPublicKeysRequest request) { request = beforeClientExecution(request); return executeListPublicKeys(request); } @SdkInternalApi final ListPublicKeysResult executeListPublicKeys(ListPublicKeysRequest listPublicKeysRequest) { ExecutionContext executionContext = createExecutionContext(listPublicKeysRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPublicKeysRequestMarshaller().marshall(super.beforeMarshalling(listPublicKeysRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPublicKeys"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListPublicKeysResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of real-time log configurations. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listRealtimeLogConfigsRequest * @return Result of the ListRealtimeLogConfigs operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @sample AmazonCloudFront.ListRealtimeLogConfigs * @see AWS API Documentation */ @Override public ListRealtimeLogConfigsResult listRealtimeLogConfigs(ListRealtimeLogConfigsRequest request) { request = beforeClientExecution(request); return executeListRealtimeLogConfigs(request); } @SdkInternalApi final ListRealtimeLogConfigsResult executeListRealtimeLogConfigs(ListRealtimeLogConfigsRequest listRealtimeLogConfigsRequest) { ExecutionContext executionContext = createExecutionContext(listRealtimeLogConfigsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListRealtimeLogConfigsRequestMarshaller().marshall(super.beforeMarshalling(listRealtimeLogConfigsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRealtimeLogConfigs"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListRealtimeLogConfigsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Gets a list of response headers policies. *

*

* You can optionally apply a filter to get only the managed policies created by Amazon Web Services, or only the * custom policies created in your Amazon Web Services account. *

*

* You can optionally specify the maximum number of items to receive in the response. If the total number of items * in the list exceeds the maximum that you specify, or the default maximum, the response is paginated. To get the * next page of items, send a subsequent request that specifies the NextMarker value from the current * response as the Marker value in the subsequent request. *

* * @param listResponseHeadersPoliciesRequest * @return Result of the ListResponseHeadersPolicies operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListResponseHeadersPolicies * @see AWS API Documentation */ @Override public ListResponseHeadersPoliciesResult listResponseHeadersPolicies(ListResponseHeadersPoliciesRequest request) { request = beforeClientExecution(request); return executeListResponseHeadersPolicies(request); } @SdkInternalApi final ListResponseHeadersPoliciesResult executeListResponseHeadersPolicies(ListResponseHeadersPoliciesRequest listResponseHeadersPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(listResponseHeadersPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListResponseHeadersPoliciesRequestMarshaller().marshall(super.beforeMarshalling(listResponseHeadersPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResponseHeadersPolicies"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListResponseHeadersPoliciesResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List streaming distributions. *

* * @param listStreamingDistributionsRequest * The request to list your streaming distributions. * @return Result of the ListStreamingDistributions operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListStreamingDistributions * @see AWS API Documentation */ @Override public ListStreamingDistributionsResult listStreamingDistributions(ListStreamingDistributionsRequest request) { request = beforeClientExecution(request); return executeListStreamingDistributions(request); } @SdkInternalApi final ListStreamingDistributionsResult executeListStreamingDistributions(ListStreamingDistributionsRequest listStreamingDistributionsRequest) { ExecutionContext executionContext = createExecutionContext(listStreamingDistributionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListStreamingDistributionsRequestMarshaller().marshall(super.beforeMarshalling(listStreamingDistributionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListStreamingDistributions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListStreamingDistributionsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List tags for a CloudFront resource. *

* * @param listTagsForResourceRequest * The request to list tags for a CloudFront resource. * @return Result of the ListTagsForResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.ListTagsForResource * @see AWS * API Documentation */ @Override public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) { request = beforeClientExecution(request); return executeListTagsForResource(request); } @SdkInternalApi final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsForResourceRequestMarshaller().marshall(super.beforeMarshalling(listTagsForResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListTagsForResourceResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Publishes a CloudFront function by copying the function code from the DEVELOPMENT stage to * LIVE. This automatically updates all cache behaviors that are using this function to use the newly * published copy in the LIVE stage. *

*

* When a function is published to the LIVE stage, you can attach the function to a distribution’s * cache behavior, using the function’s Amazon Resource Name (ARN). *

*

* To publish a function, you must provide the function’s name and version (ETag value). To get these * values, you can use ListFunctions and DescribeFunction. *

* * @param publishFunctionRequest * @return Result of the PublishFunction operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.PublishFunction * @see AWS API * Documentation */ @Override public PublishFunctionResult publishFunction(PublishFunctionRequest request) { request = beforeClientExecution(request); return executePublishFunction(request); } @SdkInternalApi final PublishFunctionResult executePublishFunction(PublishFunctionRequest publishFunctionRequest) { ExecutionContext executionContext = createExecutionContext(publishFunctionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PublishFunctionRequestMarshaller().marshall(super.beforeMarshalling(publishFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PublishFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new PublishFunctionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Add tags to a CloudFront resource. *

* * @param tagResourceRequest * The request to add tags to a CloudFront resource. * @return Result of the TagResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.TagResource * @see AWS API * Documentation */ @Override public TagResourceResult tagResource(TagResourceRequest request) { request = beforeClientExecution(request); return executeTagResource(request); } @SdkInternalApi final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) { ExecutionContext executionContext = createExecutionContext(tagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TagResourceRequestMarshaller().marshall(super.beforeMarshalling(tagResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TagResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new TagResourceResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Tests a CloudFront function. *

*

* To test a function, you provide an event object that represents an HTTP request or response that your * CloudFront distribution could receive in production. CloudFront runs the function, passing it the event object * that you provided, and returns the function’s result (the modified event object) in the response. The response * also contains function logs and error messages, if any exist. For more information about testing functions, see * Testing functions in the Amazon CloudFront Developer Guide. *

*

* To test a function, you provide the function’s name and version (ETag value) along with the event * object. To get the function’s name and version, you can use ListFunctions and * DescribeFunction. *

* * @param testFunctionRequest * @return Result of the TestFunction operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws TestFunctionFailedException * The CloudFront function failed. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.TestFunction * @see AWS API * Documentation */ @Override public TestFunctionResult testFunction(TestFunctionRequest request) { request = beforeClientExecution(request); return executeTestFunction(request); } @SdkInternalApi final TestFunctionResult executeTestFunction(TestFunctionRequest testFunctionRequest) { ExecutionContext executionContext = createExecutionContext(testFunctionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TestFunctionRequestMarshaller().marshall(super.beforeMarshalling(testFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TestFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new TestFunctionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Remove tags from a CloudFront resource. *

* * @param untagResourceRequest * The request to remove tags from a CloudFront resource. * @return Result of the UntagResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.UntagResource * @see AWS API * Documentation */ @Override public UntagResourceResult untagResource(UntagResourceRequest request) { request = beforeClientExecution(request); return executeUntagResource(request); } @SdkInternalApi final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) { ExecutionContext executionContext = createExecutionContext(untagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UntagResourceRequestMarshaller().marshall(super.beforeMarshalling(untagResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UntagResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new UntagResourceResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a cache policy configuration. *

*

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

*
    *
  1. *

    * Use GetCachePolicyConfig to get the current configuration. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateCachePolicyRequest * @return Result of the UpdateCachePolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws CachePolicyAlreadyExistsException * A cache policy with this name already exists. You must provide a unique name. To modify an existing cache * policy, use UpdateCachePolicy. * @throws TooManyHeadersInCachePolicyException * The number of headers in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCookiesInCachePolicyException * The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyQueryStringsInCachePolicyException * The number of query strings in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateCachePolicy * @see AWS * API Documentation */ @Override public UpdateCachePolicyResult updateCachePolicy(UpdateCachePolicyRequest request) { request = beforeClientExecution(request); return executeUpdateCachePolicy(request); } @SdkInternalApi final UpdateCachePolicyResult executeUpdateCachePolicy(UpdateCachePolicyRequest updateCachePolicyRequest) { ExecutionContext executionContext = createExecutionContext(updateCachePolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateCachePolicyRequestMarshaller().marshall(super.beforeMarshalling(updateCachePolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateCachePolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateCachePolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update an origin access identity. *

* * @param updateCloudFrontOriginAccessIdentityRequest * The request to update an origin access identity. * @return Result of the UpdateCloudFrontOriginAccessIdentity operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.UpdateCloudFrontOriginAccessIdentity * @see AWS API Documentation */ @Override public UpdateCloudFrontOriginAccessIdentityResult updateCloudFrontOriginAccessIdentity(UpdateCloudFrontOriginAccessIdentityRequest request) { request = beforeClientExecution(request); return executeUpdateCloudFrontOriginAccessIdentity(request); } @SdkInternalApi final UpdateCloudFrontOriginAccessIdentityResult executeUpdateCloudFrontOriginAccessIdentity( UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest) { ExecutionContext executionContext = createExecutionContext(updateCloudFrontOriginAccessIdentityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateCloudFrontOriginAccessIdentityRequestMarshaller().marshall(super .beforeMarshalling(updateCloudFrontOriginAccessIdentityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateCloudFrontOriginAccessIdentity"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateCloudFrontOriginAccessIdentityResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a continuous deployment policy. You can update a continuous deployment policy to enable or disable it, to * change the percentage of traffic that it sends to the staging distribution, or to change the staging distribution * that it sends traffic to. *

*

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

*
    *
  1. *

    * Use GetContinuousDeploymentPolicyConfig to get the current configuration. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateContinuousDeploymentPolicyRequest * @return Result of the UpdateContinuousDeploymentPolicy operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws StagingDistributionInUseException * A continuous deployment policy for this staging distribution already exists. * @sample AmazonCloudFront.UpdateContinuousDeploymentPolicy * @see AWS API Documentation */ @Override public UpdateContinuousDeploymentPolicyResult updateContinuousDeploymentPolicy(UpdateContinuousDeploymentPolicyRequest request) { request = beforeClientExecution(request); return executeUpdateContinuousDeploymentPolicy(request); } @SdkInternalApi final UpdateContinuousDeploymentPolicyResult executeUpdateContinuousDeploymentPolicy( UpdateContinuousDeploymentPolicyRequest updateContinuousDeploymentPolicyRequest) { ExecutionContext executionContext = createExecutionContext(updateContinuousDeploymentPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateContinuousDeploymentPolicyRequestMarshaller().marshall(super.beforeMarshalling(updateContinuousDeploymentPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateContinuousDeploymentPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateContinuousDeploymentPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the configuration for a CloudFront distribution. *

*

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

*

* To update a web distribution using the CloudFront API *

*
    *
  1. *

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

    *
  2. *
  3. *

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

    *
      *
    • *

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

      *
    • *
    • *

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

      *
    • *
    *
  4. *
  5. *

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

    *
  6. *
* * @param updateDistributionRequest * The request to update a distribution. * @return Result of the UpdateDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws TooManyDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws InvalidDefaultRootObjectException * The default root object file name is too big or contains an invalid character. * @throws InvalidRelativePathException * The relative path is too big, is not URL-encoded, or does not begin with a slash (/). * @throws InvalidErrorCodeException * An invalid error code was specified. * @throws InvalidResponseCodeException * A response code is not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws InvalidOriginAccessControlException * The origin access control is not valid. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InvalidViewerCertificateException * A viewer certificate specified is not valid. * @throws InvalidMinimumProtocolVersionException * The minimum protocol version specified is not valid. * @throws InvalidRequiredProtocolException * This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, * or omit the RequiredProtocols element from your distribution configuration. * @throws NoSuchOriginException * No origin exists with the specified Origin Id. * @throws TooManyOriginsException * You cannot create more origins for the distribution. * @throws TooManyOriginGroupsPerDistributionException * Processing your request would cause you to exceed the maximum number of origin groups allowed. * @throws TooManyCacheBehaviorsException * You cannot create more cache behaviors for the distribution. * @throws TooManyCookieNamesInWhiteListException * Your request contains more cookie names in the whitelist than are allowed per cache behavior. * @throws InvalidForwardCookiesException * Your request contains forward cookies option which doesn't match with the expectation for the * whitelisted list of cookie names. Either list of cookie names has been specified when not * allowed or list of cookie names is missing when expected. * @throws TooManyHeadersInForwardedValuesException * Your request contains too many headers in forwarded values. * @throws InvalidHeadersForS3OriginException * The headers specified are not valid for an Amazon S3 origin. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * The location code specified is not valid. * @throws InvalidGeoRestrictionParameterException * The specified geo restriction parameter is not valid. * @throws InvalidTTLOrderException * The TTL order specified is not valid. * @throws InvalidWebACLIdException * A web ACL ID specified is not valid. To specify a web ACL created using the latest version of WAF, use * the ACL ARN, for example * arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a * . To specify a web ACL created using WAF Classic, use the ACL ID, for example * 473e64fd-f30b-4765-81a0-62ad96dd167a. * @throws TooManyOriginCustomHeadersException * Your request contains too many origin custom headers. * @throws TooManyQueryStringParametersException * Your request contains too many query string parameters. * @throws InvalidQueryStringParametersException * The query string parameters specified are not valid. * @throws TooManyDistributionsWithLambdaAssociationsException * Processing your request would cause the maximum number of distributions with Lambda@Edge function * associations per owner to be exceeded. * @throws TooManyDistributionsWithSingleFunctionARNException * The maximum number of distributions have been associated with the specified Lambda@Edge function. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda@Edge function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda@Edge function association is invalid. * @throws TooManyDistributionsWithFunctionAssociationsException * You have reached the maximum number of distributions that are associated with a CloudFront function. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyFunctionAssociationsException * You have reached the maximum number of CloudFront function associations for this distribution. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidFunctionAssociationException * A CloudFront function association is invalid. * @throws InvalidOriginReadTimeoutException * The read timeout specified for the origin is not valid. * @throws InvalidOriginKeepaliveTimeoutException * The keep alive timeout specified for the origin is not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException * The specified configuration for field-level encryption can't be associated with the specified cache * behavior. * @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException * The maximum number of distributions have been associated with the specified configuration for field-level * encryption. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws TooManyDistributionsAssociatedToCachePolicyException * The maximum number of distributions have been associated with the specified cache policy. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws 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 StagingDistributionInUseException * A continuous deployment policy for this staging distribution already exists. * @throws IllegalOriginAccessConfigurationException * An origin cannot contain both an origin access control (OAC) and an origin access identity (OAI). * @throws InvalidDomainNameForOriginAccessControlException * An origin access control is associated with an origin whose domain name is not supported. * @sample AmazonCloudFront.UpdateDistribution * @see AWS * API Documentation */ @Override public UpdateDistributionResult updateDistribution(UpdateDistributionRequest request) { request = beforeClientExecution(request); return executeUpdateDistribution(request); } @SdkInternalApi final UpdateDistributionResult executeUpdateDistribution(UpdateDistributionRequest updateDistributionRequest) { ExecutionContext executionContext = createExecutionContext(updateDistributionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateDistributionRequestMarshaller().marshall(super.beforeMarshalling(updateDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a field-level encryption configuration. *

* * @param updateFieldLevelEncryptionConfigRequest * @return Result of the UpdateFieldLevelEncryptionConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws TooManyFieldLevelEncryptionQueryArgProfilesException * The maximum number of query arg profiles for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionContentTypeProfilesException * The maximum number of content type profiles for field-level encryption have been created. * @throws QueryArgProfileEmptyException * No profile specified for the field-level encryption query argument. * @sample AmazonCloudFront.UpdateFieldLevelEncryptionConfig * @see AWS API Documentation */ @Override public UpdateFieldLevelEncryptionConfigResult updateFieldLevelEncryptionConfig(UpdateFieldLevelEncryptionConfigRequest request) { request = beforeClientExecution(request); return executeUpdateFieldLevelEncryptionConfig(request); } @SdkInternalApi final UpdateFieldLevelEncryptionConfigResult executeUpdateFieldLevelEncryptionConfig( UpdateFieldLevelEncryptionConfigRequest updateFieldLevelEncryptionConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateFieldLevelEncryptionConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateFieldLevelEncryptionConfigRequestMarshaller().marshall(super.beforeMarshalling(updateFieldLevelEncryptionConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFieldLevelEncryptionConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateFieldLevelEncryptionConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a field-level encryption profile. *

* * @param updateFieldLevelEncryptionProfileRequest * @return Result of the UpdateFieldLevelEncryptionProfile operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws FieldLevelEncryptionProfileAlreadyExistsException * The specified profile for field-level encryption already exists. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FieldLevelEncryptionProfileSizeExceededException * The maximum size of a profile for field-level encryption was exceeded. * @throws TooManyFieldLevelEncryptionEncryptionEntitiesException * The maximum number of encryption entities for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionFieldPatternsException * The maximum number of field patterns for field-level encryption have been created. * @sample AmazonCloudFront.UpdateFieldLevelEncryptionProfile * @see AWS API Documentation */ @Override public UpdateFieldLevelEncryptionProfileResult updateFieldLevelEncryptionProfile(UpdateFieldLevelEncryptionProfileRequest request) { request = beforeClientExecution(request); return executeUpdateFieldLevelEncryptionProfile(request); } @SdkInternalApi final UpdateFieldLevelEncryptionProfileResult executeUpdateFieldLevelEncryptionProfile( UpdateFieldLevelEncryptionProfileRequest updateFieldLevelEncryptionProfileRequest) { ExecutionContext executionContext = createExecutionContext(updateFieldLevelEncryptionProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateFieldLevelEncryptionProfileRequestMarshaller().marshall(super.beforeMarshalling(updateFieldLevelEncryptionProfileRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFieldLevelEncryptionProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateFieldLevelEncryptionProfileResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a CloudFront function. *

*

* You can update a function’s code or the comment that describes the function. You cannot update a function’s name. *

*

* To update a function, you provide the function’s name and version (ETag value) along with the * updated function code. To get the name and version, you can use ListFunctions and * DescribeFunction. *

* * @param updateFunctionRequest * @return Result of the UpdateFunction operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FunctionSizeLimitExceededException * The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.UpdateFunction * @see AWS API * Documentation */ @Override public UpdateFunctionResult updateFunction(UpdateFunctionRequest request) { request = beforeClientExecution(request); return executeUpdateFunction(request); } @SdkInternalApi final UpdateFunctionResult executeUpdateFunction(UpdateFunctionRequest updateFunctionRequest) { ExecutionContext executionContext = createExecutionContext(updateFunctionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateFunctionRequestMarshaller().marshall(super.beforeMarshalling(updateFunctionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFunction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateFunctionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a key group. *

*

* When you update a key group, all the fields are updated with the values provided in the request. You cannot * update some fields independent of others. To update a key group: *

*
    *
  1. *

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

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateKeyGroupRequest * @return Result of the UpdateKeyGroup operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws KeyGroupAlreadyExistsException * A key group with this name already exists. You must provide a unique name. To modify an existing key * group, use UpdateKeyGroup. * @throws InvalidArgumentException * An argument is invalid. * @throws TooManyPublicKeysInKeyGroupException * The number of public keys in this key group is more than the maximum allowed. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateKeyGroup * @see AWS API * Documentation */ @Override public UpdateKeyGroupResult updateKeyGroup(UpdateKeyGroupRequest request) { request = beforeClientExecution(request); return executeUpdateKeyGroup(request); } @SdkInternalApi final UpdateKeyGroupResult executeUpdateKeyGroup(UpdateKeyGroupRequest updateKeyGroupRequest) { ExecutionContext executionContext = createExecutionContext(updateKeyGroupRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateKeyGroupRequestMarshaller().marshall(super.beforeMarshalling(updateKeyGroupRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateKeyGroup"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateKeyGroupResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a CloudFront origin access control. *

* * @param updateOriginAccessControlRequest * @return Result of the UpdateOriginAccessControl operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws OriginAccessControlAlreadyExistsException * An origin access control with the specified parameters already exists. * @throws NoSuchOriginAccessControlException * The origin access control does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.UpdateOriginAccessControl * @see AWS API Documentation */ @Override public UpdateOriginAccessControlResult updateOriginAccessControl(UpdateOriginAccessControlRequest request) { request = beforeClientExecution(request); return executeUpdateOriginAccessControl(request); } @SdkInternalApi final UpdateOriginAccessControlResult executeUpdateOriginAccessControl(UpdateOriginAccessControlRequest updateOriginAccessControlRequest) { ExecutionContext executionContext = createExecutionContext(updateOriginAccessControlRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateOriginAccessControlRequestMarshaller().marshall(super.beforeMarshalling(updateOriginAccessControlRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateOriginAccessControl"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateOriginAccessControlResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates an origin request policy configuration. *

*

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

*
    *
  1. *

    * Use GetOriginRequestPolicyConfig to get the current configuration. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateOriginRequestPolicyRequest * @return Result of the UpdateOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws OriginRequestPolicyAlreadyExistsException * An origin request policy with this name already exists. You must provide a unique name. To modify an * existing origin request policy, use UpdateOriginRequestPolicy. * @throws TooManyHeadersInOriginRequestPolicyException * The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCookiesInOriginRequestPolicyException * The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyQueryStringsInOriginRequestPolicyException * The number of query strings in the origin request policy exceeds the maximum. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateOriginRequestPolicy * @see AWS API Documentation */ @Override public UpdateOriginRequestPolicyResult updateOriginRequestPolicy(UpdateOriginRequestPolicyRequest request) { request = beforeClientExecution(request); return executeUpdateOriginRequestPolicy(request); } @SdkInternalApi final UpdateOriginRequestPolicyResult executeUpdateOriginRequestPolicy(UpdateOriginRequestPolicyRequest updateOriginRequestPolicyRequest) { ExecutionContext executionContext = createExecutionContext(updateOriginRequestPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateOriginRequestPolicyRequestMarshaller().marshall(super.beforeMarshalling(updateOriginRequestPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateOriginRequestPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateOriginRequestPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update public key information. Note that the only value you can change is the comment. *

* * @param updatePublicKeyRequest * @return Result of the UpdatePublicKey operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws CannotChangeImmutablePublicKeyFieldsException * You can't change the value of a public key. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.UpdatePublicKey * @see AWS API * Documentation */ @Override public UpdatePublicKeyResult updatePublicKey(UpdatePublicKeyRequest request) { request = beforeClientExecution(request); return executeUpdatePublicKey(request); } @SdkInternalApi final UpdatePublicKeyResult executeUpdatePublicKey(UpdatePublicKeyRequest updatePublicKeyRequest) { ExecutionContext executionContext = createExecutionContext(updatePublicKeyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdatePublicKeyRequestMarshaller().marshall(super.beforeMarshalling(updatePublicKeyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdatePublicKey"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdatePublicKeyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a real-time log configuration. *

*

* When you update a real-time log configuration, all the parameters are updated with the values provided in the * request. You cannot update some parameters independent of others. To update a real-time log configuration: *

*
    *
  1. *

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

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
*

* You cannot update a real-time log configuration’s Name or ARN. *

* * @param updateRealtimeLogConfigRequest * @return Result of the UpdateRealtimeLogConfig operation returned by the service. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.UpdateRealtimeLogConfig * @see AWS API Documentation */ @Override public UpdateRealtimeLogConfigResult updateRealtimeLogConfig(UpdateRealtimeLogConfigRequest request) { request = beforeClientExecution(request); return executeUpdateRealtimeLogConfig(request); } @SdkInternalApi final UpdateRealtimeLogConfigResult executeUpdateRealtimeLogConfig(UpdateRealtimeLogConfigRequest updateRealtimeLogConfigRequest) { ExecutionContext executionContext = createExecutionContext(updateRealtimeLogConfigRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRealtimeLogConfigRequestMarshaller().marshall(super.beforeMarshalling(updateRealtimeLogConfigRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateRealtimeLogConfig"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateRealtimeLogConfigResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates a response headers policy. *

*

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

*
    *
  1. *

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

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateResponseHeadersPolicyRequest * @return Result of the UpdateResponseHeadersPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchResponseHeadersPolicyException * The response headers policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws ResponseHeadersPolicyAlreadyExistsException * A response headers policy with this name already exists. You must provide a unique name. To modify an * existing response headers policy, use UpdateResponseHeadersPolicy. * @throws TooManyCustomHeadersInResponseHeadersPolicyException * The number of custom headers in the response headers policy exceeds the maximum.

*

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

*

* For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateResponseHeadersPolicy * @see AWS API Documentation */ @Override public UpdateResponseHeadersPolicyResult updateResponseHeadersPolicy(UpdateResponseHeadersPolicyRequest request) { request = beforeClientExecution(request); return executeUpdateResponseHeadersPolicy(request); } @SdkInternalApi final UpdateResponseHeadersPolicyResult executeUpdateResponseHeadersPolicy(UpdateResponseHeadersPolicyRequest updateResponseHeadersPolicyRequest) { ExecutionContext executionContext = createExecutionContext(updateResponseHeadersPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateResponseHeadersPolicyRequestMarshaller().marshall(super.beforeMarshalling(updateResponseHeadersPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateResponseHeadersPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateResponseHeadersPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a streaming distribution. *

* * @param updateStreamingDistributionRequest * The request to update a streaming distribution. * @return Result of the UpdateStreamingDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws TooManyStreamingDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws InvalidOriginAccessControlException * The origin access control is not valid. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.UpdateStreamingDistribution * @see AWS API Documentation */ @Override public UpdateStreamingDistributionResult updateStreamingDistribution(UpdateStreamingDistributionRequest request) { request = beforeClientExecution(request); return executeUpdateStreamingDistribution(request); } @SdkInternalApi final UpdateStreamingDistributionResult executeUpdateStreamingDistribution(UpdateStreamingDistributionRequest updateStreamingDistributionRequest) { ExecutionContext executionContext = createExecutionContext(updateStreamingDistributionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateStreamingDistributionRequestMarshaller().marshall(super.beforeMarshalling(updateStreamingDistributionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "CloudFront"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateStreamingDistribution"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateStreamingDistributionResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * Returns additional metadata for a previously executed successful, request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return invoke(request, responseHandler, executionContext, null, null); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext, null, null); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) { if (discoveredEndpoint != null) { request.setEndpoint(discoveredEndpoint); request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery"); } else if (uriFromEndpointTrait != null) { request.setEndpoint(uriFromEndpointTrait); } else { request.setEndpoint(endpoint); } request.setTimeOffset(timeOffset); DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler(exceptionUnmarshallersMap, defaultUnmarshaller); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } @Override public AmazonCloudFrontWaiters waiters() { if (waiters == null) { synchronized (this) { if (waiters == null) { waiters = new AmazonCloudFrontWaiters(this); } } } return waiters; } @Override public void shutdown() { super.shutdown(); if (waiters != null) { waiters.shutdown(); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy