import { CloudFrontClient } from "./CloudFrontClient"; import { CreateCloudFrontOriginAccessIdentityInput } from "./types/CreateCloudFrontOriginAccessIdentityInput"; import { CreateCloudFrontOriginAccessIdentityOutput } from "./types/CreateCloudFrontOriginAccessIdentityOutput"; import { CreateDistributionInput } from "./types/CreateDistributionInput"; import { CreateDistributionOutput } from "./types/CreateDistributionOutput"; import { CreateDistributionWithTagsInput } from "./types/CreateDistributionWithTagsInput"; import { CreateDistributionWithTagsOutput } from "./types/CreateDistributionWithTagsOutput"; import { CreateFieldLevelEncryptionConfigInput } from "./types/CreateFieldLevelEncryptionConfigInput"; import { CreateFieldLevelEncryptionConfigOutput } from "./types/CreateFieldLevelEncryptionConfigOutput"; import { CreateFieldLevelEncryptionProfileInput } from "./types/CreateFieldLevelEncryptionProfileInput"; import { CreateFieldLevelEncryptionProfileOutput } from "./types/CreateFieldLevelEncryptionProfileOutput"; import { CreateInvalidationInput } from "./types/CreateInvalidationInput"; import { CreateInvalidationOutput } from "./types/CreateInvalidationOutput"; import { CreatePublicKeyInput } from "./types/CreatePublicKeyInput"; import { CreatePublicKeyOutput } from "./types/CreatePublicKeyOutput"; import { CreateStreamingDistributionInput } from "./types/CreateStreamingDistributionInput"; import { CreateStreamingDistributionOutput } from "./types/CreateStreamingDistributionOutput"; import { CreateStreamingDistributionWithTagsInput } from "./types/CreateStreamingDistributionWithTagsInput"; import { CreateStreamingDistributionWithTagsOutput } from "./types/CreateStreamingDistributionWithTagsOutput"; import { DeleteCloudFrontOriginAccessIdentityInput } from "./types/DeleteCloudFrontOriginAccessIdentityInput"; import { DeleteCloudFrontOriginAccessIdentityOutput } from "./types/DeleteCloudFrontOriginAccessIdentityOutput"; import { DeleteDistributionInput } from "./types/DeleteDistributionInput"; import { DeleteDistributionOutput } from "./types/DeleteDistributionOutput"; import { DeleteFieldLevelEncryptionConfigInput } from "./types/DeleteFieldLevelEncryptionConfigInput"; import { DeleteFieldLevelEncryptionConfigOutput } from "./types/DeleteFieldLevelEncryptionConfigOutput"; import { DeleteFieldLevelEncryptionProfileInput } from "./types/DeleteFieldLevelEncryptionProfileInput"; import { DeleteFieldLevelEncryptionProfileOutput } from "./types/DeleteFieldLevelEncryptionProfileOutput"; import { DeletePublicKeyInput } from "./types/DeletePublicKeyInput"; import { DeletePublicKeyOutput } from "./types/DeletePublicKeyOutput"; import { DeleteStreamingDistributionInput } from "./types/DeleteStreamingDistributionInput"; import { DeleteStreamingDistributionOutput } from "./types/DeleteStreamingDistributionOutput"; import { GetCloudFrontOriginAccessIdentityConfigInput } from "./types/GetCloudFrontOriginAccessIdentityConfigInput"; import { GetCloudFrontOriginAccessIdentityConfigOutput } from "./types/GetCloudFrontOriginAccessIdentityConfigOutput"; import { GetCloudFrontOriginAccessIdentityInput } from "./types/GetCloudFrontOriginAccessIdentityInput"; import { GetCloudFrontOriginAccessIdentityOutput } from "./types/GetCloudFrontOriginAccessIdentityOutput"; import { GetDistributionConfigInput } from "./types/GetDistributionConfigInput"; import { GetDistributionConfigOutput } from "./types/GetDistributionConfigOutput"; import { GetDistributionInput } from "./types/GetDistributionInput"; import { GetDistributionOutput } from "./types/GetDistributionOutput"; import { GetFieldLevelEncryptionConfigInput } from "./types/GetFieldLevelEncryptionConfigInput"; import { GetFieldLevelEncryptionConfigOutput } from "./types/GetFieldLevelEncryptionConfigOutput"; import { GetFieldLevelEncryptionInput } from "./types/GetFieldLevelEncryptionInput"; import { GetFieldLevelEncryptionOutput } from "./types/GetFieldLevelEncryptionOutput"; import { GetFieldLevelEncryptionProfileConfigInput } from "./types/GetFieldLevelEncryptionProfileConfigInput"; import { GetFieldLevelEncryptionProfileConfigOutput } from "./types/GetFieldLevelEncryptionProfileConfigOutput"; import { GetFieldLevelEncryptionProfileInput } from "./types/GetFieldLevelEncryptionProfileInput"; import { GetFieldLevelEncryptionProfileOutput } from "./types/GetFieldLevelEncryptionProfileOutput"; import { GetInvalidationInput } from "./types/GetInvalidationInput"; import { GetInvalidationOutput } from "./types/GetInvalidationOutput"; import { GetPublicKeyConfigInput } from "./types/GetPublicKeyConfigInput"; import { GetPublicKeyConfigOutput } from "./types/GetPublicKeyConfigOutput"; import { GetPublicKeyInput } from "./types/GetPublicKeyInput"; import { GetPublicKeyOutput } from "./types/GetPublicKeyOutput"; import { GetStreamingDistributionConfigInput } from "./types/GetStreamingDistributionConfigInput"; import { GetStreamingDistributionConfigOutput } from "./types/GetStreamingDistributionConfigOutput"; import { GetStreamingDistributionInput } from "./types/GetStreamingDistributionInput"; import { GetStreamingDistributionOutput } from "./types/GetStreamingDistributionOutput"; import { ListCloudFrontOriginAccessIdentitiesInput } from "./types/ListCloudFrontOriginAccessIdentitiesInput"; import { ListCloudFrontOriginAccessIdentitiesOutput } from "./types/ListCloudFrontOriginAccessIdentitiesOutput"; import { ListDistributionsByWebACLIdInput } from "./types/ListDistributionsByWebACLIdInput"; import { ListDistributionsByWebACLIdOutput } from "./types/ListDistributionsByWebACLIdOutput"; import { ListDistributionsInput } from "./types/ListDistributionsInput"; import { ListDistributionsOutput } from "./types/ListDistributionsOutput"; import { ListFieldLevelEncryptionConfigsInput } from "./types/ListFieldLevelEncryptionConfigsInput"; import { ListFieldLevelEncryptionConfigsOutput } from "./types/ListFieldLevelEncryptionConfigsOutput"; import { ListFieldLevelEncryptionProfilesInput } from "./types/ListFieldLevelEncryptionProfilesInput"; import { ListFieldLevelEncryptionProfilesOutput } from "./types/ListFieldLevelEncryptionProfilesOutput"; import { ListInvalidationsInput } from "./types/ListInvalidationsInput"; import { ListInvalidationsOutput } from "./types/ListInvalidationsOutput"; import { ListPublicKeysInput } from "./types/ListPublicKeysInput"; import { ListPublicKeysOutput } from "./types/ListPublicKeysOutput"; import { ListStreamingDistributionsInput } from "./types/ListStreamingDistributionsInput"; import { ListStreamingDistributionsOutput } from "./types/ListStreamingDistributionsOutput"; import { ListTagsForResourceInput } from "./types/ListTagsForResourceInput"; import { ListTagsForResourceOutput } from "./types/ListTagsForResourceOutput"; import { TagResourceInput } from "./types/TagResourceInput"; import { TagResourceOutput } from "./types/TagResourceOutput"; import { UntagResourceInput } from "./types/UntagResourceInput"; import { UntagResourceOutput } from "./types/UntagResourceOutput"; import { UpdateCloudFrontOriginAccessIdentityInput } from "./types/UpdateCloudFrontOriginAccessIdentityInput"; import { UpdateCloudFrontOriginAccessIdentityOutput } from "./types/UpdateCloudFrontOriginAccessIdentityOutput"; import { UpdateDistributionInput } from "./types/UpdateDistributionInput"; import { UpdateDistributionOutput } from "./types/UpdateDistributionOutput"; import { UpdateFieldLevelEncryptionConfigInput } from "./types/UpdateFieldLevelEncryptionConfigInput"; import { UpdateFieldLevelEncryptionConfigOutput } from "./types/UpdateFieldLevelEncryptionConfigOutput"; import { UpdateFieldLevelEncryptionProfileInput } from "./types/UpdateFieldLevelEncryptionProfileInput"; import { UpdateFieldLevelEncryptionProfileOutput } from "./types/UpdateFieldLevelEncryptionProfileOutput"; import { UpdatePublicKeyInput } from "./types/UpdatePublicKeyInput"; import { UpdatePublicKeyOutput } from "./types/UpdatePublicKeyOutput"; import { UpdateStreamingDistributionInput } from "./types/UpdateStreamingDistributionInput"; import { UpdateStreamingDistributionOutput } from "./types/UpdateStreamingDistributionOutput"; export declare class CloudFront extends CloudFrontClient { /** *

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.

* * This operation may fail with one of the following errors: * - {CloudFrontOriginAccessIdentityAlreadyExists}

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.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {TooManyCloudFrontOriginAccessIdentities}

Processing your request would cause you to exceed the maximum number of origin access identities allowed.

* - {InvalidArgument}

The argument is invalid.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {Error} An error originating from the SDK or customizations rather than the service */ createCloudFrontOriginAccessIdentity(args: CreateCloudFrontOriginAccessIdentityInput): Promise; createCloudFrontOriginAccessIdentity(args: CreateCloudFrontOriginAccessIdentityInput, cb: (err: any, data?: CreateCloudFrontOriginAccessIdentityOutput) => void): void; /** *

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.

* * This operation may fail with one of the following errors: * - {CNAMEAlreadyExists}

The CNAME specified is already defined for CloudFront.

* - {DistributionAlreadyExists}

The caller reference you attempted to create the distribution with is associated with another distribution.

* - {InvalidOrigin}

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

* - {InvalidOriginAccessIdentity}

The origin access identity is not valid or doesn't exist.

* - {AccessDenied}

Access denied.

* - {TooManyTrustedSigners}

Your request contains more trusted signers than are allowed per distribution.

* - {TrustedSignerDoesNotExist}

One or more of your trusted signers don't exist.

* - {InvalidViewerCertificate}

A viewer certificate specified in the response body is not valid.

* - {InvalidMinimumProtocolVersion}

The minimum protocol version specified is not valid.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {TooManyDistributionCNAMEs}

Your request contains more CNAMEs than are allowed per distribution.

* - {TooManyDistributions}

Processing your request would cause you to exceed the maximum number of distributions allowed.

* - {InvalidDefaultRootObject}

The default root object file name is too big or contains an invalid character.

* - {InvalidRelativePath}

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

* - {InvalidErrorCode}

An invalid error code was specified.

* - {InvalidResponseCode}

A response code specified in the response body is not valid.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidRequiredProtocol}

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.

* - {NoSuchOrigin}

No origin exists with the specified Origin Id.

* - {TooManyOrigins}

You cannot create more origins for the distribution.

* - {TooManyOriginGroupsPerDistribution}

Processing your request would cause you to exceed the maximum number of origin groups allowed.

* - {TooManyCacheBehaviors}

You cannot create more cache behaviors for the distribution.

* - {TooManyCookieNamesInWhiteList}

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

* - {InvalidForwardCookies}

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.

* - {TooManyHeadersInForwardedValues}

Your request contains too many headers in forwarded values.

* - {InvalidHeadersForS3Origin}

The headers specified are not valid for an Amazon S3 origin.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {TooManyCertificates}

You cannot create anymore custom SSL/TLS certificates.

* - {InvalidLocationCode}

The location code specified is not valid.

* - {InvalidGeoRestrictionParameter}

The specified geo restriction parameter is not valid.

* - {InvalidProtocolSettings}

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

* - {InvalidTTLOrder}

TTL order specified in the response body is not valid.

* - {InvalidWebACLId}

A web ACL id specified in the response body is not valid.

* - {TooManyOriginCustomHeaders}

Your request contains too many origin custom headers.

* - {TooManyQueryStringParameters}

Your request contains too many query string parameters.

* - {InvalidQueryStringParameters}

Query string parameters specified in the response body are not valid.

* - {TooManyDistributionsWithLambdaAssociations}

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

* - {TooManyLambdaFunctionAssociations}

Your request contains more Lambda function associations than are allowed per distribution.

* - {InvalidLambdaFunctionAssociation}

The specified Lambda function association is invalid.

* - {InvalidOriginReadTimeout}

The read timeout specified for the origin is not valid.

* - {InvalidOriginKeepaliveTimeout}

The keep alive timeout specified for the origin is not valid.

* - {NoSuchFieldLevelEncryptionConfig}

The specified configuration for field-level encryption doesn't exist.

* - {IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior}

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

* - {TooManyDistributionsAssociatedToFieldLevelEncryptionConfig}

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

* - {Error} An error originating from the SDK or customizations rather than the service */ createDistribution(args: CreateDistributionInput): Promise; createDistribution(args: CreateDistributionInput, cb: (err: any, data?: CreateDistributionOutput) => void): void; /** *

Create a new distribution with tags.

* * This operation may fail with one of the following errors: * - {CNAMEAlreadyExists}

The CNAME specified is already defined for CloudFront.

* - {DistributionAlreadyExists}

The caller reference you attempted to create the distribution with is associated with another distribution.

* - {InvalidOrigin}

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

* - {InvalidOriginAccessIdentity}

The origin access identity is not valid or doesn't exist.

* - {AccessDenied}

Access denied.

* - {TooManyTrustedSigners}

Your request contains more trusted signers than are allowed per distribution.

* - {TrustedSignerDoesNotExist}

One or more of your trusted signers don't exist.

* - {InvalidViewerCertificate}

A viewer certificate specified in the response body is not valid.

* - {InvalidMinimumProtocolVersion}

The minimum protocol version specified is not valid.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {TooManyDistributionCNAMEs}

Your request contains more CNAMEs than are allowed per distribution.

* - {TooManyDistributions}

Processing your request would cause you to exceed the maximum number of distributions allowed.

* - {InvalidDefaultRootObject}

The default root object file name is too big or contains an invalid character.

* - {InvalidRelativePath}

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

* - {InvalidErrorCode}

An invalid error code was specified.

* - {InvalidResponseCode}

A response code specified in the response body is not valid.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidRequiredProtocol}

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.

* - {NoSuchOrigin}

No origin exists with the specified Origin Id.

* - {TooManyOrigins}

You cannot create more origins for the distribution.

* - {TooManyOriginGroupsPerDistribution}

Processing your request would cause you to exceed the maximum number of origin groups allowed.

* - {TooManyCacheBehaviors}

You cannot create more cache behaviors for the distribution.

* - {TooManyCookieNamesInWhiteList}

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

* - {InvalidForwardCookies}

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.

* - {TooManyHeadersInForwardedValues}

Your request contains too many headers in forwarded values.

* - {InvalidHeadersForS3Origin}

The headers specified are not valid for an Amazon S3 origin.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {TooManyCertificates}

You cannot create anymore custom SSL/TLS certificates.

* - {InvalidLocationCode}

The location code specified is not valid.

* - {InvalidGeoRestrictionParameter}

The specified geo restriction parameter is not valid.

* - {InvalidProtocolSettings}

You cannot specify SSLv3 as the minimum protocol version if you only want to support only clients that support Server Name Indication (SNI).

* - {InvalidTTLOrder}

TTL order specified in the response body is not valid.

* - {InvalidWebACLId}

A web ACL id specified in the response body is not valid.

* - {TooManyOriginCustomHeaders}

Your request contains too many origin custom headers.

* - {InvalidTagging}

Tagging specified in the response body is not valid.

* - {TooManyQueryStringParameters}

Your request contains too many query string parameters.

* - {InvalidQueryStringParameters}

Query string parameters specified in the response body are not valid.

* - {TooManyDistributionsWithLambdaAssociations}

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

* - {TooManyLambdaFunctionAssociations}

Your request contains more Lambda function associations than are allowed per distribution.

* - {InvalidLambdaFunctionAssociation}

The specified Lambda function association is invalid.

* - {InvalidOriginReadTimeout}

The read timeout specified for the origin is not valid.

* - {InvalidOriginKeepaliveTimeout}

The keep alive timeout specified for the origin is not valid.

* - {NoSuchFieldLevelEncryptionConfig}

The specified configuration for field-level encryption doesn't exist.

* - {IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior}

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

* - {TooManyDistributionsAssociatedToFieldLevelEncryptionConfig}

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

* - {Error} An error originating from the SDK or customizations rather than the service */ createDistributionWithTags(args: CreateDistributionWithTagsInput): Promise; createDistributionWithTags(args: CreateDistributionWithTagsInput, cb: (err: any, data?: CreateDistributionWithTagsOutput) => void): void; /** *

Create a new field-level encryption configuration.

* * This operation may fail with one of the following errors: * - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {InvalidArgument}

The argument is invalid.

* - {NoSuchFieldLevelEncryptionProfile}

The specified profile for field-level encryption doesn't exist.

* - {FieldLevelEncryptionConfigAlreadyExists}

The specified configuration for field-level encryption already exists.

* - {TooManyFieldLevelEncryptionConfigs}

The maximum number of configurations for field-level encryption have been created.

* - {TooManyFieldLevelEncryptionQueryArgProfiles}

The maximum number of query arg profiles for field-level encryption have been created.

* - {TooManyFieldLevelEncryptionContentTypeProfiles}

The maximum number of content type profiles for field-level encryption have been created.

* - {QueryArgProfileEmpty}

No profile specified for the field-level encryption query argument.

* - {Error} An error originating from the SDK or customizations rather than the service */ createFieldLevelEncryptionConfig(args: CreateFieldLevelEncryptionConfigInput): Promise; createFieldLevelEncryptionConfig(args: CreateFieldLevelEncryptionConfigInput, cb: (err: any, data?: CreateFieldLevelEncryptionConfigOutput) => void): void; /** *

Create a field-level encryption profile.

* * This operation may fail with one of the following errors: * - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {InvalidArgument}

The argument is invalid.

* - {NoSuchPublicKey}

The specified public key doesn't exist.

* - {FieldLevelEncryptionProfileAlreadyExists}

The specified profile for field-level encryption already exists.

* - {FieldLevelEncryptionProfileSizeExceeded}

The maximum size of a profile for field-level encryption was exceeded.

* - {TooManyFieldLevelEncryptionProfiles}

The maximum number of profiles for field-level encryption have been created.

* - {TooManyFieldLevelEncryptionEncryptionEntities}

The maximum number of encryption entities for field-level encryption have been created.

* - {TooManyFieldLevelEncryptionFieldPatterns}

The maximum number of field patterns for field-level encryption have been created.

* - {Error} An error originating from the SDK or customizations rather than the service */ createFieldLevelEncryptionProfile(args: CreateFieldLevelEncryptionProfileInput): Promise; createFieldLevelEncryptionProfile(args: CreateFieldLevelEncryptionProfileInput, cb: (err: any, data?: CreateFieldLevelEncryptionProfileOutput) => void): void; /** *

Create a new invalidation.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {InvalidArgument}

The argument is invalid.

* - {NoSuchDistribution}

The specified distribution does not exist.

* - {BatchTooLarge}

Invalidation batch specified is too large.

* - {TooManyInvalidationsInProgress}

You have exceeded the maximum number of allowable InProgress invalidation batch requests, or invalidation objects.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {Error} An error originating from the SDK or customizations rather than the service */ createInvalidation(args: CreateInvalidationInput): Promise; createInvalidation(args: CreateInvalidationInput, cb: (err: any, data?: CreateInvalidationOutput) => void): void; /** *

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

* * This operation may fail with one of the following errors: * - {PublicKeyAlreadyExists}

The specified public key already exists.

* - {InvalidArgument}

The argument is invalid.

* - {TooManyPublicKeys}

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.

* - {Error} An error originating from the SDK or customizations rather than the service */ createPublicKey(args: CreatePublicKeyInput): Promise; createPublicKey(args: CreatePublicKeyInput, cb: (err: any, data?: CreatePublicKeyOutput) => void): void; /** *

Creates a new RTMP 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 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.

* * This operation may fail with one of the following errors: * - {CNAMEAlreadyExists}

The CNAME specified is already defined for CloudFront.

* - {StreamingDistributionAlreadyExists}

The caller reference you attempted to create the streaming distribution with is associated with another distribution

* - {InvalidOrigin}

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

* - {InvalidOriginAccessIdentity}

The origin access identity is not valid or doesn't exist.

* - {AccessDenied}

Access denied.

* - {TooManyTrustedSigners}

Your request contains more trusted signers than are allowed per distribution.

* - {TrustedSignerDoesNotExist}

One or more of your trusted signers don't exist.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {TooManyStreamingDistributionCNAMEs}

Your request contains more CNAMEs than are allowed per distribution.

* - {TooManyStreamingDistributions}

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

* - {InvalidArgument}

The argument is invalid.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {Error} An error originating from the SDK or customizations rather than the service */ createStreamingDistribution(args: CreateStreamingDistributionInput): Promise; createStreamingDistribution(args: CreateStreamingDistributionInput, cb: (err: any, data?: CreateStreamingDistributionOutput) => void): void; /** *

Create a new streaming distribution with tags.

* * This operation may fail with one of the following errors: * - {CNAMEAlreadyExists}

The CNAME specified is already defined for CloudFront.

* - {StreamingDistributionAlreadyExists}

The caller reference you attempted to create the streaming distribution with is associated with another distribution

* - {InvalidOrigin}

The Amazon S3 origin server specified does not refer to a valid Amazon S3 bucket.

* - {InvalidOriginAccessIdentity}

The origin access identity is not valid or doesn't exist.

* - {AccessDenied}

Access denied.

* - {TooManyTrustedSigners}

Your request contains more trusted signers than are allowed per distribution.

* - {TrustedSignerDoesNotExist}

One or more of your trusted signers don't exist.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {TooManyStreamingDistributionCNAMEs}

Your request contains more CNAMEs than are allowed per distribution.

* - {TooManyStreamingDistributions}

Processing your request would cause you to exceed the maximum number of streaming distributions allowed.

* - {InvalidArgument}

The argument is invalid.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {InvalidTagging}

Tagging specified in the response body is not valid.

* - {Error} An error originating from the SDK or customizations rather than the service */ createStreamingDistributionWithTags(args: CreateStreamingDistributionWithTagsInput): Promise; createStreamingDistributionWithTags(args: CreateStreamingDistributionWithTagsInput, cb: (err: any, data?: CreateStreamingDistributionWithTagsOutput) => void): void; /** *

Delete an origin access identity.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchCloudFrontOriginAccessIdentity}

The specified origin access identity does not exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {CloudFrontOriginAccessIdentityInUse}

The Origin Access Identity specified is already in use.

* - {Error} An error originating from the SDK or customizations rather than the service */ deleteCloudFrontOriginAccessIdentity(args: DeleteCloudFrontOriginAccessIdentityInput): Promise; deleteCloudFrontOriginAccessIdentity(args: DeleteCloudFrontOriginAccessIdentityInput, cb: (err: any, data?: DeleteCloudFrontOriginAccessIdentityOutput) => void): void; /** *

Delete a distribution.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {DistributionNotDisabled}

The specified CloudFront distribution is not disabled. You must disable the distribution before you can delete it.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchDistribution}

The specified distribution does not exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {Error} An error originating from the SDK or customizations rather than the service */ deleteDistribution(args: DeleteDistributionInput): Promise; deleteDistribution(args: DeleteDistributionInput, cb: (err: any, data?: DeleteDistributionOutput) => void): void; /** *

Remove a field-level encryption configuration.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchFieldLevelEncryptionConfig}

The specified configuration for field-level encryption doesn't exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {FieldLevelEncryptionConfigInUse}

The specified configuration for field-level encryption is in use.

* - {Error} An error originating from the SDK or customizations rather than the service */ deleteFieldLevelEncryptionConfig(args: DeleteFieldLevelEncryptionConfigInput): Promise; deleteFieldLevelEncryptionConfig(args: DeleteFieldLevelEncryptionConfigInput, cb: (err: any, data?: DeleteFieldLevelEncryptionConfigOutput) => void): void; /** *

Remove a field-level encryption profile.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchFieldLevelEncryptionProfile}

The specified profile for field-level encryption doesn't exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {FieldLevelEncryptionProfileInUse}

The specified profile for field-level encryption is in use.

* - {Error} An error originating from the SDK or customizations rather than the service */ deleteFieldLevelEncryptionProfile(args: DeleteFieldLevelEncryptionProfileInput): Promise; deleteFieldLevelEncryptionProfile(args: DeleteFieldLevelEncryptionProfileInput, cb: (err: any, data?: DeleteFieldLevelEncryptionProfileOutput) => void): void; /** *

Remove a public key you previously added to CloudFront.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {PublicKeyInUse}

The specified public key is in use.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchPublicKey}

The specified public key doesn't exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {Error} An error originating from the SDK or customizations rather than the service */ deletePublicKey(args: DeletePublicKeyInput): Promise; deletePublicKey(args: DeletePublicKeyInput, cb: (err: any, data?: DeletePublicKeyOutput) => void): void; /** *

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. Submit a GET Streaming Distribution Config request to get the current configuration and the Etag header for the distribution.

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

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

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

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

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

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

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

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {StreamingDistributionNotDisabled}

The specified CloudFront distribution is not disabled. You must disable the distribution before you can delete it.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchStreamingDistribution}

The specified streaming distribution does not exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {Error} An error originating from the SDK or customizations rather than the service */ deleteStreamingDistribution(args: DeleteStreamingDistributionInput): Promise; deleteStreamingDistribution(args: DeleteStreamingDistributionInput, cb: (err: any, data?: DeleteStreamingDistributionOutput) => void): void; /** *

Get the information about an origin access identity.

* * This operation may fail with one of the following errors: * - {NoSuchCloudFrontOriginAccessIdentity}

The specified origin access identity does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ getCloudFrontOriginAccessIdentity(args: GetCloudFrontOriginAccessIdentityInput): Promise; getCloudFrontOriginAccessIdentity(args: GetCloudFrontOriginAccessIdentityInput, cb: (err: any, data?: GetCloudFrontOriginAccessIdentityOutput) => void): void; /** *

Get the configuration information about an origin access identity.

* * This operation may fail with one of the following errors: * - {NoSuchCloudFrontOriginAccessIdentity}

The specified origin access identity does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ getCloudFrontOriginAccessIdentityConfig(args: GetCloudFrontOriginAccessIdentityConfigInput): Promise; getCloudFrontOriginAccessIdentityConfig(args: GetCloudFrontOriginAccessIdentityConfigInput, cb: (err: any, data?: GetCloudFrontOriginAccessIdentityConfigOutput) => void): void; /** *

Get the information about a distribution.

* * This operation may fail with one of the following errors: * - {NoSuchDistribution}

The specified distribution does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ getDistribution(args: GetDistributionInput): Promise; getDistribution(args: GetDistributionInput, cb: (err: any, data?: GetDistributionOutput) => void): void; /** *

Get the configuration information about a distribution.

* * This operation may fail with one of the following errors: * - {NoSuchDistribution}

The specified distribution does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ getDistributionConfig(args: GetDistributionConfigInput): Promise; getDistributionConfig(args: GetDistributionConfigInput, cb: (err: any, data?: GetDistributionConfigOutput) => void): void; /** *

Get the field-level encryption configuration information.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {NoSuchFieldLevelEncryptionConfig}

The specified configuration for field-level encryption doesn't exist.

* - {Error} An error originating from the SDK or customizations rather than the service */ getFieldLevelEncryption(args: GetFieldLevelEncryptionInput): Promise; getFieldLevelEncryption(args: GetFieldLevelEncryptionInput, cb: (err: any, data?: GetFieldLevelEncryptionOutput) => void): void; /** *

Get the field-level encryption configuration information.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {NoSuchFieldLevelEncryptionConfig}

The specified configuration for field-level encryption doesn't exist.

* - {Error} An error originating from the SDK or customizations rather than the service */ getFieldLevelEncryptionConfig(args: GetFieldLevelEncryptionConfigInput): Promise; getFieldLevelEncryptionConfig(args: GetFieldLevelEncryptionConfigInput, cb: (err: any, data?: GetFieldLevelEncryptionConfigOutput) => void): void; /** *

Get the field-level encryption profile information.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {NoSuchFieldLevelEncryptionProfile}

The specified profile for field-level encryption doesn't exist.

* - {Error} An error originating from the SDK or customizations rather than the service */ getFieldLevelEncryptionProfile(args: GetFieldLevelEncryptionProfileInput): Promise; getFieldLevelEncryptionProfile(args: GetFieldLevelEncryptionProfileInput, cb: (err: any, data?: GetFieldLevelEncryptionProfileOutput) => void): void; /** *

Get the field-level encryption profile configuration information.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {NoSuchFieldLevelEncryptionProfile}

The specified profile for field-level encryption doesn't exist.

* - {Error} An error originating from the SDK or customizations rather than the service */ getFieldLevelEncryptionProfileConfig(args: GetFieldLevelEncryptionProfileConfigInput): Promise; getFieldLevelEncryptionProfileConfig(args: GetFieldLevelEncryptionProfileConfigInput, cb: (err: any, data?: GetFieldLevelEncryptionProfileConfigOutput) => void): void; /** *

Get the information about an invalidation.

* * This operation may fail with one of the following errors: * - {NoSuchInvalidation}

The specified invalidation does not exist.

* - {NoSuchDistribution}

The specified distribution does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ getInvalidation(args: GetInvalidationInput): Promise; getInvalidation(args: GetInvalidationInput, cb: (err: any, data?: GetInvalidationOutput) => void): void; /** *

Get the public key information.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {NoSuchPublicKey}

The specified public key doesn't exist.

* - {Error} An error originating from the SDK or customizations rather than the service */ getPublicKey(args: GetPublicKeyInput): Promise; getPublicKey(args: GetPublicKeyInput, cb: (err: any, data?: GetPublicKeyOutput) => void): void; /** *

Return public key configuration informaation

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {NoSuchPublicKey}

The specified public key doesn't exist.

* - {Error} An error originating from the SDK or customizations rather than the service */ getPublicKeyConfig(args: GetPublicKeyConfigInput): Promise; getPublicKeyConfig(args: GetPublicKeyConfigInput, cb: (err: any, data?: GetPublicKeyConfigOutput) => void): void; /** *

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

* * This operation may fail with one of the following errors: * - {NoSuchStreamingDistribution}

The specified streaming distribution does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ getStreamingDistribution(args: GetStreamingDistributionInput): Promise; getStreamingDistribution(args: GetStreamingDistributionInput, cb: (err: any, data?: GetStreamingDistributionOutput) => void): void; /** *

Get the configuration information about a streaming distribution.

* * This operation may fail with one of the following errors: * - {NoSuchStreamingDistribution}

The specified streaming distribution does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ getStreamingDistributionConfig(args: GetStreamingDistributionConfigInput): Promise; getStreamingDistributionConfig(args: GetStreamingDistributionConfigInput, cb: (err: any, data?: GetStreamingDistributionConfigOutput) => void): void; /** *

Lists origin access identities.

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listCloudFrontOriginAccessIdentities(args: ListCloudFrontOriginAccessIdentitiesInput): Promise; listCloudFrontOriginAccessIdentities(args: ListCloudFrontOriginAccessIdentitiesInput, cb: (err: any, data?: ListCloudFrontOriginAccessIdentitiesOutput) => void): void; /** *

List CloudFront distributions.

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listDistributions(args: ListDistributionsInput): Promise; listDistributions(args: ListDistributionsInput, cb: (err: any, data?: ListDistributionsOutput) => void): void; /** *

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

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {InvalidWebACLId}

A web ACL id specified in the response body is not valid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listDistributionsByWebACLId(args: ListDistributionsByWebACLIdInput): Promise; listDistributionsByWebACLId(args: ListDistributionsByWebACLIdInput, cb: (err: any, data?: ListDistributionsByWebACLIdOutput) => void): void; /** *

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

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listFieldLevelEncryptionConfigs(args: ListFieldLevelEncryptionConfigsInput): Promise; listFieldLevelEncryptionConfigs(args: ListFieldLevelEncryptionConfigsInput, cb: (err: any, data?: ListFieldLevelEncryptionConfigsOutput) => void): void; /** *

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

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listFieldLevelEncryptionProfiles(args: ListFieldLevelEncryptionProfilesInput): Promise; listFieldLevelEncryptionProfiles(args: ListFieldLevelEncryptionProfilesInput, cb: (err: any, data?: ListFieldLevelEncryptionProfilesOutput) => void): void; /** *

Lists invalidation batches.

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {NoSuchDistribution}

The specified distribution does not exist.

* - {AccessDenied}

Access denied.

* - {Error} An error originating from the SDK or customizations rather than the service */ listInvalidations(args: ListInvalidationsInput): Promise; listInvalidations(args: ListInvalidationsInput, cb: (err: any, data?: ListInvalidationsOutput) => void): void; /** *

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

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listPublicKeys(args: ListPublicKeysInput): Promise; listPublicKeys(args: ListPublicKeysInput, cb: (err: any, data?: ListPublicKeysOutput) => void): void; /** *

List streaming distributions.

* * This operation may fail with one of the following errors: * - {InvalidArgument}

The argument is invalid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listStreamingDistributions(args: ListStreamingDistributionsInput): Promise; listStreamingDistributions(args: ListStreamingDistributionsInput, cb: (err: any, data?: ListStreamingDistributionsOutput) => void): void; /** *

List tags for a CloudFront resource.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidTagging}

Tagging specified in the response body is not valid.

* - {NoSuchResource}

A resource that was specified is not valid.

* - {Error} An error originating from the SDK or customizations rather than the service */ listTagsForResource(args: ListTagsForResourceInput): Promise; listTagsForResource(args: ListTagsForResourceInput, cb: (err: any, data?: ListTagsForResourceOutput) => void): void; /** *

Add tags to a CloudFront resource.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidTagging}

Tagging specified in the response body is not valid.

* - {NoSuchResource}

A resource that was specified is not valid.

* - {Error} An error originating from the SDK or customizations rather than the service */ tagResource(args: TagResourceInput): Promise; tagResource(args: TagResourceInput, cb: (err: any, data?: TagResourceOutput) => void): void; /** *

Remove tags from a CloudFront resource.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidTagging}

Tagging specified in the response body is not valid.

* - {NoSuchResource}

A resource that was specified is not valid.

* - {Error} An error originating from the SDK or customizations rather than the service */ untagResource(args: UntagResourceInput): Promise; untagResource(args: UntagResourceInput, cb: (err: any, data?: UntagResourceOutput) => void): void; /** *

Update an origin access identity.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {IllegalUpdate}

Origin and CallerReference cannot be updated.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {NoSuchCloudFrontOriginAccessIdentity}

The specified origin access identity does not exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {InvalidArgument}

The argument is invalid.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {Error} An error originating from the SDK or customizations rather than the service */ updateCloudFrontOriginAccessIdentity(args: UpdateCloudFrontOriginAccessIdentityInput): Promise; updateCloudFrontOriginAccessIdentity(args: UpdateCloudFrontOriginAccessIdentityInput, cb: (err: any, data?: UpdateCloudFrontOriginAccessIdentityOutput) => void): void; /** *

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

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

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

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

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {CNAMEAlreadyExists}

The CNAME specified is already defined for CloudFront.

* - {IllegalUpdate}

Origin and CallerReference cannot be updated.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {NoSuchDistribution}

The specified distribution does not exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {TooManyDistributionCNAMEs}

Your request contains more CNAMEs than are allowed per distribution.

* - {InvalidDefaultRootObject}

The default root object file name is too big or contains an invalid character.

* - {InvalidRelativePath}

The relative path is too big, is not URL-encoded, or does not begin with a slash (/).

* - {InvalidErrorCode}

An invalid error code was specified.

* - {InvalidResponseCode}

A response code specified in the response body is not valid.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidOriginAccessIdentity}

The origin access identity is not valid or doesn't exist.

* - {TooManyTrustedSigners}

Your request contains more trusted signers than are allowed per distribution.

* - {TrustedSignerDoesNotExist}

One or more of your trusted signers don't exist.

* - {InvalidViewerCertificate}

A viewer certificate specified in the response body is not valid.

* - {InvalidMinimumProtocolVersion}

The minimum protocol version specified is not valid.

* - {InvalidRequiredProtocol}

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.

* - {NoSuchOrigin}

No origin exists with the specified Origin Id.

* - {TooManyOrigins}

You cannot create more origins for the distribution.

* - {TooManyOriginGroupsPerDistribution}

Processing your request would cause you to exceed the maximum number of origin groups allowed.

* - {TooManyCacheBehaviors}

You cannot create more cache behaviors for the distribution.

* - {TooManyCookieNamesInWhiteList}

Your request contains more cookie names in the whitelist than are allowed per cache behavior.

* - {InvalidForwardCookies}

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.

* - {TooManyHeadersInForwardedValues}

Your request contains too many headers in forwarded values.

* - {InvalidHeadersForS3Origin}

The headers specified are not valid for an Amazon S3 origin.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {TooManyCertificates}

You cannot create anymore custom SSL/TLS certificates.

* - {InvalidLocationCode}

The location code specified is not valid.

* - {InvalidGeoRestrictionParameter}

The specified geo restriction parameter is not valid.

* - {InvalidTTLOrder}

TTL order specified in the response body is not valid.

* - {InvalidWebACLId}

A web ACL id specified in the response body is not valid.

* - {TooManyOriginCustomHeaders}

Your request contains too many origin custom headers.

* - {TooManyQueryStringParameters}

Your request contains too many query string parameters.

* - {InvalidQueryStringParameters}

Query string parameters specified in the response body are not valid.

* - {TooManyDistributionsWithLambdaAssociations}

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

* - {TooManyLambdaFunctionAssociations}

Your request contains more Lambda function associations than are allowed per distribution.

* - {InvalidLambdaFunctionAssociation}

The specified Lambda function association is invalid.

* - {InvalidOriginReadTimeout}

The read timeout specified for the origin is not valid.

* - {InvalidOriginKeepaliveTimeout}

The keep alive timeout specified for the origin is not valid.

* - {NoSuchFieldLevelEncryptionConfig}

The specified configuration for field-level encryption doesn't exist.

* - {IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior}

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

* - {TooManyDistributionsAssociatedToFieldLevelEncryptionConfig}

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

* - {Error} An error originating from the SDK or customizations rather than the service */ updateDistribution(args: UpdateDistributionInput): Promise; updateDistribution(args: UpdateDistributionInput, cb: (err: any, data?: UpdateDistributionOutput) => void): void; /** *

Update a field-level encryption configuration.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {IllegalUpdate}

Origin and CallerReference cannot be updated.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchFieldLevelEncryptionProfile}

The specified profile for field-level encryption doesn't exist.

* - {NoSuchFieldLevelEncryptionConfig}

The specified configuration for field-level encryption doesn't exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {TooManyFieldLevelEncryptionQueryArgProfiles}

The maximum number of query arg profiles for field-level encryption have been created.

* - {TooManyFieldLevelEncryptionContentTypeProfiles}

The maximum number of content type profiles for field-level encryption have been created.

* - {QueryArgProfileEmpty}

No profile specified for the field-level encryption query argument.

* - {Error} An error originating from the SDK or customizations rather than the service */ updateFieldLevelEncryptionConfig(args: UpdateFieldLevelEncryptionConfigInput): Promise; updateFieldLevelEncryptionConfig(args: UpdateFieldLevelEncryptionConfigInput, cb: (err: any, data?: UpdateFieldLevelEncryptionConfigOutput) => void): void; /** *

Update a field-level encryption profile.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {FieldLevelEncryptionProfileAlreadyExists}

The specified profile for field-level encryption already exists.

* - {IllegalUpdate}

Origin and CallerReference cannot be updated.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {NoSuchPublicKey}

The specified public key doesn't exist.

* - {NoSuchFieldLevelEncryptionProfile}

The specified profile for field-level encryption doesn't exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {FieldLevelEncryptionProfileSizeExceeded}

The maximum size of a profile for field-level encryption was exceeded.

* - {TooManyFieldLevelEncryptionEncryptionEntities}

The maximum number of encryption entities for field-level encryption have been created.

* - {TooManyFieldLevelEncryptionFieldPatterns}

The maximum number of field patterns for field-level encryption have been created.

* - {Error} An error originating from the SDK or customizations rather than the service */ updateFieldLevelEncryptionProfile(args: UpdateFieldLevelEncryptionProfileInput): Promise; updateFieldLevelEncryptionProfile(args: UpdateFieldLevelEncryptionProfileInput, cb: (err: any, data?: UpdateFieldLevelEncryptionProfileOutput) => void): void; /** *

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

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {CannotChangeImmutablePublicKeyFields}

You can't change the value of a public key.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {IllegalUpdate}

Origin and CallerReference cannot be updated.

* - {NoSuchPublicKey}

The specified public key doesn't exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {Error} An error originating from the SDK or customizations rather than the service */ updatePublicKey(args: UpdatePublicKeyInput): Promise; updatePublicKey(args: UpdatePublicKeyInput, cb: (err: any, data?: UpdatePublicKeyOutput) => void): void; /** *

Update a streaming distribution.

* * This operation may fail with one of the following errors: * - {AccessDenied}

Access denied.

* - {CNAMEAlreadyExists}

The CNAME specified is already defined for CloudFront.

* - {IllegalUpdate}

Origin and CallerReference cannot be updated.

* - {InvalidIfMatchVersion}

The If-Match version is missing or not valid for the distribution.

* - {MissingBody}

This operation requires a body. Ensure that the body is present and the Content-Type header is set.

* - {NoSuchStreamingDistribution}

The specified streaming distribution does not exist.

* - {PreconditionFailed}

The precondition given in one or more of the request-header fields evaluated to false.

* - {TooManyStreamingDistributionCNAMEs}

Your request contains more CNAMEs than are allowed per distribution.

* - {InvalidArgument}

The argument is invalid.

* - {InvalidOriginAccessIdentity}

The origin access identity is not valid or doesn't exist.

* - {TooManyTrustedSigners}

Your request contains more trusted signers than are allowed per distribution.

* - {TrustedSignerDoesNotExist}

One or more of your trusted signers don't exist.

* - {InconsistentQuantities}

The value of Quantity and the size of Items don't match.

* - {Error} An error originating from the SDK or customizations rather than the service */ updateStreamingDistribution(args: UpdateStreamingDistributionInput): Promise; updateStreamingDistribution(args: UpdateStreamingDistributionInput, cb: (err: any, data?: UpdateStreamingDistributionOutput) => void): void; }