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

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

/*
 * Copyright 2012-2017 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 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 * the CloudFront API actions, data types, and errors. For detailed information about CloudFront features and their * associated API calls, see the Amazon CloudFront Developer Guide. *

*/ 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: * http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912 *

* 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. */ 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) */ void setRegion(Region region); /** *

* 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. * @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 * The argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not match. * @sample AmazonCloudFront.CreateCloudFrontOriginAccessIdentity * @see AWS API Documentation */ CreateCloudFrontOriginAccessIdentityResult createCloudFrontOriginAccessIdentity( CreateCloudFrontOriginAccessIdentityRequest createCloudFrontOriginAccessIdentityRequest); /** *

* Creates a new web distribution. Send a GET request to the * /CloudFront API version/distribution/distribution ID resource. *

* * @param createDistributionRequest * The request to create a new distribution. * @return Result of the CreateDistribution operation returned by the service. * @throws CNAMEAlreadyExistsException * @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 do not exist. * @throws InvalidViewerCertificateException * @throws InvalidMinimumProtocolVersionException * @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 * @throws InvalidResponseCodeException * @throws InvalidArgumentException * The 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 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 * @throws InvalidHeadersForS3OriginException * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * @throws InvalidGeoRestrictionParameterException * @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 * @throws InvalidWebACLIdException * @throws TooManyOriginCustomHeadersException * @throws TooManyQueryStringParametersException * @throws InvalidQueryStringParametersException * @throws TooManyDistributionsWithLambdaAssociationsException * Processing your request would cause the maximum number of distributions with Lambda function associations * per owner to be exceeded. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda function association is invalid. * @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 * @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 do not exist. * @throws InvalidViewerCertificateException * @throws InvalidMinimumProtocolVersionException * @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 * @throws InvalidResponseCodeException * @throws InvalidArgumentException * The 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 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 * @throws InvalidHeadersForS3OriginException * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * @throws InvalidGeoRestrictionParameterException * @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 * @throws InvalidWebACLIdException * @throws TooManyOriginCustomHeadersException * @throws InvalidTaggingException * @throws TooManyQueryStringParametersException * @throws InvalidQueryStringParametersException * @throws TooManyDistributionsWithLambdaAssociationsException * Processing your request would cause the maximum number of distributions with Lambda function associations * per owner to be exceeded. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda function association is invalid. * @sample AmazonCloudFront.CreateDistributionWithTags * @see AWS API Documentation */ CreateDistributionWithTagsResult createDistributionWithTags(CreateDistributionWithTagsRequest createDistributionWithTagsRequest); /** *

* 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 * The argument is invalid. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws BatchTooLargeException * @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 do not match. * @sample AmazonCloudFront.CreateInvalidation * @see AWS * API Documentation */ CreateInvalidationResult createInvalidation(CreateInvalidationRequest createInvalidationRequest); /** *

* Creates a new RMTP distribution. An RTMP distribution is similar to a web distribution, but an RTMP distribution * streams media files using the Adobe Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP. *

*

* To create a new web distribution, submit a POST request to the CloudFront API * version/distribution resource. The request body must include a document with a * StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig * element and returns other information about the RTMP distribution. *

*

* To get the status of your request, use the GET StreamingDistribution API action. When the value of * Enabled is true and the value of Status is Deployed, your * distribution is ready. A distribution usually deploys in less than 15 minutes. *

*

* For more information about web distributions, see Working with RTMP * Distributions in the Amazon CloudFront Developer Guide. *

* *

* Beginning with the 2012-05-05 version of the CloudFront API, we made substantial changes to the format of the XML * document that you include in the request body when you create or update a web distribution or an RTMP * distribution, and when you invalidate objects. With previous versions of the API, we discovered that it was too * easy to accidentally delete one or more values for an element that accepts multiple values, for example, CNAMEs * and trusted signers. Our changes for the 2012-05-05 release are intended to prevent these accidental deletions * and to notify you when there's a mismatch between the number of values you say you're specifying in the * Quantity element and the number of values specified. *

*
* * @param createStreamingDistributionRequest * The request to create a new streaming distribution. * @return Result of the CreateStreamingDistribution operation returned by the service. * @throws CNAMEAlreadyExistsException * @throws StreamingDistributionAlreadyExistsException * @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 do not exist. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header is set. * @throws TooManyStreamingDistributionCNAMEsException * @throws TooManyStreamingDistributionsException * Processing your request would cause you to exceed the maximum number of streaming distributions allowed. * @throws InvalidArgumentException * The argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not match. * @sample AmazonCloudFront.CreateStreamingDistribution * @see AWS API Documentation */ CreateStreamingDistributionResult createStreamingDistribution(CreateStreamingDistributionRequest createStreamingDistributionRequest); /** *

* Create a new streaming distribution with tags. *

* * @param createStreamingDistributionWithTagsRequest * The request to create a new streaming distribution with tags. * @return Result of the CreateStreamingDistributionWithTags operation returned by the service. * @throws CNAMEAlreadyExistsException * @throws StreamingDistributionAlreadyExistsException * @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 do not exist. * @throws MissingBodyException * This operation requires a body. Ensure that the body is present and the Content-Type header is set. * @throws TooManyStreamingDistributionCNAMEsException * @throws TooManyStreamingDistributionsException * Processing your request would cause you to exceed the maximum number of streaming distributions allowed. * @throws InvalidArgumentException * The argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not match. * @throws InvalidTaggingException * @sample AmazonCloudFront.CreateStreamingDistributionWithTags * @see AWS API Documentation */ CreateStreamingDistributionWithTagsResult createStreamingDistributionWithTags( CreateStreamingDistributionWithTagsRequest createStreamingDistributionWithTagsRequest); /** *

* 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 for the distribution. * @throws NoSuchCloudFrontOriginAccessIdentityException * The specified origin access identity does not exist. * @throws PreconditionFailedException * The precondition given in one or more of the request-header fields evaluated to false. * @throws CloudFrontOriginAccessIdentityInUseException * @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 * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid for the distribution. * @throws NoSuchDistributionException * The specified distribution does not exist. * @throws PreconditionFailedException * The precondition given in one or more of the request-header fields evaluated to false. * @sample AmazonCloudFront.DeleteDistribution * @see AWS * API Documentation */ DeleteDistributionResult deleteDistribution(DeleteDistributionRequest deleteDistributionRequest); /** *

* 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 * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid for the distribution. * @throws NoSuchStreamingDistributionException * The specified streaming distribution does not exist. * @throws PreconditionFailedException * The precondition given in one or more of the request-header fields evaluated to false. * @sample AmazonCloudFront.DeleteStreamingDistribution * @see AWS API Documentation */ DeleteStreamingDistributionResult deleteStreamingDistribution(DeleteStreamingDistributionRequest deleteStreamingDistributionRequest); /** *

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

* 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 * The argument is invalid. * @sample AmazonCloudFront.ListCloudFrontOriginAccessIdentities * @see AWS API Documentation */ ListCloudFrontOriginAccessIdentitiesResult listCloudFrontOriginAccessIdentities( ListCloudFrontOriginAccessIdentitiesRequest listCloudFrontOriginAccessIdentitiesRequest); /** *

* List distributions. *

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

* 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 * The argument is invalid. * @throws InvalidWebACLIdException * @sample AmazonCloudFront.ListDistributionsByWebACLId * @see AWS API Documentation */ ListDistributionsByWebACLIdResult listDistributionsByWebACLId(ListDistributionsByWebACLIdRequest listDistributionsByWebACLIdRequest); /** *

* Lists invalidation batches. *

* * @param listInvalidationsRequest * The request to list invalidations. * @return Result of the ListInvalidations operation returned by the service. * @throws InvalidArgumentException * The 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); /** *

* List streaming distributions. *

* * @param listStreamingDistributionsRequest * The request to list your streaming distributions. * @return Result of the ListStreamingDistributions operation returned by the service. * @throws InvalidArgumentException * The 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 * The argument is invalid. * @throws InvalidTaggingException * @throws NoSuchResourceException * @sample AmazonCloudFront.ListTagsForResource * @see AWS * API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* 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 * The argument is invalid. * @throws InvalidTaggingException * @throws NoSuchResourceException * @sample AmazonCloudFront.TagResource * @see AWS API * Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* 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 * The argument is invalid. * @throws InvalidTaggingException * @throws NoSuchResourceException * @sample AmazonCloudFront.UntagResource * @see AWS API * Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* 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 * Origin and CallerReference cannot be updated. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid for the distribution. * @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 given in one or more of the request-header fields evaluated to false. * @throws InvalidArgumentException * The argument is invalid. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not match. * @sample AmazonCloudFront.UpdateCloudFrontOriginAccessIdentity * @see AWS API Documentation */ UpdateCloudFrontOriginAccessIdentityResult updateCloudFrontOriginAccessIdentity( UpdateCloudFrontOriginAccessIdentityRequest updateCloudFrontOriginAccessIdentityRequest); /** *

* Update a distribution. *

* * @param updateDistributionRequest * The request to update a distribution. * @return Result of the UpdateDistribution operation returned by the service. * @throws AccessDeniedException * Access denied. * @throws CNAMEAlreadyExistsException * @throws IllegalUpdateException * Origin and CallerReference cannot be updated. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid for the distribution. * @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 given in one or more of the request-header 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 * @throws InvalidResponseCodeException * @throws InvalidArgumentException * The 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 do not exist. * @throws InvalidViewerCertificateException * @throws InvalidMinimumProtocolVersionException * @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 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 * @throws InvalidHeadersForS3OriginException * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not match. * @throws TooManyCertificatesException * You cannot create anymore custom SSL/TLS certificates. * @throws InvalidLocationCodeException * @throws InvalidGeoRestrictionParameterException * @throws InvalidTTLOrderException * @throws InvalidWebACLIdException * @throws TooManyOriginCustomHeadersException * @throws TooManyQueryStringParametersException * @throws InvalidQueryStringParametersException * @throws TooManyDistributionsWithLambdaAssociationsException * Processing your request would cause the maximum number of distributions with Lambda function associations * per owner to be exceeded. * @throws TooManyLambdaFunctionAssociationsException * Your request contains more Lambda function associations than are allowed per distribution. * @throws InvalidLambdaFunctionAssociationException * The specified Lambda function association is invalid. * @sample AmazonCloudFront.UpdateDistribution * @see AWS * API Documentation */ UpdateDistributionResult updateDistribution(UpdateDistributionRequest updateDistributionRequest); /** *

* 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 * @throws IllegalUpdateException * Origin and CallerReference cannot be updated. * @throws InvalidIfMatchVersionException * The If-Match version is missing or not valid for the distribution. * @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 given in one or more of the request-header fields evaluated to false. * @throws TooManyStreamingDistributionCNAMEsException * @throws InvalidArgumentException * The 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 do not exist. * @throws InconsistentQuantitiesException * The value of Quantity and the size of Items do not 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