import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateClusterRequest, CreateClusterResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateClusterCommand}. */ export interface CreateClusterCommandInput extends CreateClusterRequest { } /** * @public * * The output of {@link CreateClusterCommand}. */ export interface CreateClusterCommandOutput extends CreateClusterResponse, __MetadataBearer { } declare const CreateClusterCommand_base: { new (input: CreateClusterCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateClusterCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Creates a new CloudHSM cluster.

*

* Cross-account use: Yes. To perform this operation with an CloudHSM backup in a different AWS account, specify the full backup * ARN in the value of the SourceBackupId parameter.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { CloudHSMV2Client, CreateClusterCommand } from "@aws-sdk/client-cloudhsm-v2"; // ES Modules import * // const { CloudHSMV2Client, CreateClusterCommand } = require("@aws-sdk/client-cloudhsm-v2"); // CommonJS import * // import type { CloudHSMV2ClientConfig } from "@aws-sdk/client-cloudhsm-v2"; * const config = {}; // type is CloudHSMV2ClientConfig * const client = new CloudHSMV2Client(config); * const input = { // CreateClusterRequest * BackupRetentionPolicy: { // BackupRetentionPolicy * Type: "DAYS", * Value: "STRING_VALUE", * }, * HsmType: "STRING_VALUE", // required * SourceBackupId: "STRING_VALUE", * SubnetIds: [ // SubnetIds // required * "STRING_VALUE", * ], * NetworkType: "IPV4" || "DUALSTACK", * TagList: [ // TagList * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * Mode: "FIPS" || "NON_FIPS", * }; * const command = new CreateClusterCommand(input); * const response = await client.send(command); * // { // CreateClusterResponse * // Cluster: { // Cluster * // BackupPolicy: "DEFAULT", * // BackupRetentionPolicy: { // BackupRetentionPolicy * // Type: "DAYS", * // Value: "STRING_VALUE", * // }, * // ClusterId: "STRING_VALUE", * // CreateTimestamp: new Date("TIMESTAMP"), * // Hsms: [ // Hsms * // { // Hsm * // AvailabilityZone: "STRING_VALUE", * // ClusterId: "STRING_VALUE", * // SubnetId: "STRING_VALUE", * // EniId: "STRING_VALUE", * // EniIp: "STRING_VALUE", * // EniIpV6: "STRING_VALUE", * // HsmId: "STRING_VALUE", // required * // HsmType: "STRING_VALUE", * // State: "CREATE_IN_PROGRESS" || "ACTIVE" || "DEGRADED" || "DELETE_IN_PROGRESS" || "DELETED", * // StateMessage: "STRING_VALUE", * // }, * // ], * // HsmType: "STRING_VALUE", * // HsmTypeRollbackExpiration: new Date("TIMESTAMP"), * // PreCoPassword: "STRING_VALUE", * // SecurityGroup: "STRING_VALUE", * // SourceBackupId: "STRING_VALUE", * // State: "CREATE_IN_PROGRESS" || "UNINITIALIZED" || "INITIALIZE_IN_PROGRESS" || "INITIALIZED" || "ACTIVE" || "UPDATE_IN_PROGRESS" || "MODIFY_IN_PROGRESS" || "ROLLBACK_IN_PROGRESS" || "DELETE_IN_PROGRESS" || "DELETED" || "DEGRADED", * // StateMessage: "STRING_VALUE", * // SubnetMapping: { // ExternalSubnetMapping * // "": "STRING_VALUE", * // }, * // VpcId: "STRING_VALUE", * // NetworkType: "IPV4" || "DUALSTACK", * // Certificates: { // Certificates * // ClusterCsr: "STRING_VALUE", * // HsmCertificate: "STRING_VALUE", * // AwsHardwareCertificate: "STRING_VALUE", * // ManufacturerHardwareCertificate: "STRING_VALUE", * // ClusterCertificate: "STRING_VALUE", * // }, * // TagList: [ // TagList * // { // Tag * // Key: "STRING_VALUE", // required * // Value: "STRING_VALUE", // required * // }, * // ], * // Mode: "FIPS" || "NON_FIPS", * // }, * // }; * * ``` * * @param CreateClusterCommandInput - {@link CreateClusterCommandInput} * @returns {@link CreateClusterCommandOutput} * @see {@link CreateClusterCommandInput} for command's `input` shape. * @see {@link CreateClusterCommandOutput} for command's `response` shape. * @see {@link CloudHSMV2ClientResolvedConfig | config} for CloudHSMV2Client's `config` shape. * * @throws {@link CloudHsmAccessDeniedException} (client fault) *

The request was rejected because the requester does not have permission to perform the * requested operation.

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

The request was rejected because of an CloudHSM internal failure. The request can * be retried.

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

The request was rejected because it is not a valid request.

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

The request was rejected because it refers to a resource that cannot be * found.

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

The request was rejected because an error occurred.

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

The request was rejected because of a tagging failure. Verify the tag conditions in all applicable policies, and then retry the request.

* * @throws {@link CloudHSMV2ServiceException} *

Base exception class for all service exceptions from CloudHSMV2 service.

* * * @public */ export declare class CreateClusterCommand extends CreateClusterCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateClusterRequest; output: CreateClusterResponse; }; sdk: { input: CreateClusterCommandInput; output: CreateClusterCommandOutput; }; }; }