import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DescribeClustersRequest, DescribeClustersResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link DescribeClustersCommand}. */ export interface DescribeClustersCommandInput extends DescribeClustersRequest { } /** * @public * * The output of {@link DescribeClustersCommand}. */ export interface DescribeClustersCommandOutput extends DescribeClustersResponse, __MetadataBearer { } declare const DescribeClustersCommand_base: { new (input: DescribeClustersCommandInput): import("@smithy/core/client").CommandImpl; new (...[input]: [] | [DescribeClustersCommandInput]): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Gets information about CloudHSM clusters.

*

This is a paginated operation, which means that each response might contain only a * subset of all the clusters. When the response contains only a subset of clusters, it includes * a NextToken value. Use this value in a subsequent DescribeClusters * request to get more clusters. When you receive a response with no NextToken (or * an empty or null value), that means there are no more clusters to get.

*

* Cross-account use: No. You cannot perform this operation on CloudHSM clusters in a different Amazon Web Services account.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { CloudHSMV2Client, DescribeClustersCommand } from "@aws-sdk/client-cloudhsm-v2"; // ES Modules import * // const { CloudHSMV2Client, DescribeClustersCommand } = 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 = { // DescribeClustersRequest * Filters: { // Filters * "": [ // Strings * "STRING_VALUE", * ], * }, * NextToken: "STRING_VALUE", * MaxResults: Number("int"), * }; * const command = new DescribeClustersCommand(input); * const response = await client.send(command); * // { // DescribeClustersResponse * // Clusters: [ // Clusters * // { // 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", * // }, * // ], * // NextToken: "STRING_VALUE", * // }; * * ``` * * @param DescribeClustersCommandInput - {@link DescribeClustersCommandInput} * @returns {@link DescribeClustersCommandOutput} * @see {@link DescribeClustersCommandInput} for command's `input` shape. * @see {@link DescribeClustersCommandOutput} 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 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 DescribeClustersCommand extends DescribeClustersCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DescribeClustersRequest; output: DescribeClustersResponse; }; sdk: { input: DescribeClustersCommandInput; output: DescribeClustersCommandOutput; }; }; }