import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CloudFrontClient } from "./CloudFrontClient" ; import { AssociateAliasCommand , AssociateAliasCommandInput , AssociateAliasCommandOutput , } from "./commands/AssociateAliasCommand" ; import { CreateCachePolicyCommand , CreateCachePolicyCommandInput , CreateCachePolicyCommandOutput , } from "./commands/CreateCachePolicyCommand" ; import { CreateCloudFrontOriginAccessIdentityCommand , CreateCloudFrontOriginAccessIdentityCommandInput , CreateCloudFrontOriginAccessIdentityCommandOutput , } from "./commands/CreateCloudFrontOriginAccessIdentityCommand" ; import { CreateDistributionCommand , CreateDistributionCommandInput , CreateDistributionCommandOutput , } from "./commands/CreateDistributionCommand" ; import { CreateDistributionWithTagsCommand , CreateDistributionWithTagsCommandInput , CreateDistributionWithTagsCommandOutput , } from "./commands/CreateDistributionWithTagsCommand" ; import { CreateFieldLevelEncryptionConfigCommand , CreateFieldLevelEncryptionConfigCommandInput , CreateFieldLevelEncryptionConfigCommandOutput , } from "./commands/CreateFieldLevelEncryptionConfigCommand" ; import { CreateFieldLevelEncryptionProfileCommand , CreateFieldLevelEncryptionProfileCommandInput , CreateFieldLevelEncryptionProfileCommandOutput , } from "./commands/CreateFieldLevelEncryptionProfileCommand" ; import { CreateFunctionCommand , CreateFunctionCommandInput , CreateFunctionCommandOutput , } from "./commands/CreateFunctionCommand" ; import { CreateInvalidationCommand , CreateInvalidationCommandInput , CreateInvalidationCommandOutput , } from "./commands/CreateInvalidationCommand" ; import { CreateKeyGroupCommand , CreateKeyGroupCommandInput , CreateKeyGroupCommandOutput , } from "./commands/CreateKeyGroupCommand" ; import { CreateMonitoringSubscriptionCommand , CreateMonitoringSubscriptionCommandInput , CreateMonitoringSubscriptionCommandOutput , } from "./commands/CreateMonitoringSubscriptionCommand" ; import { CreateOriginRequestPolicyCommand , CreateOriginRequestPolicyCommandInput , CreateOriginRequestPolicyCommandOutput , } from "./commands/CreateOriginRequestPolicyCommand" ; import { CreatePublicKeyCommand , CreatePublicKeyCommandInput , CreatePublicKeyCommandOutput , } from "./commands/CreatePublicKeyCommand" ; import { CreateRealtimeLogConfigCommand , CreateRealtimeLogConfigCommandInput , CreateRealtimeLogConfigCommandOutput , } from "./commands/CreateRealtimeLogConfigCommand" ; import { CreateResponseHeadersPolicyCommand , CreateResponseHeadersPolicyCommandInput , CreateResponseHeadersPolicyCommandOutput , } from "./commands/CreateResponseHeadersPolicyCommand" ; import { CreateStreamingDistributionCommand , CreateStreamingDistributionCommandInput , CreateStreamingDistributionCommandOutput , } from "./commands/CreateStreamingDistributionCommand" ; import { CreateStreamingDistributionWithTagsCommand , CreateStreamingDistributionWithTagsCommandInput , CreateStreamingDistributionWithTagsCommandOutput , } from "./commands/CreateStreamingDistributionWithTagsCommand" ; import { DeleteCachePolicyCommand , DeleteCachePolicyCommandInput , DeleteCachePolicyCommandOutput , } from "./commands/DeleteCachePolicyCommand" ; import { DeleteCloudFrontOriginAccessIdentityCommand , DeleteCloudFrontOriginAccessIdentityCommandInput , DeleteCloudFrontOriginAccessIdentityCommandOutput , } from "./commands/DeleteCloudFrontOriginAccessIdentityCommand" ; import { DeleteDistributionCommand , DeleteDistributionCommandInput , DeleteDistributionCommandOutput , } from "./commands/DeleteDistributionCommand" ; import { DeleteFieldLevelEncryptionConfigCommand , DeleteFieldLevelEncryptionConfigCommandInput , DeleteFieldLevelEncryptionConfigCommandOutput , } from "./commands/DeleteFieldLevelEncryptionConfigCommand" ; import { DeleteFieldLevelEncryptionProfileCommand , DeleteFieldLevelEncryptionProfileCommandInput , DeleteFieldLevelEncryptionProfileCommandOutput , } from "./commands/DeleteFieldLevelEncryptionProfileCommand" ; import { DeleteFunctionCommand , DeleteFunctionCommandInput , DeleteFunctionCommandOutput , } from "./commands/DeleteFunctionCommand" ; import { DeleteKeyGroupCommand , DeleteKeyGroupCommandInput , DeleteKeyGroupCommandOutput , } from "./commands/DeleteKeyGroupCommand" ; import { DeleteMonitoringSubscriptionCommand , DeleteMonitoringSubscriptionCommandInput , DeleteMonitoringSubscriptionCommandOutput , } from "./commands/DeleteMonitoringSubscriptionCommand" ; import { DeleteOriginRequestPolicyCommand , DeleteOriginRequestPolicyCommandInput , DeleteOriginRequestPolicyCommandOutput , } from "./commands/DeleteOriginRequestPolicyCommand" ; import { DeletePublicKeyCommand , DeletePublicKeyCommandInput , DeletePublicKeyCommandOutput , } from "./commands/DeletePublicKeyCommand" ; import { DeleteRealtimeLogConfigCommand , DeleteRealtimeLogConfigCommandInput , DeleteRealtimeLogConfigCommandOutput , } from "./commands/DeleteRealtimeLogConfigCommand" ; import { DeleteResponseHeadersPolicyCommand , DeleteResponseHeadersPolicyCommandInput , DeleteResponseHeadersPolicyCommandOutput , } from "./commands/DeleteResponseHeadersPolicyCommand" ; import { DeleteStreamingDistributionCommand , DeleteStreamingDistributionCommandInput , DeleteStreamingDistributionCommandOutput , } from "./commands/DeleteStreamingDistributionCommand" ; import { DescribeFunctionCommand , DescribeFunctionCommandInput , DescribeFunctionCommandOutput , } from "./commands/DescribeFunctionCommand" ; import { GetCachePolicyCommand , GetCachePolicyCommandInput , GetCachePolicyCommandOutput , } from "./commands/GetCachePolicyCommand" ; import { GetCachePolicyConfigCommand , GetCachePolicyConfigCommandInput , GetCachePolicyConfigCommandOutput , } from "./commands/GetCachePolicyConfigCommand" ; import { GetCloudFrontOriginAccessIdentityCommand , GetCloudFrontOriginAccessIdentityCommandInput , GetCloudFrontOriginAccessIdentityCommandOutput , } from "./commands/GetCloudFrontOriginAccessIdentityCommand" ; import { GetCloudFrontOriginAccessIdentityConfigCommand , GetCloudFrontOriginAccessIdentityConfigCommandInput , GetCloudFrontOriginAccessIdentityConfigCommandOutput , } from "./commands/GetCloudFrontOriginAccessIdentityConfigCommand" ; import { GetDistributionCommand , GetDistributionCommandInput , GetDistributionCommandOutput , } from "./commands/GetDistributionCommand" ; import { GetDistributionConfigCommand , GetDistributionConfigCommandInput , GetDistributionConfigCommandOutput , } from "./commands/GetDistributionConfigCommand" ; import { GetFieldLevelEncryptionCommand , GetFieldLevelEncryptionCommandInput , GetFieldLevelEncryptionCommandOutput , } from "./commands/GetFieldLevelEncryptionCommand" ; import { GetFieldLevelEncryptionConfigCommand , GetFieldLevelEncryptionConfigCommandInput , GetFieldLevelEncryptionConfigCommandOutput , } from "./commands/GetFieldLevelEncryptionConfigCommand" ; import { GetFieldLevelEncryptionProfileCommand , GetFieldLevelEncryptionProfileCommandInput , GetFieldLevelEncryptionProfileCommandOutput , } from "./commands/GetFieldLevelEncryptionProfileCommand" ; import { GetFieldLevelEncryptionProfileConfigCommand , GetFieldLevelEncryptionProfileConfigCommandInput , GetFieldLevelEncryptionProfileConfigCommandOutput , } from "./commands/GetFieldLevelEncryptionProfileConfigCommand" ; import { GetFunctionCommand , GetFunctionCommandInput , GetFunctionCommandOutput } from "./commands/GetFunctionCommand" ; import { GetInvalidationCommand , GetInvalidationCommandInput , GetInvalidationCommandOutput , } from "./commands/GetInvalidationCommand" ; import { GetKeyGroupCommand , GetKeyGroupCommandInput , GetKeyGroupCommandOutput } from "./commands/GetKeyGroupCommand" ; import { GetKeyGroupConfigCommand , GetKeyGroupConfigCommandInput , GetKeyGroupConfigCommandOutput , } from "./commands/GetKeyGroupConfigCommand" ; import { GetMonitoringSubscriptionCommand , GetMonitoringSubscriptionCommandInput , GetMonitoringSubscriptionCommandOutput , } from "./commands/GetMonitoringSubscriptionCommand" ; import { GetOriginRequestPolicyCommand , GetOriginRequestPolicyCommandInput , GetOriginRequestPolicyCommandOutput , } from "./commands/GetOriginRequestPolicyCommand" ; import { GetOriginRequestPolicyConfigCommand , GetOriginRequestPolicyConfigCommandInput , GetOriginRequestPolicyConfigCommandOutput , } from "./commands/GetOriginRequestPolicyConfigCommand" ; import { GetPublicKeyCommand , GetPublicKeyCommandInput , GetPublicKeyCommandOutput , } from "./commands/GetPublicKeyCommand" ; import { GetPublicKeyConfigCommand , GetPublicKeyConfigCommandInput , GetPublicKeyConfigCommandOutput , } from "./commands/GetPublicKeyConfigCommand" ; import { GetRealtimeLogConfigCommand , GetRealtimeLogConfigCommandInput , GetRealtimeLogConfigCommandOutput , } from "./commands/GetRealtimeLogConfigCommand" ; import { GetResponseHeadersPolicyCommand , GetResponseHeadersPolicyCommandInput , GetResponseHeadersPolicyCommandOutput , } from "./commands/GetResponseHeadersPolicyCommand" ; import { GetResponseHeadersPolicyConfigCommand , GetResponseHeadersPolicyConfigCommandInput , GetResponseHeadersPolicyConfigCommandOutput , } from "./commands/GetResponseHeadersPolicyConfigCommand" ; import { GetStreamingDistributionCommand , GetStreamingDistributionCommandInput , GetStreamingDistributionCommandOutput , } from "./commands/GetStreamingDistributionCommand" ; import { GetStreamingDistributionConfigCommand , GetStreamingDistributionConfigCommandInput , GetStreamingDistributionConfigCommandOutput , } from "./commands/GetStreamingDistributionConfigCommand" ; import { ListCachePoliciesCommand , ListCachePoliciesCommandInput , ListCachePoliciesCommandOutput , } from "./commands/ListCachePoliciesCommand" ; import { ListCloudFrontOriginAccessIdentitiesCommand , ListCloudFrontOriginAccessIdentitiesCommandInput , ListCloudFrontOriginAccessIdentitiesCommandOutput , } from "./commands/ListCloudFrontOriginAccessIdentitiesCommand" ; import { ListConflictingAliasesCommand , ListConflictingAliasesCommandInput , ListConflictingAliasesCommandOutput , } from "./commands/ListConflictingAliasesCommand" ; import { ListDistributionsByCachePolicyIdCommand , ListDistributionsByCachePolicyIdCommandInput , ListDistributionsByCachePolicyIdCommandOutput , } from "./commands/ListDistributionsByCachePolicyIdCommand" ; import { ListDistributionsByKeyGroupCommand , ListDistributionsByKeyGroupCommandInput , ListDistributionsByKeyGroupCommandOutput , } from "./commands/ListDistributionsByKeyGroupCommand" ; import { ListDistributionsByOriginRequestPolicyIdCommand , ListDistributionsByOriginRequestPolicyIdCommandInput , ListDistributionsByOriginRequestPolicyIdCommandOutput , } from "./commands/ListDistributionsByOriginRequestPolicyIdCommand" ; import { ListDistributionsByRealtimeLogConfigCommand , ListDistributionsByRealtimeLogConfigCommandInput , ListDistributionsByRealtimeLogConfigCommandOutput , } from "./commands/ListDistributionsByRealtimeLogConfigCommand" ; import { ListDistributionsByResponseHeadersPolicyIdCommand , ListDistributionsByResponseHeadersPolicyIdCommandInput , ListDistributionsByResponseHeadersPolicyIdCommandOutput , } from "./commands/ListDistributionsByResponseHeadersPolicyIdCommand" ; import { ListDistributionsByWebACLIdCommand , ListDistributionsByWebACLIdCommandInput , ListDistributionsByWebACLIdCommandOutput , } from "./commands/ListDistributionsByWebACLIdCommand" ; import { ListDistributionsCommand , ListDistributionsCommandInput , ListDistributionsCommandOutput , } from "./commands/ListDistributionsCommand" ; import { ListFieldLevelEncryptionConfigsCommand , ListFieldLevelEncryptionConfigsCommandInput , ListFieldLevelEncryptionConfigsCommandOutput , } from "./commands/ListFieldLevelEncryptionConfigsCommand" ; import { ListFieldLevelEncryptionProfilesCommand , ListFieldLevelEncryptionProfilesCommandInput , ListFieldLevelEncryptionProfilesCommandOutput , } from "./commands/ListFieldLevelEncryptionProfilesCommand" ; import { ListFunctionsCommand , ListFunctionsCommandInput , ListFunctionsCommandOutput , } from "./commands/ListFunctionsCommand" ; import { ListInvalidationsCommand , ListInvalidationsCommandInput , ListInvalidationsCommandOutput , } from "./commands/ListInvalidationsCommand" ; import { ListKeyGroupsCommand , ListKeyGroupsCommandInput , ListKeyGroupsCommandOutput , } from "./commands/ListKeyGroupsCommand" ; import { ListOriginRequestPoliciesCommand , ListOriginRequestPoliciesCommandInput , ListOriginRequestPoliciesCommandOutput , } from "./commands/ListOriginRequestPoliciesCommand" ; import { ListPublicKeysCommand , ListPublicKeysCommandInput , ListPublicKeysCommandOutput , } from "./commands/ListPublicKeysCommand" ; import { ListRealtimeLogConfigsCommand , ListRealtimeLogConfigsCommandInput , ListRealtimeLogConfigsCommandOutput , } from "./commands/ListRealtimeLogConfigsCommand" ; import { ListResponseHeadersPoliciesCommand , ListResponseHeadersPoliciesCommandInput , ListResponseHeadersPoliciesCommandOutput , } from "./commands/ListResponseHeadersPoliciesCommand" ; import { ListStreamingDistributionsCommand , ListStreamingDistributionsCommandInput , ListStreamingDistributionsCommandOutput , } from "./commands/ListStreamingDistributionsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { PublishFunctionCommand , PublishFunctionCommandInput , PublishFunctionCommandOutput , } from "./commands/PublishFunctionCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { TestFunctionCommand , TestFunctionCommandInput , TestFunctionCommandOutput , } from "./commands/TestFunctionCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateCachePolicyCommand , UpdateCachePolicyCommandInput , UpdateCachePolicyCommandOutput , } from "./commands/UpdateCachePolicyCommand" ; import { UpdateCloudFrontOriginAccessIdentityCommand , UpdateCloudFrontOriginAccessIdentityCommandInput , UpdateCloudFrontOriginAccessIdentityCommandOutput , } from "./commands/UpdateCloudFrontOriginAccessIdentityCommand" ; import { UpdateDistributionCommand , UpdateDistributionCommandInput , UpdateDistributionCommandOutput , } from "./commands/UpdateDistributionCommand" ; import { UpdateFieldLevelEncryptionConfigCommand , UpdateFieldLevelEncryptionConfigCommandInput , UpdateFieldLevelEncryptionConfigCommandOutput , } from "./commands/UpdateFieldLevelEncryptionConfigCommand" ; import { UpdateFieldLevelEncryptionProfileCommand , UpdateFieldLevelEncryptionProfileCommandInput , UpdateFieldLevelEncryptionProfileCommandOutput , } from "./commands/UpdateFieldLevelEncryptionProfileCommand" ; import { UpdateFunctionCommand , UpdateFunctionCommandInput , UpdateFunctionCommandOutput , } from "./commands/UpdateFunctionCommand" ; import { UpdateKeyGroupCommand , UpdateKeyGroupCommandInput , UpdateKeyGroupCommandOutput , } from "./commands/UpdateKeyGroupCommand" ; import { UpdateOriginRequestPolicyCommand , UpdateOriginRequestPolicyCommandInput , UpdateOriginRequestPolicyCommandOutput , } from "./commands/UpdateOriginRequestPolicyCommand" ; import { UpdatePublicKeyCommand , UpdatePublicKeyCommandInput , UpdatePublicKeyCommandOutput , } from "./commands/UpdatePublicKeyCommand" ; import { UpdateRealtimeLogConfigCommand , UpdateRealtimeLogConfigCommandInput , UpdateRealtimeLogConfigCommandOutput , } from "./commands/UpdateRealtimeLogConfigCommand" ; import { UpdateResponseHeadersPolicyCommand , UpdateResponseHeadersPolicyCommandInput , UpdateResponseHeadersPolicyCommandOutput , } from "./commands/UpdateResponseHeadersPolicyCommand" ; import { UpdateStreamingDistributionCommand , UpdateStreamingDistributionCommandInput , UpdateStreamingDistributionCommandOutput , } from "./commands/UpdateStreamingDistributionCommand" ; /**
 * <fullname>Amazon CloudFront</fullname>
 * 		       <p>This is the <i>Amazon CloudFront API Reference</i>. This guide
 *             is for developers who need detailed information about
 * 			CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the <i>Amazon CloudFront Developer Guide</i>.</p>
 */ export class CloudFront extends CloudFrontClient { /**
     * <p>Associates an alias (also known as a CNAME or an alternate domain name) with a CloudFront
     * 			distribution.</p>
     * 		       <p>With this operation you can move an alias that’s already in use on a CloudFront distribution
     * 			to a different distribution in one step. This prevents the downtime that could occur if
     * 			you first remove the alias from one distribution and then separately add the alias to
     * 			another distribution.</p>
     * 		       <p>To use this operation to associate an alias with a distribution, you provide the alias
     * 			and the ID of the target distribution for the alias. For more information, including how
     * 			to set up the target distribution, prerequisites that you must complete, and other
     * 			restrictions, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move">Moving an alternate domain name to a different distribution</a>
     * 			in the <i>Amazon CloudFront Developer Guide</i>.</p>
     */ public associateAlias ( args , options ? ) ; public associateAlias ( args , cb ) ; public associateAlias ( args , options , cb ) ; public associateAlias ( args , optionsOrCb ? , cb ? ) { const command = new AssociateAliasCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a cache policy.</p>
     * 		       <p>After you create a cache policy, you can attach it to one or more cache behaviors. When it’s
     * 			attached to a cache behavior, the cache policy determines the following:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>The values that CloudFront includes in the <i>cache key</i>. These values can
     * 					include HTTP headers, cookies, and URL query strings. CloudFront uses the cache key to
     * 					find an object in its cache that it can return to the viewer.</p>
     * 			         </li>
     *             <li>
     * 				           <p>The default, minimum, and maximum time to live (TTL) values that you want objects to stay
     * 					in the CloudFront cache.</p>
     * 			         </li>
     *          </ul>
     * 		       <p>The headers, cookies, and query strings that are included in the cache key are automatically
     * 			included in requests that CloudFront sends to the origin. CloudFront sends a request when it can’t
     * 			find an object in its cache that matches the request’s cache key. If you want to send
     * 			values to the origin but <i>not</i> include them in the cache key, use
     * 			<code>OriginRequestPolicy</code>.</p>
     * 		       <p>For more information about cache policies, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html">Controlling the cache key</a> in the
     * 			<i>Amazon CloudFront Developer Guide</i>.</p>
     */ public createCachePolicy ( args , options ? ) ; public createCachePolicy ( args , cb ) ; public createCachePolicy ( args , options , cb ) ; public createCachePolicy ( args , optionsOrCb ? , cb ? ) { const command = new CreateCachePolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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 <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html">Serving Private Content through CloudFront</a> in the
     * 				<i>Amazon CloudFront Developer Guide</i>.</p>
     */ public createCloudFrontOriginAccessIdentity ( args , options ? ) ; public createCloudFrontOriginAccessIdentity ( args , cb ) ; public createCloudFrontOriginAccessIdentity ( args , options , cb ) ; public createCloudFrontOriginAccessIdentity ( args , optionsOrCb ? , cb ? ) { const command = new CreateCloudFrontOriginAccessIdentityCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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 <code>POST</code> request to the
     * 			<code>/<i>CloudFront API version</i>/distribution</code>/<code>distribution ID</code> resource.</p>
     * 		       <important>
     *             <p>When you update a distribution, there are more required fields than when you create a distribution.
     * 			When you update your distribution by using
     * 			<a href="https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html">UpdateDistribution</a>,
     * 			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 <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html">Required
     * 				Fields for Create Distribution and Update Distribution</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
     *          </important>
     */ public createDistribution ( args , options ? ) ; public createDistribution ( args , cb ) ; public createDistribution ( args , options , cb ) ; public createDistribution ( args , optionsOrCb ? , cb ? ) { const command = new CreateDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Create a new distribution with tags.</p>
     */ public createDistributionWithTags ( args , options ? ) ; public createDistributionWithTags ( args , cb ) ; public createDistributionWithTags ( args , options , cb ) ; public createDistributionWithTags ( args , optionsOrCb ? , cb ? ) { const command = new CreateDistributionWithTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Create a new field-level encryption configuration.</p>
     */ public createFieldLevelEncryptionConfig ( args , options ? ) ; public createFieldLevelEncryptionConfig ( args , cb ) ; public createFieldLevelEncryptionConfig ( args , options , cb ) ; public createFieldLevelEncryptionConfig ( args , optionsOrCb ? , cb ? ) { const command = new CreateFieldLevelEncryptionConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Create a field-level encryption profile.</p>
     */ public createFieldLevelEncryptionProfile ( args , options ? ) ; public createFieldLevelEncryptionProfile ( args , cb ) ; public createFieldLevelEncryptionProfile ( args , options , cb ) ; public createFieldLevelEncryptionProfile ( args , optionsOrCb ? , cb ? ) { const command = new CreateFieldLevelEncryptionProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a CloudFront function.</p>
     * 		       <p>To create a function, you provide the function code and some configuration information
     * 			about the function. The response contains an Amazon Resource Name (ARN) that uniquely
     * 			identifies the function.</p>
     * 		       <p>When you create a function, it’s in the <code>DEVELOPMENT</code> stage. In this stage, you
     * 			can test the function with <code>TestFunction</code>, and update it with
     * 			<code>UpdateFunction</code>.</p>
     * 		       <p>When you’re ready to use your function with a CloudFront distribution, use
     * 			<code>PublishFunction</code> to copy the function from the <code>DEVELOPMENT</code>
     * 			stage to <code>LIVE</code>. When it’s live, you can attach the function to a
     * 			distribution’s cache behavior, using the function’s ARN.</p>
     */ public createFunction ( args , options ? ) ; public createFunction ( args , cb ) ; public createFunction ( args , options , cb ) ; public createFunction ( args , optionsOrCb ? , cb ? ) { const command = new CreateFunctionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Create a new invalidation. </p>
     */ public createInvalidation ( args , options ? ) ; public createInvalidation ( args , cb ) ; public createInvalidation ( args , options , cb ) ; public createInvalidation ( args , optionsOrCb ? , cb ? ) { const command = new CreateInvalidationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a key group that you can use with <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html">CloudFront signed URLs and signed cookies</a>.</p>
     * 		       <p>To create a key group, you must specify at least one public key for the key group. After you
     * 			create a key group, you can reference it from one or more cache behaviors. When you
     * 			reference a key group in a cache behavior, CloudFront requires signed URLs or signed cookies
     * 			for all requests that match the cache behavior. The URLs or cookies must be signed with
     * 			a private key whose corresponding public key is in the key group. The signed URL or
     * 			cookie contains information about which public key CloudFront should use to verify the
     * 			signature. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html">Serving private content</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
     */ public createKeyGroup ( args , options ? ) ; public createKeyGroup ( args , cb ) ; public createKeyGroup ( args , options , cb ) ; public createKeyGroup ( args , optionsOrCb ? , cb ? ) { const command = new CreateKeyGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Enables additional CloudWatch metrics for the specified CloudFront distribution. The
     * 			additional metrics incur an additional cost.</p>
     * 		       <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional">Viewing additional CloudFront distribution metrics</a> in the
     * 			<i>Amazon CloudFront Developer Guide</i>.</p>
     */ public createMonitoringSubscription ( args , options ? ) ; public createMonitoringSubscription ( args , cb ) ; public createMonitoringSubscription ( args , options , cb ) ; public createMonitoringSubscription ( args , optionsOrCb ? , cb ? ) { const command = new CreateMonitoringSubscriptionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates an origin request policy.</p>
     * 		       <p>After you create an origin request policy, you can attach it to one or more cache behaviors.
     * 			When it’s attached to a cache behavior, the origin request policy determines the values
     * 			that CloudFront includes in requests that it sends to the origin. Each request that CloudFront sends
     * 			to the origin includes the following:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>The request body and the URL path (without the domain name) from the viewer
     * 					request.</p>
     * 			         </li>
     *             <li>
     * 				           <p>The headers that CloudFront automatically includes in every origin request, including
     * 					<code>Host</code>, <code>User-Agent</code>, and <code>X-Amz-Cf-Id</code>.</p>
     * 			         </li>
     *             <li>
     * 				           <p>All HTTP headers, cookies, and URL query strings that are specified in the cache policy or
     * 					the origin request policy. These can include items from the viewer request and,
     * 					in the case of headers, additional ones that are added by CloudFront.</p>
     * 			         </li>
     *          </ul>
     * 		       <p>CloudFront sends a request when it can’t find a valid object in its cache that matches the
     * 			request. If you want to send values to the origin and also include them in the cache
     * 			key, use <code>CachePolicy</code>.</p>
     * 		       <p>For more information about origin request policies, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html">Controlling origin requests</a> in the
     * 			<i>Amazon CloudFront Developer Guide</i>.</p>
     */ public createOriginRequestPolicy ( args , options ? ) ; public createOriginRequestPolicy ( args , cb ) ; public createOriginRequestPolicy ( args , options , cb ) ; public createOriginRequestPolicy ( args , optionsOrCb ? , cb ? ) { const command = new CreateOriginRequestPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Uploads a public key to CloudFront that you can use with <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html">signed URLs and signed cookies</a>, or with <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html">field-level encryption</a>.</p>
     */ public createPublicKey ( args , options ? ) ; public createPublicKey ( args , cb ) ; public createPublicKey ( args , options , cb ) ; public createPublicKey ( args , optionsOrCb ? , cb ? ) { const command = new CreatePublicKeyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a real-time log configuration.</p>
     * 		       <p>After you create a real-time log configuration, you can attach it to one or more cache
     * 			behaviors to send real-time log data to the specified Amazon Kinesis data stream.</p>
     * 		       <p>For more information about real-time log configurations, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html">Real-time logs</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
     */ public createRealtimeLogConfig ( args , options ? ) ; public createRealtimeLogConfig ( args , cb ) ; public createRealtimeLogConfig ( args , options , cb ) ; public createRealtimeLogConfig ( args , optionsOrCb ? , cb ? ) { const command = new CreateRealtimeLogConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a response headers policy.</p>
     * 		       <p>A response headers policy contains information about a set of HTTP response headers
     * 			and their values. To create a response headers policy, you provide some metadata about
     * 			the policy, and a set of configurations that specify the response headers.</p>
     * 		       <p>After you create a response headers policy, you can use its ID to attach it to one or more
     * 			cache behaviors in a CloudFront distribution. When it’s attached to a cache behavior, CloudFront
     * 			adds the headers in the policy to HTTP responses that it sends for requests that match
     * 			the cache behavior.</p>
     */ public createResponseHeadersPolicy ( args , options ? ) ; public createResponseHeadersPolicy ( args , cb ) ; public createResponseHeadersPolicy ( args , options , cb ) ; public createResponseHeadersPolicy ( args , optionsOrCb ? , cb ? ) { const command = new CreateResponseHeadersPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>This API is deprecated.
     *             Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on December 31, 2020.
     *             For more information, <a href="http://forums.aws.amazon.com/ann.jspa?annID=7356">read the announcement</a> on the Amazon CloudFront discussion forum.</p>
     */ public createStreamingDistribution ( args , options ? ) ; public createStreamingDistribution ( args , cb ) ; public createStreamingDistribution ( args , options , cb ) ; public createStreamingDistribution ( args , optionsOrCb ? , cb ? ) { const command = new CreateStreamingDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>This API is deprecated.
     *             Amazon CloudFront is deprecating real-time messaging protocol (RTMP) distributions on December 31, 2020.
     *             For more information, <a href="http://forums.aws.amazon.com/ann.jspa?annID=7356">read the announcement</a> on the Amazon CloudFront discussion forum.</p>
     */ public createStreamingDistributionWithTags ( args , options ? ) ; public createStreamingDistributionWithTags ( args , cb ) ; public createStreamingDistributionWithTags ( args , options , cb ) ; public createStreamingDistributionWithTags ( args , optionsOrCb ? , cb ? ) { const command = new CreateStreamingDistributionWithTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a cache policy.</p>
     * 		       <p>You cannot delete a cache policy if it’s attached to a cache behavior. First update your
     * 			distributions to remove the cache policy from all cache behaviors, then delete the cache
     * 			policy.</p>
     * 		       <p>To delete a cache policy, you must provide the policy’s identifier and version. To get these
     * 			values, you can use <code>ListCachePolicies</code> or
     * 			<code>GetCachePolicy</code>.</p>
     */ public deleteCachePolicy ( args , options ? ) ; public deleteCachePolicy ( args , cb ) ; public deleteCachePolicy ( args , options , cb ) ; public deleteCachePolicy ( args , optionsOrCb ? , cb ? ) { const command = new DeleteCachePolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Delete an origin access identity. </p>
     */ public deleteCloudFrontOriginAccessIdentity ( args , options ? ) ; public deleteCloudFrontOriginAccessIdentity ( args , cb ) ; public deleteCloudFrontOriginAccessIdentity ( args , options , cb ) ; public deleteCloudFrontOriginAccessIdentity ( args , optionsOrCb ? , cb ? ) { const command = new DeleteCloudFrontOriginAccessIdentityCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Delete a distribution. </p>
     */ public deleteDistribution ( args , options ? ) ; public deleteDistribution ( args , cb ) ; public deleteDistribution ( args , options , cb ) ; public deleteDistribution ( args , optionsOrCb ? , cb ? ) { const command = new DeleteDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Remove a field-level encryption configuration.</p>
     */ public deleteFieldLevelEncryptionConfig ( args , options ? ) ; public deleteFieldLevelEncryptionConfig ( args , cb ) ; public deleteFieldLevelEncryptionConfig ( args , options , cb ) ; public deleteFieldLevelEncryptionConfig ( args , optionsOrCb ? , cb ? ) { const command = new DeleteFieldLevelEncryptionConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Remove a field-level encryption profile.</p>
     */ public deleteFieldLevelEncryptionProfile ( args , options ? ) ; public deleteFieldLevelEncryptionProfile ( args , cb ) ; public deleteFieldLevelEncryptionProfile ( args , options , cb ) ; public deleteFieldLevelEncryptionProfile ( args , optionsOrCb ? , cb ? ) { const command = new DeleteFieldLevelEncryptionProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a CloudFront function.</p>
     * 		       <p>You cannot delete a function if it’s associated with a cache behavior. First, update your
     * 			distributions to remove the function association from all cache behaviors, then delete
     * 			the function.</p>
     * 		       <p>To delete a function, you must provide the function’s name and version
     * 			(<code>ETag</code> value). To get these values, you can use <code>ListFunctions</code>
     * 			and <code>DescribeFunction</code>.</p>
     */ public deleteFunction ( args , options ? ) ; public deleteFunction ( args , cb ) ; public deleteFunction ( args , options , cb ) ; public deleteFunction ( args , optionsOrCb ? , cb ? ) { const command = new DeleteFunctionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a key group.</p>
     * 		       <p>You cannot delete a key group that is referenced in a cache behavior. First update
     * 			your distributions to remove the key group from all cache behaviors, then delete the key
     * 			group.</p>
     * 		       <p>To delete a key group, you must provide the key group’s identifier and version. To get
     * 			these values, use <code>ListKeyGroups</code> followed by <code>GetKeyGroup</code> or
     * 			<code>GetKeyGroupConfig</code>.</p>
     */ public deleteKeyGroup ( args , options ? ) ; public deleteKeyGroup ( args , cb ) ; public deleteKeyGroup ( args , options , cb ) ; public deleteKeyGroup ( args , optionsOrCb ? , cb ? ) { const command = new DeleteKeyGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Disables additional CloudWatch metrics for the specified CloudFront distribution.</p>
     */ public deleteMonitoringSubscription ( args , options ? ) ; public deleteMonitoringSubscription ( args , cb ) ; public deleteMonitoringSubscription ( args , options , cb ) ; public deleteMonitoringSubscription ( args , optionsOrCb ? , cb ? ) { const command = new DeleteMonitoringSubscriptionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes an origin request policy.</p>
     * 		       <p>You cannot delete an origin request policy if it’s attached to any cache behaviors. First
     * 			update your distributions to remove the origin request policy from all cache behaviors,
     * 			then delete the origin request policy.</p>
     * 		       <p>To delete an origin request policy, you must provide the policy’s identifier and version. To
     * 			get the identifier, you can use <code>ListOriginRequestPolicies</code> or
     * 			<code>GetOriginRequestPolicy</code>.</p>
     */ public deleteOriginRequestPolicy ( args , options ? ) ; public deleteOriginRequestPolicy ( args , cb ) ; public deleteOriginRequestPolicy ( args , options , cb ) ; public deleteOriginRequestPolicy ( args , optionsOrCb ? , cb ? ) { const command = new DeleteOriginRequestPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Remove a public key you previously added to CloudFront.</p>
     */ public deletePublicKey ( args , options ? ) ; public deletePublicKey ( args , cb ) ; public deletePublicKey ( args , options , cb ) ; public deletePublicKey ( args , optionsOrCb ? , cb ? ) { const command = new DeletePublicKeyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a real-time log configuration.</p>
     * 		       <p>You cannot delete a real-time log configuration if it’s attached to a cache behavior.
     * 			First update your distributions to remove the real-time log configuration from all cache
     * 			behaviors, then delete the real-time log configuration.</p>
     * 		       <p>To delete a real-time log configuration, you can provide the configuration’s name or its
     * 			Amazon Resource Name (ARN). You must provide at least one. If you provide both, CloudFront
     * 			uses the name to identify the real-time log configuration to delete.</p>
     */ public deleteRealtimeLogConfig ( args , options ? ) ; public deleteRealtimeLogConfig ( args , cb ) ; public deleteRealtimeLogConfig ( args , options , cb ) ; public deleteRealtimeLogConfig ( args , optionsOrCb ? , cb ? ) { const command = new DeleteRealtimeLogConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a response headers policy.</p>
     * 		       <p>You cannot delete a response headers policy if it’s attached to a cache behavior.
     * 			First update your distributions to remove the response headers policy from all cache
     * 			behaviors, then delete the response headers policy.</p>
     * 		       <p>To delete a response headers policy, you must provide the policy’s identifier and
     * 			version. To get these values, you can use <code>ListResponseHeadersPolicies</code> or
     * 				<code>GetResponseHeadersPolicy</code>. </p>
     */ public deleteResponseHeadersPolicy ( args , options ? ) ; public deleteResponseHeadersPolicy ( args , cb ) ; public deleteResponseHeadersPolicy ( args , options , cb ) ; public deleteResponseHeadersPolicy ( args , optionsOrCb ? , cb ? ) { const command = new DeleteResponseHeadersPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Delete a streaming distribution. To delete an RTMP distribution using the CloudFront API,
     * 			perform the following steps.</p>
     *
     * 		       <p>
     *             <b>To delete an RTMP distribution using the CloudFront
     * 			API</b>:</p>
     * 		       <ol>
     *             <li>
     * 				           <p>Disable the RTMP distribution.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Submit a <code>GET Streaming Distribution Config</code> request to get the current
     * 					configuration and the <code>Etag</code> header for the distribution. </p>
     * 			         </li>
     *             <li>
     * 				           <p>Update the XML document that was returned in the response to your <code>GET
     * 						Streaming Distribution Config</code> request to change the value of <code>Enabled</code>
     * 					to <code>false</code>.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Submit a <code>PUT Streaming Distribution Config</code> 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 <code>If-Match</code> header to the
     * 					value of the <code>ETag</code> header that CloudFront returned when you submitted the <code>GET
     * 						Streaming Distribution Config</code> request in Step 2.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Review the response to the <code>PUT Streaming Distribution Config</code> request
     * 					to confirm that the distribution was successfully disabled.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Submit a <code>GET Streaming Distribution Config</code> request to confirm that
     * 					your changes have propagated. When propagation is complete, the value of
     * 						<code>Status</code> is <code>Deployed</code>.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Submit a <code>DELETE Streaming Distribution</code> request. Set the value of the
     * 					HTTP <code>If-Match</code> header to the value of the <code>ETag</code> header that CloudFront
     * 					returned when you submitted the <code>GET Streaming Distribution Config</code> request in
     * 					Step 2.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Review the response to your <code>DELETE Streaming Distribution</code> request to
     * 					confirm that the distribution was successfully deleted.</p>
     * 			         </li>
     *          </ol>
     * 		       <p>For information about deleting a distribution using the CloudFront console, see <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html">Deleting a Distribution</a> in the
     * 				<i>Amazon CloudFront Developer Guide</i>.</p>
     */ public deleteStreamingDistribution ( args , options ? ) ; public deleteStreamingDistribution ( args , cb ) ; public deleteStreamingDistribution ( args , options , cb ) ; public deleteStreamingDistribution ( args , optionsOrCb ? , cb ? ) { const command = new DeleteStreamingDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets configuration information and metadata about a CloudFront function, but not the function’s
     * 			code. To get a function’s code, use <code>GetFunction</code>.</p>
     * 		       <p>To get configuration information and metadata about a function, you must provide the
     * 			function’s name and stage. To get these values, you can use
     * 			<code>ListFunctions</code>.</p>
     */ public describeFunction ( args , options ? ) ; public describeFunction ( args , cb ) ; public describeFunction ( args , options , cb ) ; public describeFunction ( args , optionsOrCb ? , cb ? ) { const command = new DescribeFunctionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a cache policy, including the following metadata:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>The policy’s identifier.</p>
     * 			         </li>
     *             <li>
     * 				           <p>The date and time when the policy was last modified.</p>
     * 			         </li>
     *          </ul>
     * 		       <p>To get a cache policy, you must provide the policy’s identifier. If the cache policy is
     * 			attached to a distribution’s cache behavior, you can get the policy’s identifier using
     * 			<code>ListDistributions</code> or <code>GetDistribution</code>. If the cache policy is
     * 			not attached to a cache behavior, you can get the identifier using
     * 			<code>ListCachePolicies</code>.</p>
     */ public getCachePolicy ( args , options ? ) ; public getCachePolicy ( args , cb ) ; public getCachePolicy ( args , options , cb ) ; public getCachePolicy ( args , optionsOrCb ? , cb ? ) { const command = new GetCachePolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a cache policy configuration.</p>
     * 		       <p>To get a cache policy configuration, you must provide the policy’s identifier. If the cache
     * 			policy is attached to a distribution’s cache behavior, you can get the policy’s
     * 			identifier using <code>ListDistributions</code> or <code>GetDistribution</code>. If the
     * 			cache policy is not attached to a cache behavior, you can get the identifier using
     * 			<code>ListCachePolicies</code>.</p>
     */ public getCachePolicyConfig ( args , options ? ) ; public getCachePolicyConfig ( args , cb ) ; public getCachePolicyConfig ( args , options , cb ) ; public getCachePolicyConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetCachePolicyConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the information about an origin access identity. </p>
     */ public getCloudFrontOriginAccessIdentity ( args , options ? ) ; public getCloudFrontOriginAccessIdentity ( args , cb ) ; public getCloudFrontOriginAccessIdentity ( args , options , cb ) ; public getCloudFrontOriginAccessIdentity ( args , optionsOrCb ? , cb ? ) { const command = new GetCloudFrontOriginAccessIdentityCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the configuration information about an origin access identity. </p>
     */ public getCloudFrontOriginAccessIdentityConfig ( args , options ? ) ; public getCloudFrontOriginAccessIdentityConfig ( args , cb ) ; public getCloudFrontOriginAccessIdentityConfig ( args , options , cb ) ; public getCloudFrontOriginAccessIdentityConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetCloudFrontOriginAccessIdentityConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the information about a distribution.</p>
     */ public getDistribution ( args , options ? ) ; public getDistribution ( args , cb ) ; public getDistribution ( args , options , cb ) ; public getDistribution ( args , optionsOrCb ? , cb ? ) { const command = new GetDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the configuration information about a distribution. </p>
     */ public getDistributionConfig ( args , options ? ) ; public getDistributionConfig ( args , cb ) ; public getDistributionConfig ( args , options , cb ) ; public getDistributionConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetDistributionConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the field-level encryption configuration information.</p>
     */ public getFieldLevelEncryption ( args , options ? ) ; public getFieldLevelEncryption ( args , cb ) ; public getFieldLevelEncryption ( args , options , cb ) ; public getFieldLevelEncryption ( args , optionsOrCb ? , cb ? ) { const command = new GetFieldLevelEncryptionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the field-level encryption configuration information.</p>
     */ public getFieldLevelEncryptionConfig ( args , options ? ) ; public getFieldLevelEncryptionConfig ( args , cb ) ; public getFieldLevelEncryptionConfig ( args , options , cb ) ; public getFieldLevelEncryptionConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetFieldLevelEncryptionConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the field-level encryption profile information.</p>
     */ public getFieldLevelEncryptionProfile ( args , options ? ) ; public getFieldLevelEncryptionProfile ( args , cb ) ; public getFieldLevelEncryptionProfile ( args , options , cb ) ; public getFieldLevelEncryptionProfile ( args , optionsOrCb ? , cb ? ) { const command = new GetFieldLevelEncryptionProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the field-level encryption profile configuration information.</p>
     */ public getFieldLevelEncryptionProfileConfig ( args , options ? ) ; public getFieldLevelEncryptionProfileConfig ( args , cb ) ; public getFieldLevelEncryptionProfileConfig ( args , options , cb ) ; public getFieldLevelEncryptionProfileConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetFieldLevelEncryptionProfileConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets the code of a CloudFront function. To get configuration information and metadata about
     * 			a function, use <code>DescribeFunction</code>.</p>
     * 		       <p>To get a function’s code, you must provide the function’s name and stage. To get these
     * 			values, you can use <code>ListFunctions</code>.</p>
     */ public getFunction ( args , options ? ) ; public getFunction ( args , cb ) ; public getFunction ( args , options , cb ) ; public getFunction ( args , optionsOrCb ? , cb ? ) { const command = new GetFunctionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the information about an invalidation. </p>
     */ public getInvalidation ( args , options ? ) ; public getInvalidation ( args , cb ) ; public getInvalidation ( args , options , cb ) ; public getInvalidation ( args , optionsOrCb ? , cb ? ) { const command = new GetInvalidationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a key group, including the date and time when the key group was last modified.</p>
     * 		       <p>To get a key group, you must provide the key group’s identifier. If the key group is
     * 			referenced in a distribution’s cache behavior, you can get the key group’s identifier
     * 			using <code>ListDistributions</code> or <code>GetDistribution</code>. If the key group
     * 			is not referenced in a cache behavior, you can get the identifier using
     * 			<code>ListKeyGroups</code>.</p>
     */ public getKeyGroup ( args , options ? ) ; public getKeyGroup ( args , cb ) ; public getKeyGroup ( args , options , cb ) ; public getKeyGroup ( args , optionsOrCb ? , cb ? ) { const command = new GetKeyGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a key group configuration.</p>
     * 		       <p>To get a key group configuration, you must provide the key group’s identifier. If the
     * 			key group is referenced in a distribution’s cache behavior, you can get the key group’s
     * 			identifier using <code>ListDistributions</code> or <code>GetDistribution</code>. If the
     * 			key group is not referenced in a cache behavior, you can get the identifier using
     * 			<code>ListKeyGroups</code>.</p>
     */ public getKeyGroupConfig ( args , options ? ) ; public getKeyGroupConfig ( args , cb ) ; public getKeyGroupConfig ( args , options , cb ) ; public getKeyGroupConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetKeyGroupConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets information about whether additional CloudWatch metrics are enabled for the specified
     * 			CloudFront distribution.</p>
     */ public getMonitoringSubscription ( args , options ? ) ; public getMonitoringSubscription ( args , cb ) ; public getMonitoringSubscription ( args , options , cb ) ; public getMonitoringSubscription ( args , optionsOrCb ? , cb ? ) { const command = new GetMonitoringSubscriptionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets an origin request policy, including the following metadata:</p>
     * 		       <ul>
     *             <li>
     * 				           <p>The policy’s identifier.</p>
     * 			         </li>
     *             <li>
     * 				           <p>The date and time when the policy was last modified.</p>
     * 			         </li>
     *          </ul>
     * 		       <p>To get an origin request policy, you must provide the policy’s identifier. If the origin
     * 			request policy is attached to a distribution’s cache behavior, you can get the policy’s
     * 			identifier using <code>ListDistributions</code> or <code>GetDistribution</code>. If the
     * 			origin request policy is not attached to a cache behavior, you can get the identifier
     * 			using <code>ListOriginRequestPolicies</code>.</p>
     */ public getOriginRequestPolicy ( args , options ? ) ; public getOriginRequestPolicy ( args , cb ) ; public getOriginRequestPolicy ( args , options , cb ) ; public getOriginRequestPolicy ( args , optionsOrCb ? , cb ? ) { const command = new GetOriginRequestPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets an origin request policy configuration.</p>
     * 		       <p>To get an origin request policy configuration, you must provide the policy’s identifier. If
     * 			the origin request policy is attached to a distribution’s cache behavior, you can get
     * 			the policy’s identifier using <code>ListDistributions</code> or
     * 			<code>GetDistribution</code>. If the origin request policy is not attached to a cache
     * 			behavior, you can get the identifier using
     * 			<code>ListOriginRequestPolicies</code>.</p>
     */ public getOriginRequestPolicyConfig ( args , options ? ) ; public getOriginRequestPolicyConfig ( args , cb ) ; public getOriginRequestPolicyConfig ( args , options , cb ) ; public getOriginRequestPolicyConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetOriginRequestPolicyConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a public key.</p>
     */ public getPublicKey ( args , options ? ) ; public getPublicKey ( args , cb ) ; public getPublicKey ( args , options , cb ) ; public getPublicKey ( args , optionsOrCb ? , cb ? ) { const command = new GetPublicKeyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a public key configuration.</p>
     */ public getPublicKeyConfig ( args , options ? ) ; public getPublicKeyConfig ( args , cb ) ; public getPublicKeyConfig ( args , options , cb ) ; public getPublicKeyConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetPublicKeyConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a real-time log configuration.</p>
     * 		       <p>To get a real-time log configuration, you can provide the configuration’s name or its Amazon
     * 			Resource Name (ARN). You must provide at least one. If you provide both, CloudFront uses the
     * 			name to identify the real-time log configuration to get.</p>
     */ public getRealtimeLogConfig ( args , options ? ) ; public getRealtimeLogConfig ( args , cb ) ; public getRealtimeLogConfig ( args , options , cb ) ; public getRealtimeLogConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetRealtimeLogConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a response headers policy, including metadata (the policy’s identifier and the date and
     * 			time when the policy was last modified).</p>
     * 		       <p>To get a response headers policy, you must provide the policy’s identifier. If the
     * 			response headers policy is attached to a distribution’s cache behavior, you can get the
     * 			policy’s identifier using <code>ListDistributions</code> or
     * 			<code>GetDistribution</code>. If the response headers policy is not attached to a cache
     * 			behavior, you can get the identifier using
     * 			<code>ListResponseHeadersPolicies</code>.</p>
     */ public getResponseHeadersPolicy ( args , options ? ) ; public getResponseHeadersPolicy ( args , cb ) ; public getResponseHeadersPolicy ( args , options , cb ) ; public getResponseHeadersPolicy ( args , optionsOrCb ? , cb ? ) { const command = new GetResponseHeadersPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a response headers policy configuration.</p>
     * 		       <p>To get a response headers policy configuration, you must provide the policy’s
     * 			identifier. If the response headers policy is attached to a distribution’s cache
     * 			behavior, you can get the policy’s identifier using <code>ListDistributions</code> or
     * 			<code>GetDistribution</code>. If the response headers policy is not attached to a
     * 			cache behavior, you can get the identifier using
     * 			<code>ListResponseHeadersPolicies</code>.</p>
     */ public getResponseHeadersPolicyConfig ( args , options ? ) ; public getResponseHeadersPolicyConfig ( args , cb ) ; public getResponseHeadersPolicyConfig ( args , options , cb ) ; public getResponseHeadersPolicyConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetResponseHeadersPolicyConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets information about a specified RTMP distribution, including the distribution configuration.</p>
     */ public getStreamingDistribution ( args , options ? ) ; public getStreamingDistribution ( args , cb ) ; public getStreamingDistribution ( args , options , cb ) ; public getStreamingDistribution ( args , optionsOrCb ? , cb ? ) { const command = new GetStreamingDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Get the configuration information about a streaming distribution. </p>
     */ public getStreamingDistributionConfig ( args , options ? ) ; public getStreamingDistributionConfig ( args , cb ) ; public getStreamingDistributionConfig ( args , options , cb ) ; public getStreamingDistributionConfig ( args , optionsOrCb ? , cb ? ) { const command = new GetStreamingDistributionConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of cache policies.</p>
     * 		       <p>You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or
     * 			only the custom policies created in your Amazon Web Services account.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listCachePolicies ( args , options ? ) ; public listCachePolicies ( args , cb ) ; public listCachePolicies ( args , options , cb ) ; public listCachePolicies ( args , optionsOrCb ? , cb ? ) { const command = new ListCachePoliciesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists origin access identities.</p>
     */ public listCloudFrontOriginAccessIdentities ( args , options ? ) ; public listCloudFrontOriginAccessIdentities ( args , cb ) ; public listCloudFrontOriginAccessIdentities ( args , options , cb ) ; public listCloudFrontOriginAccessIdentities ( args , optionsOrCb ? , cb ? ) { const command = new ListCloudFrontOriginAccessIdentitiesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of aliases (also called CNAMEs or alternate domain names) that conflict or
     * 			overlap with the provided alias, and the associated CloudFront distributions and Amazon Web Services
     * 			accounts for each conflicting alias. In the returned list, the distribution and account
     * 			IDs are partially hidden, which allows you to identify the distributions and accounts
     * 			that you own, but helps to protect the information of ones that you don’t own.</p>
     * 		       <p>Use this operation to find aliases that are in use in CloudFront that conflict or overlap
     * 			with the provided alias. For example, if you provide <code>www.example.com</code> as
     * 			input, the returned list can include <code>www.example.com</code> and the overlapping
     * 			wildcard alternate domain name (<code>*.example.com</code>), if they exist. If you
     * 			provide <code>*.example.com</code> as input, the returned list can include
     * 			<code>*.example.com</code> and any alternate domain names covered by that wildcard (for
     * 			example, <code>www.example.com</code>, <code>test.example.com</code>,
     * 			<code>dev.example.com</code>, and so on), if they exist.</p>
     * 		       <p>To list conflicting aliases, you provide the alias to search and the ID of a distribution in
     * 			your account that has an attached SSL/TLS certificate that includes the provided alias.
     * 			For more information, including how to set up the distribution and certificate, see
     * 			<a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move">Moving an alternate domain name to a different distribution</a>
     * 			in the <i>Amazon CloudFront Developer Guide</i>.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listConflictingAliases ( args , options ? ) ; public listConflictingAliases ( args , cb ) ; public listConflictingAliases ( args , options , cb ) ; public listConflictingAliases ( args , optionsOrCb ? , cb ? ) { const command = new ListConflictingAliasesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List CloudFront distributions.</p>
     */ public listDistributions ( args , options ? ) ; public listDistributions ( args , cb ) ; public listDistributions ( args , options , cb ) ; public listDistributions ( args , optionsOrCb ? , cb ? ) { const command = new ListDistributionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of distribution IDs for distributions that have a cache behavior that’s
     * 			associated with the specified cache policy.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listDistributionsByCachePolicyId ( args , options ? ) ; public listDistributionsByCachePolicyId ( args , cb ) ; public listDistributionsByCachePolicyId ( args , options , cb ) ; public listDistributionsByCachePolicyId ( args , optionsOrCb ? , cb ? ) { const command = new ListDistributionsByCachePolicyIdCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of distribution IDs for distributions that have a cache behavior that references
     * 			the specified key group.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listDistributionsByKeyGroup ( args , options ? ) ; public listDistributionsByKeyGroup ( args , cb ) ; public listDistributionsByKeyGroup ( args , options , cb ) ; public listDistributionsByKeyGroup ( args , optionsOrCb ? , cb ? ) { const command = new ListDistributionsByKeyGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of distribution IDs for distributions that have a cache behavior that’s
     * 			associated with the specified origin request policy.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listDistributionsByOriginRequestPolicyId ( args , options ? ) ; public listDistributionsByOriginRequestPolicyId ( args , cb ) ; public listDistributionsByOriginRequestPolicyId ( args , options , cb ) ; public listDistributionsByOriginRequestPolicyId ( args , optionsOrCb ? , cb ? ) { const command = new ListDistributionsByOriginRequestPolicyIdCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of distributions that have a cache behavior that’s associated with the specified
     * 			real-time log configuration.</p>
     * 		       <p>You can specify the real-time log configuration by its name or its Amazon Resource Name
     * 			(ARN). You must provide at least one. If you provide both, CloudFront uses the name to
     * 			identify the real-time log configuration to list distributions for.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request. </p>
     */ public listDistributionsByRealtimeLogConfig ( args , options ? ) ; public listDistributionsByRealtimeLogConfig ( args , cb ) ; public listDistributionsByRealtimeLogConfig ( args , options , cb ) ; public listDistributionsByRealtimeLogConfig ( args , optionsOrCb ? , cb ? ) { const command = new ListDistributionsByRealtimeLogConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of distribution IDs for distributions that have a cache behavior that’s
     * 			associated with the specified response headers policy.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listDistributionsByResponseHeadersPolicyId ( args , options ? ) ; public listDistributionsByResponseHeadersPolicyId ( args , cb ) ; public listDistributionsByResponseHeadersPolicyId ( args , options , cb ) ; public listDistributionsByResponseHeadersPolicyId ( args , optionsOrCb ? , cb ? ) { const command = new ListDistributionsByResponseHeadersPolicyIdCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List the distributions that are associated with a specified WAF web ACL.</p>
     */ public listDistributionsByWebACLId ( args , options ? ) ; public listDistributionsByWebACLId ( args , cb ) ; public listDistributionsByWebACLId ( args , options , cb ) ; public listDistributionsByWebACLId ( args , optionsOrCb ? , cb ? ) { const command = new ListDistributionsByWebACLIdCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List all field-level encryption configurations that have been created in CloudFront for this account.</p>
     */ public listFieldLevelEncryptionConfigs ( args , options ? ) ; public listFieldLevelEncryptionConfigs ( args , cb ) ; public listFieldLevelEncryptionConfigs ( args , options , cb ) ; public listFieldLevelEncryptionConfigs ( args , optionsOrCb ? , cb ? ) { const command = new ListFieldLevelEncryptionConfigsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Request a list of field-level encryption profiles that have been created in CloudFront for this account.</p>
     */ public listFieldLevelEncryptionProfiles ( args , options ? ) ; public listFieldLevelEncryptionProfiles ( args , cb ) ; public listFieldLevelEncryptionProfiles ( args , options , cb ) ; public listFieldLevelEncryptionProfiles ( args , optionsOrCb ? , cb ? ) { const command = new ListFieldLevelEncryptionProfilesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of all CloudFront functions in your Amazon Web Services account.</p>
     * 		       <p>You can optionally apply a filter to return only the functions that are in the
     * 			specified stage, either <code>DEVELOPMENT</code> or <code>LIVE</code>.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listFunctions ( args , options ? ) ; public listFunctions ( args , cb ) ; public listFunctions ( args , options , cb ) ; public listFunctions ( args , optionsOrCb ? , cb ? ) { const command = new ListFunctionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists invalidation batches. </p>
     */ public listInvalidations ( args , options ? ) ; public listInvalidations ( args , cb ) ; public listInvalidations ( args , options , cb ) ; public listInvalidations ( args , optionsOrCb ? , cb ? ) { const command = new ListInvalidationsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of key groups.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listKeyGroups ( args , options ? ) ; public listKeyGroups ( args , cb ) ; public listKeyGroups ( args , options , cb ) ; public listKeyGroups ( args , optionsOrCb ? , cb ? ) { const command = new ListKeyGroupsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of origin request policies.</p>
     * 		       <p>You can optionally apply a filter to return only the managed policies created by Amazon Web Services, or
     * 			only the custom policies created in your Amazon Web Services account.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listOriginRequestPolicies ( args , options ? ) ; public listOriginRequestPolicies ( args , cb ) ; public listOriginRequestPolicies ( args , options , cb ) ; public listOriginRequestPolicies ( args , optionsOrCb ? , cb ? ) { const command = new ListOriginRequestPoliciesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List all public keys that have been added to CloudFront for this account.</p>
     */ public listPublicKeys ( args , options ? ) ; public listPublicKeys ( args , cb ) ; public listPublicKeys ( args , options , cb ) ; public listPublicKeys ( args , optionsOrCb ? , cb ? ) { const command = new ListPublicKeysCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of real-time log configurations.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request. </p>
     */ public listRealtimeLogConfigs ( args , options ? ) ; public listRealtimeLogConfigs ( args , cb ) ; public listRealtimeLogConfigs ( args , options , cb ) ; public listRealtimeLogConfigs ( args , optionsOrCb ? , cb ? ) { const command = new ListRealtimeLogConfigsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of response headers policies.</p>
     * 		       <p>You can optionally apply a filter to get only the managed policies created by Amazon Web Services,
     * 			or only the custom policies created in your Amazon Web Services account.</p>
     * 		       <p>You can optionally specify the maximum number of items to receive in the response. If
     * 			the total number of items in the list exceeds the maximum that you specify, or the
     * 			default maximum, the response is paginated. To get the next page of items, send a
     * 			subsequent request that specifies the <code>NextMarker</code> value from the current
     * 			response as the <code>Marker</code> value in the subsequent request.</p>
     */ public listResponseHeadersPolicies ( args , options ? ) ; public listResponseHeadersPolicies ( args , cb ) ; public listResponseHeadersPolicies ( args , options , cb ) ; public listResponseHeadersPolicies ( args , optionsOrCb ? , cb ? ) { const command = new ListResponseHeadersPoliciesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List streaming distributions. </p>
     */ public listStreamingDistributions ( args , options ? ) ; public listStreamingDistributions ( args , cb ) ; public listStreamingDistributions ( args , options , cb ) ; public listStreamingDistributions ( args , optionsOrCb ? , cb ? ) { const command = new ListStreamingDistributionsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>List tags for a CloudFront resource.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Publishes a CloudFront function by copying the function code from the <code>DEVELOPMENT</code>
     * 			stage to <code>LIVE</code>. This automatically updates all cache behaviors that are
     * 			using this function to use the newly published copy in the <code>LIVE</code>
     * 			stage.</p>
     * 		       <p>When a function is published to the <code>LIVE</code> stage, you can attach the function to
     * 			a distribution’s cache behavior, using the function’s Amazon Resource Name (ARN).</p>
     * 		       <p>To publish a function, you must provide the function’s name and version (<code>ETag</code>
     * 			value). To get these values, you can use <code>ListFunctions</code> and
     * 			<code>DescribeFunction</code>.</p>
     */ public publishFunction ( args , options ? ) ; public publishFunction ( args , cb ) ; public publishFunction ( args , options , cb ) ; public publishFunction ( args , optionsOrCb ? , cb ? ) { const command = new PublishFunctionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Add tags to a CloudFront resource.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Tests a CloudFront function.</p>
     * 		       <p>To test a function, you provide an <i>event object</i> that represents an HTTP
     * 			request or response that your CloudFront distribution could receive in production. CloudFront runs
     * 			the function, passing it the event object that you provided, and returns the function’s
     * 			result (the modified event object) in the response. The response also contains function
     * 			logs and error messages, if any exist. For more information about testing functions, see
     * 			<a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function">Testing functions</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
     * 		       <p>To test a function, you provide the function’s name and version (<code>ETag</code> value)
     * 			along with the event object. To get the function’s name and version, you can use
     * 			<code>ListFunctions</code> and <code>DescribeFunction</code>.</p>
     */ public testFunction ( args , options ? ) ; public testFunction ( args , cb ) ; public testFunction ( args , options , cb ) ; public testFunction ( args , optionsOrCb ? , cb ? ) { const command = new TestFunctionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Remove tags from a CloudFront resource.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a cache policy configuration.</p>
     * 		       <p>When you update a cache policy configuration, all the fields are updated with the
     * 			values provided in the request. You cannot update some fields independent of others. To
     * 			update a cache policy configuration:</p>
     * 		       <ol>
     *             <li>
     * 				           <p>Use <code>GetCachePolicyConfig</code> to get the current configuration.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Locally modify the fields in the cache policy configuration that you want to
     * 					update.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Call <code>UpdateCachePolicy</code> by providing the entire cache policy
     * 					configuration, including the fields that you modified and those that you
     * 					didn’t.</p>
     * 			         </li>
     *          </ol>
     */ public updateCachePolicy ( args , options ? ) ; public updateCachePolicy ( args , cb ) ; public updateCachePolicy ( args , options , cb ) ; public updateCachePolicy ( args , optionsOrCb ? , cb ? ) { const command = new UpdateCachePolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Update an origin access identity. </p>
     */ public updateCloudFrontOriginAccessIdentity ( args , options ? ) ; public updateCloudFrontOriginAccessIdentity ( args , cb ) ; public updateCloudFrontOriginAccessIdentity ( args , options , cb ) ; public updateCloudFrontOriginAccessIdentity ( args , optionsOrCb ? , cb ? ) { const command = new UpdateCloudFrontOriginAccessIdentityCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates the configuration for a web distribution. </p>
     * 		       <important>
     *             <p>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 <a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html">Required
     * 				Fields for Create Distribution and Update Distribution</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
     *          </important>
     * 		       <p>The update process includes getting the current distribution configuration, updating the XML document that is
     * 			returned to make your changes, and then submitting an <code>UpdateDistribution</code> request to make the updates.</p>
     * 		       <p>For information about updating a distribution using the CloudFront console instead, see
     * 			<a href="https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html">Creating a
     * 				Distribution</a> in the <i>Amazon CloudFront Developer Guide</i>.</p>
     *
     * 		       <p>
     *             <b>To update a web distribution using the CloudFront API</b>
     *          </p>
     * 		       <ol>
     *             <li>
     *                <p>Submit a
     * 				<a href="https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html">GetDistributionConfig</a>
     * 				request to get the current configuration and an <code>Etag</code> header
     * 				for the distribution.</p>
     * 				           <note>
     *                   <p>If you update the distribution again, you must get a new <code>Etag</code> header.</p>
     *                </note>
     * 			         </li>
     *             <li>
     *                <p>Update the XML document that was returned in the response to your <code>GetDistributionConfig</code> request to include
     * 				your changes. </p>
     * 				           <important>
     * 					             <p>When you edit the XML file, be aware of the following:</p>
     * 					             <ul>
     *                      <li>
     *                         <p>You must strip out the ETag parameter that is returned.</p>
     *                      </li>
     *                      <li>
     *                         <p>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.</p>
     *                      </li>
     *                      <li>
     *                         <p>You can't change the value of <code>CallerReference</code>. If you try to change this value, CloudFront returns an
     * 							<code>IllegalUpdate</code> error. </p>
     *                      </li>
     *                      <li>
     *                         <p>The new configuration replaces the existing configuration; the values that you specify in an
     * 							<code>UpdateDistribution</code> request are not merged into your existing configuration. When you add, delete, or
     * 							replace values in an element that allows multiple values (for example, <code>CNAME</code>), you must specify all of the
     * 							values that you want to appear in the updated distribution. In addition,
     * 							you must update the corresponding <code>Quantity</code> element.</p>
     *                      </li>
     *                   </ul>
     *                </important>
     * 			         </li>
     *             <li>
     *                <p>Submit an <code>UpdateDistribution</code> request to update the configuration for your distribution:</p>
     * 				           <ul>
     *                   <li>
     *                      <p>In the request body, include the XML document that you updated in Step 2. The request body must include an
     * 						XML document with a <code>DistributionConfig</code> element.</p>
     *                   </li>
     *                   <li>
     *                      <p>Set the value of the HTTP <code>If-Match</code> header to the value of the <code>ETag</code> header that CloudFront returned
     * 						when you submitted the <code>GetDistributionConfig</code> request in Step 1.</p>
     *                   </li>
     *                </ul>
     * 			         </li>
     *             <li>
     *                <p>Review the response to the <code>UpdateDistribution</code> request to confirm that the configuration was
     * 				successfully updated.</p>
     *             </li>
     *             <li>
     *                <p>Optional: Submit a
     * 				<a href="https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html">GetDistribution</a>
     * 				request to confirm that your changes have propagated.
     * 				When propagation is complete, the value of <code>Status</code> is <code>Deployed</code>.</p>
     * 			         </li>
     *          </ol>
     */ public updateDistribution ( args , options ? ) ; public updateDistribution ( args , cb ) ; public updateDistribution ( args , options , cb ) ; public updateDistribution ( args , optionsOrCb ? , cb ? ) { const command = new UpdateDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Update a field-level encryption configuration. </p>
     */ public updateFieldLevelEncryptionConfig ( args , options ? ) ; public updateFieldLevelEncryptionConfig ( args , cb ) ; public updateFieldLevelEncryptionConfig ( args , options , cb ) ; public updateFieldLevelEncryptionConfig ( args , optionsOrCb ? , cb ? ) { const command = new UpdateFieldLevelEncryptionConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Update a field-level encryption profile. </p>
     */ public updateFieldLevelEncryptionProfile ( args , options ? ) ; public updateFieldLevelEncryptionProfile ( args , cb ) ; public updateFieldLevelEncryptionProfile ( args , options , cb ) ; public updateFieldLevelEncryptionProfile ( args , optionsOrCb ? , cb ? ) { const command = new UpdateFieldLevelEncryptionProfileCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a CloudFront function.</p>
     * 		       <p>You can update a function’s code or the comment that describes the function. You
     * 			cannot update a function’s name.</p>
     * 		       <p>To update a function, you provide the function’s name and version (<code>ETag</code> value)
     * 			along with the updated function code. To get the name and version, you can use
     * 			<code>ListFunctions</code> and <code>DescribeFunction</code>.</p>
     */ public updateFunction ( args , options ? ) ; public updateFunction ( args , cb ) ; public updateFunction ( args , options , cb ) ; public updateFunction ( args , optionsOrCb ? , cb ? ) { const command = new UpdateFunctionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a key group.</p>
     * 		       <p>When you update a key group, all the fields are updated with the values provided in
     * 			the request. You cannot update some fields independent of others. To update a key
     * 			group:</p>
     * 		       <ol>
     *             <li>
     * 				           <p>Get the current key group with <code>GetKeyGroup</code> or
     * 					<code>GetKeyGroupConfig</code>.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Locally modify the fields in the key group that you want to update. For
     * 					example, add or remove public key IDs.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Call <code>UpdateKeyGroup</code> with the entire key group object, including
     * 					the fields that you modified and those that you didn’t.</p>
     * 			         </li>
     *          </ol>
     */ public updateKeyGroup ( args , options ? ) ; public updateKeyGroup ( args , cb ) ; public updateKeyGroup ( args , options , cb ) ; public updateKeyGroup ( args , optionsOrCb ? , cb ? ) { const command = new UpdateKeyGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates an origin request policy configuration.</p>
     * 		       <p>When you update an origin request policy configuration, all the fields are updated
     * 			with the values provided in the request. You cannot update some fields independent of
     * 			others. To update an origin request policy configuration:</p>
     * 		       <ol>
     *             <li>
     * 				           <p>Use <code>GetOriginRequestPolicyConfig</code> to get the current configuration.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Locally modify the fields in the origin request policy configuration that you
     * 					want to update.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Call <code>UpdateOriginRequestPolicy</code> by providing the entire origin
     * 					request policy configuration, including the fields that you modified and those
     * 					that you didn’t.</p>
     * 			         </li>
     *          </ol>
     */ public updateOriginRequestPolicy ( args , options ? ) ; public updateOriginRequestPolicy ( args , cb ) ; public updateOriginRequestPolicy ( args , options , cb ) ; public updateOriginRequestPolicy ( args , optionsOrCb ? , cb ? ) { const command = new UpdateOriginRequestPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Update public key information. Note that the only value you can change is the comment.</p>
     */ public updatePublicKey ( args , options ? ) ; public updatePublicKey ( args , cb ) ; public updatePublicKey ( args , options , cb ) ; public updatePublicKey ( args , optionsOrCb ? , cb ? ) { const command = new UpdatePublicKeyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a real-time log configuration.</p>
     * 		       <p>When you update a real-time log configuration, all the parameters are updated with the
     * 			values provided in the request. You cannot update some parameters independent of others.
     * 			To update a real-time log configuration:</p>
     * 		       <ol>
     *             <li>
     * 				           <p>Call <code>GetRealtimeLogConfig</code> to get the current real-time log
     * 					configuration.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Locally modify the parameters in the real-time log configuration that you want
     * 					to update.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Call this API (<code>UpdateRealtimeLogConfig</code>) by providing the entire
     * 					real-time log configuration, including the parameters that you modified and
     * 					those that you didn’t.</p>
     * 			         </li>
     *          </ol>
     * 		       <p>You cannot update a real-time log configuration’s <code>Name</code> or
     * 			<code>ARN</code>.</p>
     */ public updateRealtimeLogConfig ( args , options ? ) ; public updateRealtimeLogConfig ( args , cb ) ; public updateRealtimeLogConfig ( args , options , cb ) ; public updateRealtimeLogConfig ( args , optionsOrCb ? , cb ? ) { const command = new UpdateRealtimeLogConfigCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates a response headers policy.</p>
     * 		       <p>When you update a response headers policy, the entire policy is replaced. You cannot
     * 			update some policy fields independent of others. To update a response headers policy
     * 			configuration:</p>
     * 		       <ol>
     *             <li>
     * 				           <p>Use <code>GetResponseHeadersPolicyConfig</code> to get the current policy’s
     * 					configuration.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Modify the fields in the response headers policy configuration that you want
     * 					to update.</p>
     * 			         </li>
     *             <li>
     * 				           <p>Call <code>UpdateResponseHeadersPolicy</code>, providing the entire response
     * 					headers policy configuration, including the fields that you modified and those
     * 					that you didn’t.</p>
     * 			         </li>
     *          </ol>
     */ public updateResponseHeadersPolicy ( args , options ? ) ; public updateResponseHeadersPolicy ( args , cb ) ; public updateResponseHeadersPolicy ( args , options , cb ) ; public updateResponseHeadersPolicy ( args , optionsOrCb ? , cb ? ) { const command = new UpdateResponseHeadersPolicyCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Update a streaming distribution. </p>
     */ public updateStreamingDistribution ( args , options ? ) ; public updateStreamingDistribution ( args , cb ) ; public updateStreamingDistribution ( args , options , cb ) ; public updateStreamingDistribution ( args , optionsOrCb ? , cb ? ) { const command = new UpdateStreamingDistributionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }