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

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

/*
 * Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.cloudfront;

import javax.annotation.Generated;

import com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.cloudfront.model.*;
import com.amazonaws.services.cloudfront.waiters.AmazonCloudFrontWaiters;

/**
 * Interface for accessing CloudFront.
 * 

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.cloudfront.AbstractAmazonCloudFront} instead. *

*

* Amazon CloudFront *

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

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonCloudFront { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "cloudfront"; /** * Overrides the default endpoint for this client ("https://cloudfront.amazonaws.com/"). Callers can use this method * to control which AWS region they want to work with. *

* Callers can pass in just the endpoint (ex: "cloudfront.amazonaws.com/") or a full URL, including the protocol * (ex: "https://cloudfront.amazonaws.com/"). If the protocol is not specified here, the default protocol from this * client's {@link ClientConfiguration} will be used, which by default is HTTPS. *

* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available * endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection- * choose-endpoint *

* This method is not threadsafe. An endpoint should be configured when the client is created and before any * service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in * transit or retrying. * * @param endpoint * The endpoint (ex: "cloudfront.amazonaws.com/") or a full URL, including the protocol (ex: * "https://cloudfront.amazonaws.com/") of the region specific AWS endpoint this client will communicate * with. * @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for * example: * {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));} */ @Deprecated void setEndpoint(String endpoint); /** * An alternative to {@link AmazonCloudFront#setEndpoint(String)}, sets the regional endpoint for this client's * service calls. Callers can use this method to control which AWS region they want to work with. *

* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the * {@link ClientConfiguration} supplied at construction. *

* This method is not threadsafe. A region should be configured when the client is created and before any service * requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit * or retrying. * * @param region * The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)} * for accessing a given region. Must not be null and must be a region where the service is available. * * @see Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) * @deprecated use {@link AwsClientBuilder#setRegion(String)} */ @Deprecated void setRegion(Region region); /** *

* 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 AWS account. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyHeadersInCachePolicyException * The number of headers in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCookiesInCachePolicyException * The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyQueryStringsInCachePolicyException * The number of query strings in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.CreateCachePolicy * @see AWS * API Documentation */ CreateCachePolicyResult createCachePolicy(CreateCachePolicyRequest createCachePolicyRequest); /** *

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

* * @param createCloudFrontOriginAccessIdentityRequest * The request to create a new origin access identity (OAI). An origin access identity is a special * CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of * your Amazon S3 content. For more information, see Restricting Access to Amazon S3 Content by Using an Origin Access Identity in the Amazon * CloudFront Developer Guide. * @return Result of the CreateCloudFrontOriginAccessIdentity operation returned by the service. * @throws CloudFrontOriginAccessIdentityAlreadyExistsException * If the CallerReference is a value you already sent in a previous request to create an * identity but the content of the CloudFrontOriginAccessIdentityConfig is different from the * original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists error. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyCloudFrontOriginAccessIdentitiesException * Processing your request would cause you to exceed the maximum number of origin access identities allowed. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.CreateCloudFrontOriginAccessIdentity * @see AWS API Documentation */ CreateCloudFrontOriginAccessIdentityResult createCloudFrontOriginAccessIdentity( CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest); /** *

* Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want content to * be delivered from, and the details about how to track and manage content delivery. Send a POST * request to the /CloudFront API version/distribution/distribution ID resource. *

* *

* When you update a distribution, there are more required fields than when you create a distribution. When you * update your distribution by using UpdateDistribution, follow the steps included in the documentation to get the current configuration and then * make your updates. This helps to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer * Guide. *

*
* * @param createDistributionRequest * The request to create a new distribution. * @return Result of the CreateDistribution operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws DistributionAlreadyExistsException * The caller reference you attempted to create the distribution with is associated with another * distribution. * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InvalidViewerCertificateException * A viewer certificate specified is not valid. * @throws InvalidMinimumProtocolVersionException * The minimum protocol version specified is not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyDistributionsException * Processing your request would cause you to exceed the maximum number of distributions allowed. * @throws InvalidDefaultRootObjectException * The default root object file name is too big or contains an invalid character. * @throws InvalidRelativePathException * The relative path is too big, is not URL-encoded, or does not begin with a slash (/). * @throws InvalidErrorCodeException * An invalid error code was specified. * @throws InvalidResponseCodeException * A response code is not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidRequiredProtocolException * This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, * or omit the RequiredProtocols element from your distribution configuration. * @throws NoSuchOriginException * No origin exists with the specified Origin Id. * @throws TooManyOriginsException * You cannot create more origins for the distribution. * @throws TooManyOriginGroupsPerDistributionException * Processing your request would cause you to exceed the maximum number of origin groups allowed. * @throws TooManyCacheBehaviorsException * You cannot create more cache behaviors for the distribution. * @throws TooManyCookieNamesInWhiteListException * Your request contains more cookie names in the whitelist than are allowed per cache behavior. * @throws InvalidForwardCookiesException * Your request contains forward cookies option which doesn't match with the expectation for the * whitelisted list of cookie names. Either list of cookie names has been specified when not * allowed or list of cookie names is missing when expected. * @throws TooManyHeadersInForwardedValuesException * Your request contains too many headers in forwarded values. * @throws InvalidHeadersForS3OriginException * The headers specified are not valid for an Amazon S3 origin. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * The location code specified is not valid. * @throws InvalidGeoRestrictionParameterException * The specified geo restriction parameter is not valid. * @throws InvalidProtocolSettingsException * You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that * support Server Name Indication (SNI). * @throws InvalidTTLOrderException * The TTL order specified is not valid. * @throws InvalidWebACLIdException * A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS 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 AWS 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 function associations * per owner to be exceeded. * @throws TooManyDistributionsWithSingleFunctionARNException * The maximum number of distributions have been associated with the specified Lambda function. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda function association is invalid. * @throws TooManyDistributionsWithFunctionAssociationsException * You have reached the maximum number of distributions that are associated with a CloudFront function. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyFunctionAssociationsException * You have reached the maximum number of CloudFront function associations for this distribution. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidFunctionAssociationException * A CloudFront function association is invalid. * @throws InvalidOriginReadTimeoutException * The read timeout specified for the origin is not valid. * @throws InvalidOriginKeepaliveTimeoutException * The keep alive timeout specified for the origin is not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException * The specified configuration for field-level encryption can't be associated with the specified cache * behavior. * @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException * The maximum number of distributions have been associated with the specified configuration for field-level * encryption. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws TooManyDistributionsAssociatedToCachePolicyException * The maximum number of distributions have been associated with the specified cache policy. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws TooManyDistributionsAssociatedToOriginRequestPolicyException * The maximum number of distributions have been associated with the specified origin request policy. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyDistributionsAssociatedToKeyGroupException * The number of distributions that reference this key group is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyKeyGroupsAssociatedToDistributionException * The number of key groups referenced by this distribution is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TrustedKeyGroupDoesNotExistException * The specified key group does not exist. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws RealtimeLogConfigOwnerMismatchException * The specified real-time log configuration belongs to a different AWS account. * @sample AmazonCloudFront.CreateDistribution * @see AWS * API Documentation */ CreateDistributionResult createDistribution(CreateDistributionRequest createDistributionRequest); /** *

* Create a new distribution with tags. *

* * @param createDistributionWithTagsRequest * The request to create a new distribution with tags. * @return Result of the CreateDistributionWithTags operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws DistributionAlreadyExistsException * The caller reference you attempted to create the distribution with is associated with another * distribution. * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InvalidViewerCertificateException * A viewer certificate specified is not valid. * @throws InvalidMinimumProtocolVersionException * The minimum protocol version specified is not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyDistributionsException * Processing your request would cause you to exceed the maximum number of distributions allowed. * @throws InvalidDefaultRootObjectException * The default root object file name is too big or contains an invalid character. * @throws InvalidRelativePathException * The relative path is too big, is not URL-encoded, or does not begin with a slash (/). * @throws InvalidErrorCodeException * An invalid error code was specified. * @throws InvalidResponseCodeException * A response code is not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidRequiredProtocolException * This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, * or omit the RequiredProtocols element from your distribution configuration. * @throws NoSuchOriginException * No origin exists with the specified Origin Id. * @throws TooManyOriginsException * You cannot create more origins for the distribution. * @throws TooManyOriginGroupsPerDistributionException * Processing your request would cause you to exceed the maximum number of origin groups allowed. * @throws TooManyCacheBehaviorsException * You cannot create more cache behaviors for the distribution. * @throws TooManyCookieNamesInWhiteListException * Your request contains more cookie names in the whitelist than are allowed per cache behavior. * @throws InvalidForwardCookiesException * Your request contains forward cookies option which doesn't match with the expectation for the * whitelisted list of cookie names. Either list of cookie names has been specified when not * allowed or list of cookie names is missing when expected. * @throws TooManyHeadersInForwardedValuesException * Your request contains too many headers in forwarded values. * @throws InvalidHeadersForS3OriginException * The headers specified are not valid for an Amazon S3 origin. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * The location code specified is not valid. * @throws InvalidGeoRestrictionParameterException * The specified geo restriction parameter is not valid. * @throws InvalidProtocolSettingsException * You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that * support Server Name Indication (SNI). * @throws InvalidTTLOrderException * The TTL order specified is not valid. * @throws InvalidWebACLIdException * A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS 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 AWS 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 function associations * per owner to be exceeded. * @throws TooManyDistributionsWithSingleFunctionARNException * The maximum number of distributions have been associated with the specified Lambda function. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda function association is invalid. * @throws TooManyDistributionsWithFunctionAssociationsException * You have reached the maximum number of distributions that are associated with a CloudFront function. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyFunctionAssociationsException * You have reached the maximum number of CloudFront function associations for this distribution. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidFunctionAssociationException * A CloudFront function association is invalid. * @throws InvalidOriginReadTimeoutException * The read timeout specified for the origin is not valid. * @throws InvalidOriginKeepaliveTimeoutException * The keep alive timeout specified for the origin is not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException * The specified configuration for field-level encryption can't be associated with the specified cache * behavior. * @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException * The maximum number of distributions have been associated with the specified configuration for field-level * encryption. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws TooManyDistributionsAssociatedToCachePolicyException * The maximum number of distributions have been associated with the specified cache policy. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws TooManyDistributionsAssociatedToOriginRequestPolicyException * The maximum number of distributions have been associated with the specified origin request policy. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyDistributionsAssociatedToKeyGroupException * The number of distributions that reference this key group is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyKeyGroupsAssociatedToDistributionException * The number of key groups referenced by this distribution is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TrustedKeyGroupDoesNotExistException * The specified key group does not exist. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws RealtimeLogConfigOwnerMismatchException * The specified real-time log configuration belongs to a different AWS account. * @sample AmazonCloudFront.CreateDistributionWithTags * @see AWS API Documentation */ CreateDistributionWithTagsResult createDistributionWithTags(CreateDistributionWithTagsRequest createDistributionWithTagsRequest); /** *

* Create a new field-level encryption configuration. *

* * @param createFieldLevelEncryptionConfigRequest * @return Result of the CreateFieldLevelEncryptionConfig operation returned by the service. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws FieldLevelEncryptionConfigAlreadyExistsException * The specified configuration for field-level encryption already exists. * @throws TooManyFieldLevelEncryptionConfigsException * The maximum number of configurations for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionQueryArgProfilesException * The maximum number of query arg profiles for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionContentTypeProfilesException * The maximum number of content type profiles for field-level encryption have been created. * @throws QueryArgProfileEmptyException * No profile specified for the field-level encryption query argument. * @sample AmazonCloudFront.CreateFieldLevelEncryptionConfig * @see AWS API Documentation */ CreateFieldLevelEncryptionConfigResult createFieldLevelEncryptionConfig(CreateFieldLevelEncryptionConfigRequest createFieldLevelEncryptionConfigRequest); /** *

* Create a field-level encryption profile. *

* * @param createFieldLevelEncryptionProfileRequest * @return Result of the CreateFieldLevelEncryptionProfile operation returned by the service. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws FieldLevelEncryptionProfileAlreadyExistsException * The specified profile for field-level encryption already exists. * @throws FieldLevelEncryptionProfileSizeExceededException * The maximum size of a profile for field-level encryption was exceeded. * @throws TooManyFieldLevelEncryptionProfilesException * The maximum number of profiles for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionEncryptionEntitiesException * The maximum number of encryption entities for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionFieldPatternsException * The maximum number of field patterns for field-level encryption have been created. * @sample AmazonCloudFront.CreateFieldLevelEncryptionProfile * @see AWS API Documentation */ CreateFieldLevelEncryptionProfileResult createFieldLevelEncryptionProfile(CreateFieldLevelEncryptionProfileRequest createFieldLevelEncryptionProfileRequest); /** *

* Creates a CloudFront function. *

*

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

*

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

*

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

* * @param createFunctionRequest * @return Result of the CreateFunction operation returned by the service. * @throws TooManyFunctionsException * You have reached the maximum number of CloudFront functions for this AWS 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 AWS 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. * @sample AmazonCloudFront.CreateFunction * @see AWS API * Documentation */ CreateFunctionResult createFunction(CreateFunctionRequest createFunctionRequest); /** *

* Create a new invalidation. *

* * @param createInvalidationRequest * The request to create an invalidation. * @return Result of the CreateInvalidation operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws BatchTooLargeException * Invalidation batch specified is too large. * @throws TooManyInvalidationsInProgressException * You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation * objects. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.CreateInvalidation * @see AWS * API Documentation */ CreateInvalidationResult createInvalidation(CreateInvalidationRequest createInvalidationRequest); /** *

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

*

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

* * @param createKeyGroupRequest * @return Result of the CreateKeyGroup operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws KeyGroupAlreadyExistsException * A key group with this name already exists. You must provide a unique name. To modify an existing key * group, use UpdateKeyGroup. * @throws TooManyKeyGroupsException * You have reached the maximum number of key groups for this AWS account. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyPublicKeysInKeyGroupException * The number of public keys in this key group is more than the maximum allowed. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.CreateKeyGroup * @see AWS API * Documentation */ CreateKeyGroupResult createKeyGroup(CreateKeyGroupRequest createKeyGroupRequest); /** *

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

*

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

* * @param createMonitoringSubscriptionRequest * @return Result of the CreateMonitoringSubscription operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.CreateMonitoringSubscription * @see AWS API Documentation */ CreateMonitoringSubscriptionResult createMonitoringSubscription(CreateMonitoringSubscriptionRequest createMonitoringSubscriptionRequest); /** *

* Creates an origin request policy. *

*

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

*
    *
  • *

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

    *
  • *
  • *

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

    *
  • *
  • *

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

    *
  • *
*

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

*

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

* * @param createOriginRequestPolicyRequest * @return Result of the CreateOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws OriginRequestPolicyAlreadyExistsException * An origin request policy with this name already exists. You must provide a unique name. To modify an * existing origin request policy, use UpdateOriginRequestPolicy. * @throws TooManyOriginRequestPoliciesException * You have reached the maximum number of origin request policies for this AWS account. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyHeadersInOriginRequestPolicyException * The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCookiesInOriginRequestPolicyException * The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyQueryStringsInOriginRequestPolicyException * The number of query strings in the origin request policy exceeds the maximum. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.CreateOriginRequestPolicy * @see AWS API Documentation */ CreateOriginRequestPolicyResult createOriginRequestPolicy(CreateOriginRequestPolicyRequest createOriginRequestPolicyRequest); /** *

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

* * @param createPublicKeyRequest * @return Result of the CreatePublicKey operation returned by the service. * @throws PublicKeyAlreadyExistsException * The specified public key already exists. * @throws InvalidArgumentException * An argument is invalid. * @throws TooManyPublicKeysException * The maximum number of public keys for field-level encryption have been created. To create a new public * key, delete one of the existing keys. * @sample AmazonCloudFront.CreatePublicKey * @see AWS API * Documentation */ CreatePublicKeyResult createPublicKey(CreatePublicKeyRequest createPublicKeyRequest); /** *

* Creates a real-time log configuration. *

*

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

*

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

* * @param createRealtimeLogConfigRequest * @return Result of the CreateRealtimeLogConfig operation returned by the service. * @throws RealtimeLogConfigAlreadyExistsException * A real-time log configuration with this name already exists. You must provide a unique name. To modify an * existing real-time log configuration, use UpdateRealtimeLogConfig. * @throws TooManyRealtimeLogConfigsException * You have reached the maximum number of real-time log configurations for this AWS account. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.CreateRealtimeLogConfig * @see AWS API Documentation */ CreateRealtimeLogConfigResult createRealtimeLogConfig(CreateRealtimeLogConfigRequest createRealtimeLogConfigRequest); /** *

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

* * @param createStreamingDistributionRequest * The request to create a new streaming distribution. * @return Result of the CreateStreamingDistribution operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws StreamingDistributionAlreadyExistsException * The caller reference you attempted to create the streaming distribution with is associated with another * distribution * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyStreamingDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyStreamingDistributionsException * Processing your request would cause you to exceed the maximum number of streaming distributions allowed. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.CreateStreamingDistribution * @see AWS API Documentation */ CreateStreamingDistributionResult createStreamingDistribution(CreateStreamingDistributionRequest createStreamingDistributionRequest); /** *

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

* * @param createStreamingDistributionWithTagsRequest * The request to create a new streaming distribution with tags. * @return Result of the CreateStreamingDistributionWithTags operation returned by the service. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws StreamingDistributionAlreadyExistsException * The caller reference you attempted to create the streaming distribution with is associated with another * distribution * @throws InvalidOriginException * The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws AccessDeniedException * Access denied. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws TooManyStreamingDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws TooManyStreamingDistributionsException * Processing your request would cause you to exceed the maximum number of streaming distributions allowed. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidTaggingException * The tagging specified is not valid. * @sample AmazonCloudFront.CreateStreamingDistributionWithTags * @see AWS API Documentation */ CreateStreamingDistributionWithTagsResult createStreamingDistributionWithTags( CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest); /** *

* Deletes a cache policy. *

*

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

*

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

* * @param deleteCachePolicyRequest * @return Result of the DeleteCachePolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws IllegalDeleteException * You cannot delete a managed policy. * @throws CachePolicyInUseException * Cannot delete the cache policy because it is attached to one or more cache behaviors. * @sample AmazonCloudFront.DeleteCachePolicy * @see AWS * API Documentation */ DeleteCachePolicyResult deleteCachePolicy(DeleteCachePolicyRequest deleteCachePolicyRequest); /** *

* Delete an origin access identity. *

* * @param deleteCloudFrontOriginAccessIdentityRequest * Deletes a origin access identity. * @return Result of the DeleteCloudFrontOriginAccessIdentity operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws CloudFrontOriginAccessIdentityInUseException * The Origin Access Identity specified is already in use. * @sample AmazonCloudFront.DeleteCloudFrontOriginAccessIdentity * @see AWS API Documentation */ DeleteCloudFrontOriginAccessIdentityResult deleteCloudFrontOriginAccessIdentity( DeleteCloudFrontOriginAccessIdentityRequest deleteCloudFrontOriginAccessIdentityRequest); /** *

* Delete a distribution. *

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

*

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

*
    *
  1. *

    * Disable the web distribution *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
  7. *

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

    *
  8. *
  9. *

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

    *
  10. *
  11. *

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

    *
  12. *
  13. *

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

    *
  14. *
  15. *

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

    *
  16. *
*

* For information about deleting a distribution using the CloudFront console, see Deleting a Distribution in the Amazon CloudFront Developer Guide. * @return Result of the DeleteDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws DistributionNotDisabledException * The specified CloudFront distribution is not disabled. You must disable the distribution before you can * delete it. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.DeleteDistribution * @see AWS * API Documentation */ DeleteDistributionResult deleteDistribution(DeleteDistributionRequest deleteDistributionRequest); /** *

* Remove a field-level encryption configuration. *

* * @param deleteFieldLevelEncryptionConfigRequest * @return Result of the DeleteFieldLevelEncryptionConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FieldLevelEncryptionConfigInUseException * The specified configuration for field-level encryption is in use. * @sample AmazonCloudFront.DeleteFieldLevelEncryptionConfig * @see AWS API Documentation */ DeleteFieldLevelEncryptionConfigResult deleteFieldLevelEncryptionConfig(DeleteFieldLevelEncryptionConfigRequest deleteFieldLevelEncryptionConfigRequest); /** *

* Remove a field-level encryption profile. *

* * @param deleteFieldLevelEncryptionProfileRequest * @return Result of the DeleteFieldLevelEncryptionProfile operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FieldLevelEncryptionProfileInUseException * The specified profile for field-level encryption is in use. * @sample AmazonCloudFront.DeleteFieldLevelEncryptionProfile * @see AWS API Documentation */ DeleteFieldLevelEncryptionProfileResult deleteFieldLevelEncryptionProfile(DeleteFieldLevelEncryptionProfileRequest deleteFieldLevelEncryptionProfileRequest); /** *

* Deletes a CloudFront function. *

*

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

*

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

* * @param deleteFunctionRequest * @return Result of the DeleteFunction operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws FunctionInUseException * Cannot delete the function because it’s attached to one or more cache behaviors. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.DeleteFunction * @see AWS API * Documentation */ DeleteFunctionResult deleteFunction(DeleteFunctionRequest deleteFunctionRequest); /** *

* Deletes a key group. *

*

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

*

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

* * @param deleteKeyGroupRequest * @return Result of the DeleteKeyGroup operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws ResourceInUseException * Cannot delete this resource because it is in use. * @sample AmazonCloudFront.DeleteKeyGroup * @see AWS API * Documentation */ DeleteKeyGroupResult deleteKeyGroup(DeleteKeyGroupRequest deleteKeyGroupRequest); /** *

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

* * @param deleteMonitoringSubscriptionRequest * @return Result of the DeleteMonitoringSubscription operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.DeleteMonitoringSubscription * @see AWS API Documentation */ DeleteMonitoringSubscriptionResult deleteMonitoringSubscription(DeleteMonitoringSubscriptionRequest deleteMonitoringSubscriptionRequest); /** *

* Deletes an origin request policy. *

*

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

*

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

* * @param deleteOriginRequestPolicyRequest * @return Result of the DeleteOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws IllegalDeleteException * You cannot delete a managed policy. * @throws OriginRequestPolicyInUseException * Cannot delete the origin request policy because it is attached to one or more cache behaviors. * @sample AmazonCloudFront.DeleteOriginRequestPolicy * @see AWS API Documentation */ DeleteOriginRequestPolicyResult deleteOriginRequestPolicy(DeleteOriginRequestPolicyRequest deleteOriginRequestPolicyRequest); /** *

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

* * @param deletePublicKeyRequest * @return Result of the DeletePublicKey operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws PublicKeyInUseException * The specified public key is in use. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.DeletePublicKey * @see AWS API * Documentation */ DeletePublicKeyResult deletePublicKey(DeletePublicKeyRequest deletePublicKeyRequest); /** *

* Deletes a real-time log configuration. *

*

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

*

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

* * @param deleteRealtimeLogConfigRequest * @return Result of the DeleteRealtimeLogConfig operation returned by the service. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws RealtimeLogConfigInUseException * Cannot delete the real-time log configuration because it is attached to one or more cache behaviors. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.DeleteRealtimeLogConfig * @see AWS API Documentation */ DeleteRealtimeLogConfigResult deleteRealtimeLogConfig(DeleteRealtimeLogConfigRequest deleteRealtimeLogConfigRequest); /** *

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

*

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

*
    *
  1. *

    * Disable the RTMP distribution. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
  7. *

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

    *
  8. *
  9. *

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

    *
  10. *
  11. *

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

    *
  12. *
  13. *

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

    *
  14. *
  15. *

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

    *
  16. *
*

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

* * @param deleteStreamingDistributionRequest * The request to delete a streaming distribution. * @return Result of the DeleteStreamingDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws StreamingDistributionNotDisabledException * The specified CloudFront distribution is not disabled. You must disable the distribution before you can * delete it. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.DeleteStreamingDistribution * @see AWS API Documentation */ DeleteStreamingDistributionResult deleteStreamingDistribution(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest); /** *

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

*

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

* * @param describeFunctionRequest * @return Result of the DescribeFunction operation returned by the service. * @throws NoSuchFunctionExistsException * The function does not exist. * @sample AmazonCloudFront.DescribeFunction * @see AWS * API Documentation */ DescribeFunctionResult describeFunction(DescribeFunctionRequest describeFunctionRequest); /** *

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

*
    *
  • *

    * The policy’s identifier. *

    *
  • *
  • *

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

    *
  • *
*

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

* * @param getCachePolicyRequest * @return Result of the GetCachePolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @sample AmazonCloudFront.GetCachePolicy * @see AWS API * Documentation */ GetCachePolicyResult getCachePolicy(GetCachePolicyRequest getCachePolicyRequest); /** *

* Gets a cache policy configuration. *

*

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

* * @param getCachePolicyConfigRequest * @return Result of the GetCachePolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @sample AmazonCloudFront.GetCachePolicyConfig * @see AWS API Documentation */ GetCachePolicyConfigResult getCachePolicyConfig(GetCachePolicyConfigRequest getCachePolicyConfigRequest); /** *

* Get the information about an origin access identity. *

* * @param getCloudFrontOriginAccessIdentityRequest * The request to get an origin access identity's information. * @return Result of the GetCloudFrontOriginAccessIdentity operation returned by the service. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetCloudFrontOriginAccessIdentity * @see AWS API Documentation */ GetCloudFrontOriginAccessIdentityResult getCloudFrontOriginAccessIdentity(GetCloudFrontOriginAccessIdentityRequest getCloudFrontOriginAccessIdentityRequest); /** *

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

* * @param getCloudFrontOriginAccessIdentityConfigRequest * The origin access identity's configuration information. For more information, see CloudFrontOriginAccessIdentityConfig. * @return Result of the GetCloudFrontOriginAccessIdentityConfig operation returned by the service. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetCloudFrontOriginAccessIdentityConfig * @see AWS API Documentation */ GetCloudFrontOriginAccessIdentityConfigResult getCloudFrontOriginAccessIdentityConfig( GetCloudFrontOriginAccessIdentityConfigRequest getCloudFrontOriginAccessIdentityConfigRequest); /** *

* Get the information about a distribution. *

* * @param getDistributionRequest * The request to get a distribution's information. * @return Result of the GetDistribution operation returned by the service. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetDistribution * @see AWS API * Documentation */ GetDistributionResult getDistribution(GetDistributionRequest getDistributionRequest); /** *

* Get the configuration information about a distribution. *

* * @param getDistributionConfigRequest * The request to get a distribution configuration. * @return Result of the GetDistributionConfig operation returned by the service. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetDistributionConfig * @see AWS API Documentation */ GetDistributionConfigResult getDistributionConfig(GetDistributionConfigRequest getDistributionConfigRequest); /** *

* Get the field-level encryption configuration information. *

* * @param getFieldLevelEncryptionRequest * @return Result of the GetFieldLevelEncryption operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryption * @see AWS API Documentation */ GetFieldLevelEncryptionResult getFieldLevelEncryption(GetFieldLevelEncryptionRequest getFieldLevelEncryptionRequest); /** *

* Get the field-level encryption configuration information. *

* * @param getFieldLevelEncryptionConfigRequest * @return Result of the GetFieldLevelEncryptionConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryptionConfig * @see AWS API Documentation */ GetFieldLevelEncryptionConfigResult getFieldLevelEncryptionConfig(GetFieldLevelEncryptionConfigRequest getFieldLevelEncryptionConfigRequest); /** *

* Get the field-level encryption profile information. *

* * @param getFieldLevelEncryptionProfileRequest * @return Result of the GetFieldLevelEncryptionProfile operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryptionProfile * @see AWS API Documentation */ GetFieldLevelEncryptionProfileResult getFieldLevelEncryptionProfile(GetFieldLevelEncryptionProfileRequest getFieldLevelEncryptionProfileRequest); /** *

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

* * @param getFieldLevelEncryptionProfileConfigRequest * @return Result of the GetFieldLevelEncryptionProfileConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @sample AmazonCloudFront.GetFieldLevelEncryptionProfileConfig * @see AWS API Documentation */ GetFieldLevelEncryptionProfileConfigResult getFieldLevelEncryptionProfileConfig( GetFieldLevelEncryptionProfileConfigRequest getFieldLevelEncryptionProfileConfigRequest); /** *

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

*

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

* * @param getFunctionRequest * @return Result of the GetFunction operation returned by the service. * @throws NoSuchFunctionExistsException * The function does not exist. * @sample AmazonCloudFront.GetFunction * @see AWS API * Documentation */ GetFunctionResult getFunction(GetFunctionRequest getFunctionRequest); /** *

* Get the information about an invalidation. *

* * @param getInvalidationRequest * The request to get an invalidation's information. * @return Result of the GetInvalidation operation returned by the service. * @throws NoSuchInvalidationException * The specified invalidation does not exist. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetInvalidation * @see AWS API * Documentation */ GetInvalidationResult getInvalidation(GetInvalidationRequest getInvalidationRequest); /** *

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

*

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

* * @param getKeyGroupRequest * @return Result of the GetKeyGroup operation returned by the service. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.GetKeyGroup * @see AWS API * Documentation */ GetKeyGroupResult getKeyGroup(GetKeyGroupRequest getKeyGroupRequest); /** *

* Gets a key group configuration. *

*

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

* * @param getKeyGroupConfigRequest * @return Result of the GetKeyGroupConfig operation returned by the service. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.GetKeyGroupConfig * @see AWS * API Documentation */ GetKeyGroupConfigResult getKeyGroupConfig(GetKeyGroupConfigRequest getKeyGroupConfigRequest); /** *

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

* * @param getMonitoringSubscriptionRequest * @return Result of the GetMonitoringSubscription operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws UnsupportedOperationException * This operation is not supported in this region. * @sample AmazonCloudFront.GetMonitoringSubscription * @see AWS API Documentation */ GetMonitoringSubscriptionResult getMonitoringSubscription(GetMonitoringSubscriptionRequest getMonitoringSubscriptionRequest); /** *

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

*
    *
  • *

    * The policy’s identifier. *

    *
  • *
  • *

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

    *
  • *
*

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

* * @param getOriginRequestPolicyRequest * @return Result of the GetOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @sample AmazonCloudFront.GetOriginRequestPolicy * @see AWS API Documentation */ GetOriginRequestPolicyResult getOriginRequestPolicy(GetOriginRequestPolicyRequest getOriginRequestPolicyRequest); /** *

* Gets an origin request policy configuration. *

*

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

* * @param getOriginRequestPolicyConfigRequest * @return Result of the GetOriginRequestPolicyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @sample AmazonCloudFront.GetOriginRequestPolicyConfig * @see AWS API Documentation */ GetOriginRequestPolicyConfigResult getOriginRequestPolicyConfig(GetOriginRequestPolicyConfigRequest getOriginRequestPolicyConfigRequest); /** *

* Gets a public key. *

* * @param getPublicKeyRequest * @return Result of the GetPublicKey operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @sample AmazonCloudFront.GetPublicKey * @see AWS API * Documentation */ GetPublicKeyResult getPublicKey(GetPublicKeyRequest getPublicKeyRequest); /** *

* Gets a public key configuration. *

* * @param getPublicKeyConfigRequest * @return Result of the GetPublicKeyConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @sample AmazonCloudFront.GetPublicKeyConfig * @see AWS * API Documentation */ GetPublicKeyConfigResult getPublicKeyConfig(GetPublicKeyConfigRequest getPublicKeyConfigRequest); /** *

* Gets a real-time log configuration. *

*

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

* * @param getRealtimeLogConfigRequest * @return Result of the GetRealtimeLogConfig operation returned by the service. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetRealtimeLogConfig * @see AWS API Documentation */ GetRealtimeLogConfigResult getRealtimeLogConfig(GetRealtimeLogConfigRequest getRealtimeLogConfigRequest); /** *

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

* * @param getStreamingDistributionRequest * The request to get a streaming distribution's information. * @return Result of the GetStreamingDistribution operation returned by the service. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetStreamingDistribution * @see AWS API Documentation */ GetStreamingDistributionResult getStreamingDistribution(GetStreamingDistributionRequest getStreamingDistributionRequest); /** *

* Get the configuration information about a streaming distribution. *

* * @param getStreamingDistributionConfigRequest * To request to get a streaming distribution configuration. * @return Result of the GetStreamingDistributionConfig operation returned by the service. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.GetStreamingDistributionConfig * @see AWS API Documentation */ GetStreamingDistributionConfigResult getStreamingDistributionConfig(GetStreamingDistributionConfigRequest getStreamingDistributionConfigRequest); /** *

* Gets a list of cache policies. *

*

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

*

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

* * @param listCachePoliciesRequest * @return Result of the ListCachePolicies operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListCachePolicies * @see AWS * API Documentation */ ListCachePoliciesResult listCachePolicies(ListCachePoliciesRequest listCachePoliciesRequest); /** *

* Lists origin access identities. *

* * @param listCloudFrontOriginAccessIdentitiesRequest * The request to list origin access identities. * @return Result of the ListCloudFrontOriginAccessIdentities operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListCloudFrontOriginAccessIdentities * @see AWS API Documentation */ ListCloudFrontOriginAccessIdentitiesResult listCloudFrontOriginAccessIdentities( ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest); /** *

* List CloudFront distributions. *

* * @param listDistributionsRequest * The request to list your distributions. * @return Result of the ListDistributions operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListDistributions * @see AWS * API Documentation */ ListDistributionsResult listDistributions(ListDistributionsRequest listDistributionsRequest); /** *

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

*

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

* * @param listDistributionsByCachePolicyIdRequest * @return Result of the ListDistributionsByCachePolicyId operation returned by the service. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListDistributionsByCachePolicyId * @see AWS API Documentation */ ListDistributionsByCachePolicyIdResult listDistributionsByCachePolicyId(ListDistributionsByCachePolicyIdRequest listDistributionsByCachePolicyIdRequest); /** *

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

*

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

* * @param listDistributionsByKeyGroupRequest * @return Result of the ListDistributionsByKeyGroup operation returned by the service. * @throws NoSuchResourceException * A resource that was specified is not valid. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListDistributionsByKeyGroup * @see AWS API Documentation */ ListDistributionsByKeyGroupResult listDistributionsByKeyGroup(ListDistributionsByKeyGroupRequest listDistributionsByKeyGroupRequest); /** *

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

*

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

* * @param listDistributionsByOriginRequestPolicyIdRequest * @return Result of the ListDistributionsByOriginRequestPolicyId operation returned by the service. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListDistributionsByOriginRequestPolicyId * @see AWS API Documentation */ ListDistributionsByOriginRequestPolicyIdResult listDistributionsByOriginRequestPolicyId( ListDistributionsByOriginRequestPolicyIdRequest listDistributionsByOriginRequestPolicyIdRequest); /** *

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

*

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

*

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

* * @param listDistributionsByRealtimeLogConfigRequest * @return Result of the ListDistributionsByRealtimeLogConfig operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListDistributionsByRealtimeLogConfig * @see AWS API Documentation */ ListDistributionsByRealtimeLogConfigResult listDistributionsByRealtimeLogConfig( ListDistributionsByRealtimeLogConfigRequest listDistributionsByRealtimeLogConfigRequest); /** *

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

* * @param listDistributionsByWebACLIdRequest * The request to list distributions that are associated with a specified AWS 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 AWS 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 AWS WAF Classic, use the ACL ID, for example * 473e64fd-f30b-4765-81a0-62ad96dd167a. * @sample AmazonCloudFront.ListDistributionsByWebACLId * @see AWS API Documentation */ ListDistributionsByWebACLIdResult listDistributionsByWebACLId(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest); /** *

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

* * @param listFieldLevelEncryptionConfigsRequest * @return Result of the ListFieldLevelEncryptionConfigs operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListFieldLevelEncryptionConfigs * @see AWS API Documentation */ ListFieldLevelEncryptionConfigsResult listFieldLevelEncryptionConfigs(ListFieldLevelEncryptionConfigsRequest listFieldLevelEncryptionConfigsRequest); /** *

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

* * @param listFieldLevelEncryptionProfilesRequest * @return Result of the ListFieldLevelEncryptionProfiles operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListFieldLevelEncryptionProfiles * @see AWS API Documentation */ ListFieldLevelEncryptionProfilesResult listFieldLevelEncryptionProfiles(ListFieldLevelEncryptionProfilesRequest listFieldLevelEncryptionProfilesRequest); /** *

* Gets a list of all CloudFront functions in your AWS 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. * @sample AmazonCloudFront.ListFunctions * @see AWS API * Documentation */ ListFunctionsResult listFunctions(ListFunctionsRequest listFunctionsRequest); /** *

* Lists invalidation batches. *

* * @param listInvalidationsRequest * The request to list invalidations. * @return Result of the ListInvalidations operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.ListInvalidations * @see AWS * API Documentation */ ListInvalidationsResult listInvalidations(ListInvalidationsRequest listInvalidationsRequest); /** *

* Gets a list of key groups. *

*

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

* * @param listKeyGroupsRequest * @return Result of the ListKeyGroups operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListKeyGroups * @see AWS API * Documentation */ ListKeyGroupsResult listKeyGroups(ListKeyGroupsRequest listKeyGroupsRequest); /** *

* Gets a list of origin request policies. *

*

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

*

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

* * @param listOriginRequestPoliciesRequest * @return Result of the ListOriginRequestPolicies operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListOriginRequestPolicies * @see AWS API Documentation */ ListOriginRequestPoliciesResult listOriginRequestPolicies(ListOriginRequestPoliciesRequest listOriginRequestPoliciesRequest); /** *

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

* * @param listPublicKeysRequest * @return Result of the ListPublicKeys operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListPublicKeys * @see AWS API * Documentation */ ListPublicKeysResult listPublicKeys(ListPublicKeysRequest listPublicKeysRequest); /** *

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

*

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

* * @param listRealtimeLogConfigsRequest * @return Result of the ListRealtimeLogConfigs operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @sample AmazonCloudFront.ListRealtimeLogConfigs * @see AWS API Documentation */ ListRealtimeLogConfigsResult listRealtimeLogConfigs(ListRealtimeLogConfigsRequest listRealtimeLogConfigsRequest); /** *

* List streaming distributions. *

* * @param listStreamingDistributionsRequest * The request to list your streaming distributions. * @return Result of the ListStreamingDistributions operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @sample AmazonCloudFront.ListStreamingDistributions * @see AWS API Documentation */ ListStreamingDistributionsResult listStreamingDistributions(ListStreamingDistributionsRequest listStreamingDistributionsRequest); /** *

* List tags for a CloudFront resource. *

* * @param listTagsForResourceRequest * The request to list tags for a CloudFront resource. * @return Result of the ListTagsForResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.ListTagsForResource * @see AWS * API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

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

*

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

*

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

* * @param publishFunctionRequest * @return Result of the PublishFunction operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.PublishFunction * @see AWS API * Documentation */ PublishFunctionResult publishFunction(PublishFunctionRequest publishFunctionRequest); /** *

* Add tags to a CloudFront resource. *

* * @param tagResourceRequest * The request to add tags to a CloudFront resource. * @return Result of the TagResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* Tests a CloudFront function. *

*

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

*

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

* * @param testFunctionRequest * @return Result of the TestFunction operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws TestFunctionFailedException * The CloudFront function failed. * @sample AmazonCloudFront.TestFunction * @see AWS API * Documentation */ TestFunctionResult testFunction(TestFunctionRequest testFunctionRequest); /** *

* Remove tags from a CloudFront resource. *

* * @param untagResourceRequest * The request to remove tags from a CloudFront resource. * @return Result of the UntagResource operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidTaggingException * The tagging specified is not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @sample AmazonCloudFront.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* Updates a cache policy configuration. *

*

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

*
    *
  1. *

    * Use GetCachePolicyConfig to get the current configuration. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateCachePolicyRequest * @return Result of the UpdateCachePolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws CachePolicyAlreadyExistsException * A cache policy with this name already exists. You must provide a unique name. To modify an existing cache * policy, use UpdateCachePolicy. * @throws TooManyHeadersInCachePolicyException * The number of headers in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCookiesInCachePolicyException * The number of cookies in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyQueryStringsInCachePolicyException * The number of query strings in the cache policy exceeds the maximum. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateCachePolicy * @see AWS * API Documentation */ UpdateCachePolicyResult updateCachePolicy(UpdateCachePolicyRequest updateCachePolicyRequest); /** *

* Update an origin access identity. *

* * @param updateCloudFrontOriginAccessIdentityRequest * The request to update an origin access identity. * @return Result of the UpdateCloudFrontOriginAccessIdentity operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws InvalidArgumentException * An argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.UpdateCloudFrontOriginAccessIdentity * @see AWS API Documentation */ UpdateCloudFrontOriginAccessIdentityResult updateCloudFrontOriginAccessIdentity( UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest); /** *

* Updates the configuration for a web distribution. *

* *

* When you update a distribution, there are more required fields than when you create a distribution. When you * update your distribution by using this API action, follow the steps here to get the current configuration and * then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer * Guide. *

*
*

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

*

* For information about updating a distribution using the CloudFront console instead, see Creating a Distribution in the Amazon CloudFront Developer Guide. *

*

* To update a web distribution using the CloudFront API *

*
    *
  1. *

    * Submit a * GetDistributionConfig request to get the current configuration and an Etag header for the * distribution. *

    * *

    * If you update the distribution again, you must get a new Etag header. *

    *
  2. *
  3. *

    * Update the XML document that was returned in the response to your GetDistributionConfig request to * include your changes. *

    * *

    * When you edit the XML file, be aware of the following: *

    *
      *
    • *

      * You must strip out the ETag parameter that is returned. *

      *
    • *
    • *

      * Additional fields are required when you update a distribution. There may be fields included in the XML file for * features that you haven't configured for your distribution. This is expected and required to successfully update * the distribution. *

      *
    • *
    • *

      * You can't change the value of CallerReference. If you try to change this value, CloudFront returns * an IllegalUpdate error. *

      *
    • *
    • *

      * The new configuration replaces the existing configuration; the values that you specify in an * UpdateDistribution request are not merged into your existing configuration. When you add, delete, or * replace values in an element that allows multiple values (for example, CNAME), you must specify all * of the values that you want to appear in the updated distribution. In addition, you must update the corresponding * Quantity element. *

      *
    • *
    *
  4. *
  5. *

    * Submit an UpdateDistribution request to update the configuration for your distribution: *

    *
      *
    • *

      * In the request body, include the XML document that you updated in Step 2. The request body must include an XML * document with a DistributionConfig element. *

      *
    • *
    • *

      * Set the value of the HTTP If-Match header to the value of the ETag header that * CloudFront returned when you submitted the GetDistributionConfig request in Step 1. *

      *
    • *
    *
  6. *
  7. *

    * Review the response to the UpdateDistribution request to confirm that the configuration was * successfully updated. *

    *
  8. *
  9. *

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

    *
  10. *
* * @param updateDistributionRequest * The request to update a distribution. * @return Result of the UpdateDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws TooManyDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws InvalidDefaultRootObjectException * The default root object file name is too big or contains an invalid character. * @throws InvalidRelativePathException * The relative path is too big, is not URL-encoded, or does not begin with a slash (/). * @throws InvalidErrorCodeException * An invalid error code was specified. * @throws InvalidResponseCodeException * A response code is not valid. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InvalidViewerCertificateException * A viewer certificate specified is not valid. * @throws InvalidMinimumProtocolVersionException * The minimum protocol version specified is not valid. * @throws InvalidRequiredProtocolException * This operation requires the HTTPS protocol. Ensure that you specify the HTTPS protocol in your request, * or omit the RequiredProtocols element from your distribution configuration. * @throws NoSuchOriginException * No origin exists with the specified Origin Id. * @throws TooManyOriginsException * You cannot create more origins for the distribution. * @throws TooManyOriginGroupsPerDistributionException * Processing your request would cause you to exceed the maximum number of origin groups allowed. * @throws TooManyCacheBehaviorsException * You cannot create more cache behaviors for the distribution. * @throws TooManyCookieNamesInWhiteListException * Your request contains more cookie names in the whitelist than are allowed per cache behavior. * @throws InvalidForwardCookiesException * Your request contains forward cookies option which doesn't match with the expectation for the * whitelisted list of cookie names. Either list of cookie names has been specified when not * allowed or list of cookie names is missing when expected. * @throws TooManyHeadersInForwardedValuesException * Your request contains too many headers in forwarded values. * @throws InvalidHeadersForS3OriginException * The headers specified are not valid for an Amazon S3 origin. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * The location code specified is not valid. * @throws InvalidGeoRestrictionParameterException * The specified geo restriction parameter is not valid. * @throws InvalidTTLOrderException * The TTL order specified is not valid. * @throws InvalidWebACLIdException * A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS 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 AWS 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 function associations * per owner to be exceeded. * @throws TooManyDistributionsWithSingleFunctionARNException * The maximum number of distributions have been associated with the specified Lambda function. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda function association is invalid. * @throws TooManyDistributionsWithFunctionAssociationsException * You have reached the maximum number of distributions that are associated with a CloudFront function. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyFunctionAssociationsException * You have reached the maximum number of CloudFront function associations for this distribution. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws InvalidFunctionAssociationException * A CloudFront function association is invalid. * @throws InvalidOriginReadTimeoutException * The read timeout specified for the origin is not valid. * @throws InvalidOriginKeepaliveTimeoutException * The keep alive timeout specified for the origin is not valid. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws IllegalFieldLevelEncryptionConfigAssociationWithCacheBehaviorException * The specified configuration for field-level encryption can't be associated with the specified cache * behavior. * @throws TooManyDistributionsAssociatedToFieldLevelEncryptionConfigException * The maximum number of distributions have been associated with the specified configuration for field-level * encryption. * @throws NoSuchCachePolicyException * The cache policy does not exist. * @throws TooManyDistributionsAssociatedToCachePolicyException * The maximum number of distributions have been associated with the specified cache policy. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws TooManyDistributionsAssociatedToOriginRequestPolicyException * The maximum number of distributions have been associated with the specified origin request policy. For * more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyDistributionsAssociatedToKeyGroupException * The number of distributions that reference this key group is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyKeyGroupsAssociatedToDistributionException * The number of key groups referenced by this distribution is more than the maximum allowed. For more * information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TrustedKeyGroupDoesNotExistException * The specified key group does not exist. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws RealtimeLogConfigOwnerMismatchException * The specified real-time log configuration belongs to a different AWS account. * @sample AmazonCloudFront.UpdateDistribution * @see AWS * API Documentation */ UpdateDistributionResult updateDistribution(UpdateDistributionRequest updateDistributionRequest); /** *

* Update a field-level encryption configuration. *

* * @param updateFieldLevelEncryptionConfigRequest * @return Result of the UpdateFieldLevelEncryptionConfig operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws NoSuchFieldLevelEncryptionConfigException * The specified configuration for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws TooManyFieldLevelEncryptionQueryArgProfilesException * The maximum number of query arg profiles for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionContentTypeProfilesException * The maximum number of content type profiles for field-level encryption have been created. * @throws QueryArgProfileEmptyException * No profile specified for the field-level encryption query argument. * @sample AmazonCloudFront.UpdateFieldLevelEncryptionConfig * @see AWS API Documentation */ UpdateFieldLevelEncryptionConfigResult updateFieldLevelEncryptionConfig(UpdateFieldLevelEncryptionConfigRequest updateFieldLevelEncryptionConfigRequest); /** *

* Update a field-level encryption profile. *

* * @param updateFieldLevelEncryptionProfileRequest * @return Result of the UpdateFieldLevelEncryptionProfile operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws FieldLevelEncryptionProfileAlreadyExistsException * The specified profile for field-level encryption already exists. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws NoSuchFieldLevelEncryptionProfileException * The specified profile for field-level encryption doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FieldLevelEncryptionProfileSizeExceededException * The maximum size of a profile for field-level encryption was exceeded. * @throws TooManyFieldLevelEncryptionEncryptionEntitiesException * The maximum number of encryption entities for field-level encryption have been created. * @throws TooManyFieldLevelEncryptionFieldPatternsException * The maximum number of field patterns for field-level encryption have been created. * @sample AmazonCloudFront.UpdateFieldLevelEncryptionProfile * @see AWS API Documentation */ UpdateFieldLevelEncryptionProfileResult updateFieldLevelEncryptionProfile(UpdateFieldLevelEncryptionProfileRequest updateFieldLevelEncryptionProfileRequest); /** *

* Updates a CloudFront function. *

*

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

*

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

* * @param updateFunctionRequest * @return Result of the UpdateFunction operation returned by the service. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchFunctionExistsException * The function does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws FunctionSizeLimitExceededException * The function is too large. For more information, see Quotas (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateFunction * @see AWS API * Documentation */ UpdateFunctionResult updateFunction(UpdateFunctionRequest updateFunctionRequest); /** *

* Updates a key group. *

*

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

*
    *
  1. *

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

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateKeyGroupRequest * @return Result of the UpdateKeyGroup operation returned by the service. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchResourceException * A resource that was specified is not valid. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws KeyGroupAlreadyExistsException * A key group with this name already exists. You must provide a unique name. To modify an existing key * group, use UpdateKeyGroup. * @throws InvalidArgumentException * An argument is invalid. * @throws TooManyPublicKeysInKeyGroupException * The number of public keys in this key group is more than the maximum allowed. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateKeyGroup * @see AWS API * Documentation */ UpdateKeyGroupResult updateKeyGroup(UpdateKeyGroupRequest updateKeyGroupRequest); /** *

* Updates an origin request policy configuration. *

*

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

*
    *
  1. *

    * Use GetOriginRequestPolicyConfig to get the current configuration. *

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
* * @param updateOriginRequestPolicyRequest * @return Result of the UpdateOriginRequestPolicy operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws NoSuchOriginRequestPolicyException * The origin request policy does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws OriginRequestPolicyAlreadyExistsException * An origin request policy with this name already exists. You must provide a unique name. To modify an * existing origin request policy, use UpdateOriginRequestPolicy. * @throws TooManyHeadersInOriginRequestPolicyException * The number of headers in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyCookiesInOriginRequestPolicyException * The number of cookies in the origin request policy exceeds the maximum. For more information, see Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @throws TooManyQueryStringsInOriginRequestPolicyException * The number of query strings in the origin request policy exceeds the maximum. For more information, see * Quotas * (formerly known as limits) in the Amazon CloudFront Developer Guide. * @sample AmazonCloudFront.UpdateOriginRequestPolicy * @see AWS API Documentation */ UpdateOriginRequestPolicyResult updateOriginRequestPolicy(UpdateOriginRequestPolicyRequest updateOriginRequestPolicyRequest); /** *

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

* * @param updatePublicKeyRequest * @return Result of the UpdatePublicKey operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws CannotChangeImmutablePublicKeyFieldsException * You can't change the value of a public key. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws NoSuchPublicKeyException * The specified public key doesn't exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @sample AmazonCloudFront.UpdatePublicKey * @see AWS API * Documentation */ UpdatePublicKeyResult updatePublicKey(UpdatePublicKeyRequest updatePublicKeyRequest); /** *

* Updates a real-time log configuration. *

*

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

*
    *
  1. *

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

    *
  2. *
  3. *

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

    *
  4. *
  5. *

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

    *
  6. *
*

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

* * @param updateRealtimeLogConfigRequest * @return Result of the UpdateRealtimeLogConfig operation returned by the service. * @throws NoSuchRealtimeLogConfigException * The real-time log configuration does not exist. * @throws InvalidArgumentException * An argument is invalid. * @throws AccessDeniedException * Access denied. * @sample AmazonCloudFront.UpdateRealtimeLogConfig * @see AWS API Documentation */ UpdateRealtimeLogConfigResult updateRealtimeLogConfig(UpdateRealtimeLogConfigRequest updateRealtimeLogConfigRequest); /** *

* Update a streaming distribution. *

* * @param updateStreamingDistributionRequest * The request to update a streaming distribution. * @return Result of the UpdateStreamingDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws CNAMEAlreadyExistsException * The CNAME specified is already defined for CloudFront. * @throws IllegalUpdateException * The update contains modifications that are not allowed. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header * is set. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws PreconditionFailedException * The precondition in one or more of the request fields evaluated to false. * @throws TooManyStreamingDistributionCNAMEsException * Your request contains more CNAMEs than are allowed per distribution. * @throws InvalidArgumentException * An argument is invalid. * @throws InvalidOriginAccessIdentityException * The origin access identity is not valid or doesn't exist. * @throws TooManyTrustedSignersException * Your request contains more trusted signers than are allowed per distribution. * @throws TrustedSignerDoesNotExistException * One or more of your trusted signers don't exist. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items don't match. * @sample AmazonCloudFront.UpdateStreamingDistribution * @see AWS API Documentation */ UpdateStreamingDistributionResult updateStreamingDistribution(UpdateStreamingDistributionRequest updateStreamingDistributionRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); AmazonCloudFrontWaiters waiters(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy