import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { APIGatewayClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../APIGatewayClient"; import type { CreateDomainNameRequest, DomainName } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateDomainNameCommand}. */ export interface CreateDomainNameCommandInput extends CreateDomainNameRequest { } /** * @public * * The output of {@link CreateDomainNameCommand}. */ export interface CreateDomainNameCommandOutput extends DomainName, __MetadataBearer { } declare const CreateDomainNameCommand_base: { new (input: CreateDomainNameCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateDomainNameCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Creates a new domain name.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { APIGatewayClient, CreateDomainNameCommand } from "@aws-sdk/client-api-gateway"; // ES Modules import * // const { APIGatewayClient, CreateDomainNameCommand } = require("@aws-sdk/client-api-gateway"); // CommonJS import * // import type { APIGatewayClientConfig } from "@aws-sdk/client-api-gateway"; * const config = {}; // type is APIGatewayClientConfig * const client = new APIGatewayClient(config); * const input = { // CreateDomainNameRequest * domainName: "STRING_VALUE", // required * certificateName: "STRING_VALUE", * certificateBody: "STRING_VALUE", * certificatePrivateKey: "STRING_VALUE", * certificateChain: "STRING_VALUE", * certificateArn: "STRING_VALUE", * regionalCertificateName: "STRING_VALUE", * regionalCertificateArn: "STRING_VALUE", * endpointConfiguration: { // EndpointConfiguration * types: [ // ListOfEndpointType * "REGIONAL" || "EDGE" || "PRIVATE", * ], * ipAddressType: "ipv4" || "dualstack", * vpcEndpointIds: [ // ListOfString * "STRING_VALUE", * ], * }, * tags: { // MapOfStringToString * "": "STRING_VALUE", * }, * securityPolicy: "TLS_1_0" || "TLS_1_2" || "SecurityPolicy_TLS13_1_3_2025_09" || "SecurityPolicy_TLS13_1_3_FIPS_2025_09" || "SecurityPolicy_TLS13_1_2_PFS_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_FIPS_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_FIPS_PFS_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_2021_06" || "SecurityPolicy_TLS13_2025_EDGE" || "SecurityPolicy_TLS12_PFS_2025_EDGE" || "SecurityPolicy_TLS12_2018_EDGE", * endpointAccessMode: "BASIC" || "STRICT", * mutualTlsAuthentication: { // MutualTlsAuthenticationInput * truststoreUri: "STRING_VALUE", * truststoreVersion: "STRING_VALUE", * }, * ownershipVerificationCertificateArn: "STRING_VALUE", * policy: "STRING_VALUE", * routingMode: "BASE_PATH_MAPPING_ONLY" || "ROUTING_RULE_ONLY" || "ROUTING_RULE_THEN_BASE_PATH_MAPPING", * }; * const command = new CreateDomainNameCommand(input); * const response = await client.send(command); * // { // DomainName * // domainName: "STRING_VALUE", * // domainNameId: "STRING_VALUE", * // domainNameArn: "STRING_VALUE", * // certificateName: "STRING_VALUE", * // certificateArn: "STRING_VALUE", * // certificateUploadDate: new Date("TIMESTAMP"), * // regionalDomainName: "STRING_VALUE", * // regionalHostedZoneId: "STRING_VALUE", * // regionalCertificateName: "STRING_VALUE", * // regionalCertificateArn: "STRING_VALUE", * // distributionDomainName: "STRING_VALUE", * // distributionHostedZoneId: "STRING_VALUE", * // endpointConfiguration: { // EndpointConfiguration * // types: [ // ListOfEndpointType * // "REGIONAL" || "EDGE" || "PRIVATE", * // ], * // ipAddressType: "ipv4" || "dualstack", * // vpcEndpointIds: [ // ListOfString * // "STRING_VALUE", * // ], * // }, * // domainNameStatus: "AVAILABLE" || "UPDATING" || "PENDING" || "PENDING_CERTIFICATE_REIMPORT" || "PENDING_OWNERSHIP_VERIFICATION" || "FAILED", * // domainNameStatusMessage: "STRING_VALUE", * // securityPolicy: "TLS_1_0" || "TLS_1_2" || "SecurityPolicy_TLS13_1_3_2025_09" || "SecurityPolicy_TLS13_1_3_FIPS_2025_09" || "SecurityPolicy_TLS13_1_2_PFS_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_FIPS_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_FIPS_PFS_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_PQ_2025_09" || "SecurityPolicy_TLS13_1_2_2021_06" || "SecurityPolicy_TLS13_2025_EDGE" || "SecurityPolicy_TLS12_PFS_2025_EDGE" || "SecurityPolicy_TLS12_2018_EDGE", * // endpointAccessMode: "BASIC" || "STRICT", * // tags: { // MapOfStringToString * // "": "STRING_VALUE", * // }, * // mutualTlsAuthentication: { // MutualTlsAuthentication * // truststoreUri: "STRING_VALUE", * // truststoreVersion: "STRING_VALUE", * // truststoreWarnings: [ * // "STRING_VALUE", * // ], * // }, * // ownershipVerificationCertificateArn: "STRING_VALUE", * // managementPolicy: "STRING_VALUE", * // policy: "STRING_VALUE", * // routingMode: "BASE_PATH_MAPPING_ONLY" || "ROUTING_RULE_ONLY" || "ROUTING_RULE_THEN_BASE_PATH_MAPPING", * // }; * * ``` * * @param CreateDomainNameCommandInput - {@link CreateDomainNameCommandInput} * @returns {@link CreateDomainNameCommandOutput} * @see {@link CreateDomainNameCommandInput} for command's `input` shape. * @see {@link CreateDomainNameCommandOutput} for command's `response` shape. * @see {@link APIGatewayClientResolvedConfig | config} for APIGatewayClient's `config` shape. * * @throws {@link BadRequestException} (client fault) *

The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

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

The request configuration has conflicts. For details, see the accompanying error message.

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

The request exceeded the rate limit. Retry after the specified time period.

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

The request has reached its throttling limit. Retry after the specified time period.

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

The request is denied because the caller has insufficient permissions.

* * @throws {@link APIGatewayServiceException} *

Base exception class for all service exceptions from APIGateway service.

* * * @public */ export declare class CreateDomainNameCommand extends CreateDomainNameCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateDomainNameRequest; output: DomainName; }; sdk: { input: CreateDomainNameCommandInput; output: CreateDomainNameCommandOutput; }; }; }