import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateGlobalClusterMessage, CreateGlobalClusterResult } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateGlobalClusterCommand}. */ export interface CreateGlobalClusterCommandInput extends CreateGlobalClusterMessage { } /** * @public * * The output of {@link CreateGlobalClusterCommand}. */ export interface CreateGlobalClusterCommandOutput extends CreateGlobalClusterResult, __MetadataBearer { } declare const CreateGlobalClusterCommand_base: { new (input: CreateGlobalClusterCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateGlobalClusterCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates an Amazon DocumentDB global cluster that can span multiple multiple Amazon Web Services Regions. * The global cluster contains one primary cluster with read-write capability, and up-to 10 read-only secondary clusters. Global clusters uses storage-based fast replication across regions with latencies less than one second, using dedicated infrastructure with no impact to your workload’s performance.

*

*

You can create a global cluster that is initially empty, and then add a primary and a secondary to it. * Or you can specify an existing cluster during the create operation, and this cluster becomes the primary of the global cluster.

* *

This action only applies to Amazon DocumentDB clusters.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { DocDBClient, CreateGlobalClusterCommand } from "@aws-sdk/client-docdb"; // ES Modules import * // const { DocDBClient, CreateGlobalClusterCommand } = require("@aws-sdk/client-docdb"); // CommonJS import * // import type { DocDBClientConfig } from "@aws-sdk/client-docdb"; * const config = {}; // type is DocDBClientConfig * const client = new DocDBClient(config); * const input = { // CreateGlobalClusterMessage * GlobalClusterIdentifier: "STRING_VALUE", // required * SourceDBClusterIdentifier: "STRING_VALUE", * Engine: "STRING_VALUE", * EngineVersion: "STRING_VALUE", * DeletionProtection: true || false, * DatabaseName: "STRING_VALUE", * StorageEncrypted: true || false, * }; * const command = new CreateGlobalClusterCommand(input); * const response = await client.send(command); * // { // CreateGlobalClusterResult * // GlobalCluster: { // GlobalCluster * // GlobalClusterIdentifier: "STRING_VALUE", * // GlobalClusterResourceId: "STRING_VALUE", * // GlobalClusterArn: "STRING_VALUE", * // Status: "STRING_VALUE", * // Engine: "STRING_VALUE", * // EngineVersion: "STRING_VALUE", * // DatabaseName: "STRING_VALUE", * // StorageEncrypted: true || false, * // DeletionProtection: true || false, * // GlobalClusterMembers: [ // GlobalClusterMemberList * // { // GlobalClusterMember * // DBClusterArn: "STRING_VALUE", * // Readers: [ // ReadersArnList * // "STRING_VALUE", * // ], * // IsWriter: true || false, * // SynchronizationStatus: "connected" || "pending-resync", * // }, * // ], * // FailoverState: { // FailoverState * // Status: "pending" || "failing-over" || "cancelling", * // FromDbClusterArn: "STRING_VALUE", * // ToDbClusterArn: "STRING_VALUE", * // IsDataLossAllowed: true || false, * // }, * // TagList: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // }, * // }; * * ``` * * @param CreateGlobalClusterCommandInput - {@link CreateGlobalClusterCommandInput} * @returns {@link CreateGlobalClusterCommandOutput} * @see {@link CreateGlobalClusterCommandInput} for command's `input` shape. * @see {@link CreateGlobalClusterCommandOutput} for command's `response` shape. * @see {@link DocDBClientResolvedConfig | config} for DocDBClient's `config` shape. * * @throws {@link DBClusterNotFoundFault} (client fault) *

* DBClusterIdentifier doesn't refer to an existing cluster.

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

The GlobalClusterIdentifier already exists. Choose a new global cluster identifier (unique name) to create a new global cluster.

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

The number of global clusters for this account is already at the maximum allowed.

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

The cluster isn't in a valid state.

* * @throws {@link DocDBServiceException} *

Base exception class for all service exceptions from DocDB service.

* * * @public */ export declare class CreateGlobalClusterCommand extends CreateGlobalClusterCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateGlobalClusterMessage; output: CreateGlobalClusterResult; }; sdk: { input: CreateGlobalClusterCommandInput; output: CreateGlobalClusterCommandOutput; }; }; }