import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { LightsailClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../LightsailClient"; import type { CreateDistributionRequest, CreateDistributionResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateDistributionCommand}. */ export interface CreateDistributionCommandInput extends CreateDistributionRequest { } /** * @public * * The output of {@link CreateDistributionCommand}. */ export interface CreateDistributionCommandOutput extends CreateDistributionResult, __MetadataBearer { } declare const CreateDistributionCommand_base: { new (input: CreateDistributionCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateDistributionCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Creates an Amazon Lightsail content delivery network (CDN) distribution.

*

A distribution is a globally distributed network of caching servers that improve the * performance of your website or web application hosted on a Lightsail instance. For more * information, see Content delivery networks in Amazon Lightsail.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { LightsailClient, CreateDistributionCommand } from "@aws-sdk/client-lightsail"; // ES Modules import * // const { LightsailClient, CreateDistributionCommand } = require("@aws-sdk/client-lightsail"); // CommonJS import * // import type { LightsailClientConfig } from "@aws-sdk/client-lightsail"; * const config = {}; // type is LightsailClientConfig * const client = new LightsailClient(config); * const input = { // CreateDistributionRequest * distributionName: "STRING_VALUE", // required * origin: { // InputOrigin * name: "STRING_VALUE", * regionName: "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-central-1" || "eu-north-1" || "ca-central-1" || "ap-south-1" || "ap-southeast-1" || "ap-southeast-2" || "ap-northeast-1" || "ap-northeast-2" || "ap-southeast-3" || "ap-southeast-5", * protocolPolicy: "http-only" || "https-only", * responseTimeout: Number("int"), * }, * defaultCacheBehavior: { // CacheBehavior * behavior: "dont-cache" || "cache", * }, * cacheBehaviorSettings: { // CacheSettings * defaultTTL: Number("long"), * minimumTTL: Number("long"), * maximumTTL: Number("long"), * allowedHTTPMethods: "STRING_VALUE", * cachedHTTPMethods: "STRING_VALUE", * forwardedCookies: { // CookieObject * option: "none" || "allow-list" || "all", * cookiesAllowList: [ // StringList * "STRING_VALUE", * ], * }, * forwardedHeaders: { // HeaderObject * option: "none" || "allow-list" || "all", * headersAllowList: [ // HeaderForwardList * "Accept" || "Accept-Charset" || "Accept-Datetime" || "Accept-Encoding" || "Accept-Language" || "Authorization" || "CloudFront-Forwarded-Proto" || "CloudFront-Is-Desktop-Viewer" || "CloudFront-Is-Mobile-Viewer" || "CloudFront-Is-SmartTV-Viewer" || "CloudFront-Is-Tablet-Viewer" || "CloudFront-Viewer-Country" || "Host" || "Origin" || "Referer", * ], * }, * forwardedQueryStrings: { // QueryStringObject * option: true || false, * queryStringsAllowList: [ * "STRING_VALUE", * ], * }, * }, * cacheBehaviors: [ // CacheBehaviorList * { // CacheBehaviorPerPath * path: "STRING_VALUE", * behavior: "dont-cache" || "cache", * }, * ], * bundleId: "STRING_VALUE", // required * ipAddressType: "dualstack" || "ipv4" || "ipv6", * tags: [ // TagList * { // Tag * key: "STRING_VALUE", * value: "STRING_VALUE", * }, * ], * certificateName: "STRING_VALUE", * viewerMinimumTlsProtocolVersion: "TLSv1.1_2016" || "TLSv1.2_2018" || "TLSv1.2_2019" || "TLSv1.2_2021", * }; * const command = new CreateDistributionCommand(input); * const response = await client.send(command); * // { // CreateDistributionResult * // distribution: { // LightsailDistribution * // name: "STRING_VALUE", * // arn: "STRING_VALUE", * // supportCode: "STRING_VALUE", * // createdAt: new Date("TIMESTAMP"), * // location: { // ResourceLocation * // availabilityZone: "STRING_VALUE", * // regionName: "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-central-1" || "eu-north-1" || "ca-central-1" || "ap-south-1" || "ap-southeast-1" || "ap-southeast-2" || "ap-northeast-1" || "ap-northeast-2" || "ap-southeast-3" || "ap-southeast-5", * // }, * // resourceType: "ContainerService" || "Instance" || "StaticIp" || "KeyPair" || "InstanceSnapshot" || "Domain" || "PeeredVpc" || "LoadBalancer" || "LoadBalancerTlsCertificate" || "Disk" || "DiskSnapshot" || "RelationalDatabase" || "RelationalDatabaseSnapshot" || "ExportSnapshotRecord" || "CloudFormationStackRecord" || "Alarm" || "ContactMethod" || "Distribution" || "Certificate" || "Bucket", * // alternativeDomainNames: [ // StringList * // "STRING_VALUE", * // ], * // status: "STRING_VALUE", * // isEnabled: true || false, * // domainName: "STRING_VALUE", * // bundleId: "STRING_VALUE", * // certificateName: "STRING_VALUE", * // origin: { // Origin * // name: "STRING_VALUE", * // resourceType: "ContainerService" || "Instance" || "StaticIp" || "KeyPair" || "InstanceSnapshot" || "Domain" || "PeeredVpc" || "LoadBalancer" || "LoadBalancerTlsCertificate" || "Disk" || "DiskSnapshot" || "RelationalDatabase" || "RelationalDatabaseSnapshot" || "ExportSnapshotRecord" || "CloudFormationStackRecord" || "Alarm" || "ContactMethod" || "Distribution" || "Certificate" || "Bucket", * // regionName: "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-central-1" || "eu-north-1" || "ca-central-1" || "ap-south-1" || "ap-southeast-1" || "ap-southeast-2" || "ap-northeast-1" || "ap-northeast-2" || "ap-southeast-3" || "ap-southeast-5", * // protocolPolicy: "http-only" || "https-only", * // responseTimeout: Number("int"), * // }, * // originPublicDNS: "STRING_VALUE", * // defaultCacheBehavior: { // CacheBehavior * // behavior: "dont-cache" || "cache", * // }, * // cacheBehaviorSettings: { // CacheSettings * // defaultTTL: Number("long"), * // minimumTTL: Number("long"), * // maximumTTL: Number("long"), * // allowedHTTPMethods: "STRING_VALUE", * // cachedHTTPMethods: "STRING_VALUE", * // forwardedCookies: { // CookieObject * // option: "none" || "allow-list" || "all", * // cookiesAllowList: [ * // "STRING_VALUE", * // ], * // }, * // forwardedHeaders: { // HeaderObject * // option: "none" || "allow-list" || "all", * // headersAllowList: [ // HeaderForwardList * // "Accept" || "Accept-Charset" || "Accept-Datetime" || "Accept-Encoding" || "Accept-Language" || "Authorization" || "CloudFront-Forwarded-Proto" || "CloudFront-Is-Desktop-Viewer" || "CloudFront-Is-Mobile-Viewer" || "CloudFront-Is-SmartTV-Viewer" || "CloudFront-Is-Tablet-Viewer" || "CloudFront-Viewer-Country" || "Host" || "Origin" || "Referer", * // ], * // }, * // forwardedQueryStrings: { // QueryStringObject * // option: true || false, * // queryStringsAllowList: [ * // "STRING_VALUE", * // ], * // }, * // }, * // cacheBehaviors: [ // CacheBehaviorList * // { // CacheBehaviorPerPath * // path: "STRING_VALUE", * // behavior: "dont-cache" || "cache", * // }, * // ], * // ableToUpdateBundle: true || false, * // ipAddressType: "dualstack" || "ipv4" || "ipv6", * // tags: [ // TagList * // { // Tag * // key: "STRING_VALUE", * // value: "STRING_VALUE", * // }, * // ], * // viewerMinimumTlsProtocolVersion: "STRING_VALUE", * // }, * // operation: { // Operation * // id: "STRING_VALUE", * // resourceName: "STRING_VALUE", * // resourceType: "ContainerService" || "Instance" || "StaticIp" || "KeyPair" || "InstanceSnapshot" || "Domain" || "PeeredVpc" || "LoadBalancer" || "LoadBalancerTlsCertificate" || "Disk" || "DiskSnapshot" || "RelationalDatabase" || "RelationalDatabaseSnapshot" || "ExportSnapshotRecord" || "CloudFormationStackRecord" || "Alarm" || "ContactMethod" || "Distribution" || "Certificate" || "Bucket", * // createdAt: new Date("TIMESTAMP"), * // location: { * // availabilityZone: "STRING_VALUE", * // regionName: "us-east-1" || "us-east-2" || "us-west-1" || "us-west-2" || "eu-west-1" || "eu-west-2" || "eu-west-3" || "eu-central-1" || "eu-north-1" || "ca-central-1" || "ap-south-1" || "ap-southeast-1" || "ap-southeast-2" || "ap-northeast-1" || "ap-northeast-2" || "ap-southeast-3" || "ap-southeast-5", * // }, * // isTerminal: true || false, * // operationDetails: "STRING_VALUE", * // operationType: "DeleteKnownHostKeys" || "DeleteInstance" || "CreateInstance" || "StopInstance" || "StartInstance" || "RebootInstance" || "OpenInstancePublicPorts" || "PutInstancePublicPorts" || "CloseInstancePublicPorts" || "AllocateStaticIp" || "ReleaseStaticIp" || "AttachStaticIp" || "DetachStaticIp" || "UpdateDomainEntry" || "DeleteDomainEntry" || "CreateDomain" || "DeleteDomain" || "CreateInstanceSnapshot" || "DeleteInstanceSnapshot" || "CreateInstancesFromSnapshot" || "CreateLoadBalancer" || "DeleteLoadBalancer" || "AttachInstancesToLoadBalancer" || "DetachInstancesFromLoadBalancer" || "UpdateLoadBalancerAttribute" || "CreateLoadBalancerTlsCertificate" || "DeleteLoadBalancerTlsCertificate" || "AttachLoadBalancerTlsCertificate" || "CreateDisk" || "DeleteDisk" || "AttachDisk" || "DetachDisk" || "CreateDiskSnapshot" || "DeleteDiskSnapshot" || "CreateDiskFromSnapshot" || "CreateRelationalDatabase" || "UpdateRelationalDatabase" || "DeleteRelationalDatabase" || "CreateRelationalDatabaseFromSnapshot" || "CreateRelationalDatabaseSnapshot" || "DeleteRelationalDatabaseSnapshot" || "UpdateRelationalDatabaseParameters" || "StartRelationalDatabase" || "RebootRelationalDatabase" || "StopRelationalDatabase" || "EnableAddOn" || "DisableAddOn" || "PutAlarm" || "GetAlarms" || "DeleteAlarm" || "TestAlarm" || "CreateContactMethod" || "GetContactMethods" || "SendContactMethodVerification" || "DeleteContactMethod" || "CreateDistribution" || "UpdateDistribution" || "DeleteDistribution" || "ResetDistributionCache" || "AttachCertificateToDistribution" || "DetachCertificateFromDistribution" || "UpdateDistributionBundle" || "SetIpAddressType" || "CreateCertificate" || "DeleteCertificate" || "CreateContainerService" || "UpdateContainerService" || "DeleteContainerService" || "CreateContainerServiceDeployment" || "CreateContainerServiceRegistryLogin" || "RegisterContainerImage" || "DeleteContainerImage" || "CreateBucket" || "DeleteBucket" || "CreateBucketAccessKey" || "DeleteBucketAccessKey" || "UpdateBucketBundle" || "UpdateBucket" || "SetResourceAccessForBucket" || "UpdateInstanceMetadataOptions" || "StartGUISession" || "StopGUISession" || "SetupInstanceHttps", * // status: "NotStarted" || "Started" || "Failed" || "Completed" || "Succeeded", * // statusChangedAt: new Date("TIMESTAMP"), * // errorCode: "STRING_VALUE", * // errorDetails: "STRING_VALUE", * // }, * // }; * * ``` * * @param CreateDistributionCommandInput - {@link CreateDistributionCommandInput} * @returns {@link CreateDistributionCommandOutput} * @see {@link CreateDistributionCommandInput} for command's `input` shape. * @see {@link CreateDistributionCommandOutput} for command's `response` shape. * @see {@link LightsailClientResolvedConfig | config} for LightsailClient's `config` shape. * * @throws {@link AccessDeniedException} (client fault) *

Lightsail throws this exception when the user cannot be authenticated or uses invalid * credentials to access a resource.

* * @throws {@link InvalidInputException} (client fault) *

Lightsail throws this exception when user input does not conform to the validation rules * of an input field.

* *

Domain and distribution APIs are only available in the N. Virginia * (us-east-1) Amazon Web Services Region. Please set your Amazon Web Services * Region configuration to us-east-1 to create, view, or edit these * resources.

*
* * @throws {@link NotFoundException} (client fault) *

Lightsail throws this exception when it cannot find a resource.

* * @throws {@link OperationFailureException} (client fault) *

Lightsail throws this exception when an operation fails to execute.

* * @throws {@link ServiceException} (server fault) *

A general service exception.

* * @throws {@link UnauthenticatedException} (client fault) *

Lightsail throws this exception when the user has not been authenticated.

* * @throws {@link LightsailServiceException} *

Base exception class for all service exceptions from Lightsail service.

* * * @public */ export declare class CreateDistributionCommand extends CreateDistributionCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDistributionRequest; output: CreateDistributionResult; }; sdk: { input: CreateDistributionCommandInput; output: CreateDistributionCommandOutput; }; }; }