import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CloudHSMV2Client } from "./CloudHSMV2Client" ; import { CopyBackupToRegionCommand , CopyBackupToRegionCommandInput , CopyBackupToRegionCommandOutput , } from "./commands/CopyBackupToRegionCommand" ; import { CreateClusterCommand , CreateClusterCommandInput , CreateClusterCommandOutput , } from "./commands/CreateClusterCommand" ; import { CreateHsmCommand , CreateHsmCommandInput , CreateHsmCommandOutput } from "./commands/CreateHsmCommand" ; import { DeleteBackupCommand , DeleteBackupCommandInput , DeleteBackupCommandOutput , } from "./commands/DeleteBackupCommand" ; import { DeleteClusterCommand , DeleteClusterCommandInput , DeleteClusterCommandOutput , } from "./commands/DeleteClusterCommand" ; import { DeleteHsmCommand , DeleteHsmCommandInput , DeleteHsmCommandOutput } from "./commands/DeleteHsmCommand" ; import { DescribeBackupsCommand , DescribeBackupsCommandInput , DescribeBackupsCommandOutput , } from "./commands/DescribeBackupsCommand" ; import { DescribeClustersCommand , DescribeClustersCommandInput , DescribeClustersCommandOutput , } from "./commands/DescribeClustersCommand" ; import { InitializeClusterCommand , InitializeClusterCommandInput , InitializeClusterCommandOutput , } from "./commands/InitializeClusterCommand" ; import { ListTagsCommand , ListTagsCommandInput , ListTagsCommandOutput } from "./commands/ListTagsCommand" ; import { ModifyBackupAttributesCommand , ModifyBackupAttributesCommandInput , ModifyBackupAttributesCommandOutput , } from "./commands/ModifyBackupAttributesCommand" ; import { ModifyClusterCommand , ModifyClusterCommandInput , ModifyClusterCommandOutput , } from "./commands/ModifyClusterCommand" ; import { RestoreBackupCommand , RestoreBackupCommandInput , RestoreBackupCommandOutput , } from "./commands/RestoreBackupCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; /**
 * <p>For more information about AWS CloudHSM, see <a href="http://aws.amazon.com/cloudhsm/">AWS CloudHSM</a> and the <a href="https://docs.aws.amazon.com/cloudhsm/latest/userguide/">AWS
 *       CloudHSM User Guide</a>.</p>
 */ export class CloudHSMV2 extends CloudHSMV2Client { /**
     * <p>Copy an AWS CloudHSM cluster backup to a different region.</p>
     */ public copyBackupToRegion ( args , options ? ) ; public copyBackupToRegion ( args , cb ) ; public copyBackupToRegion ( args , options , cb ) ; public copyBackupToRegion ( args , optionsOrCb ? , cb ? ) { const command = new CopyBackupToRegionCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a new AWS CloudHSM cluster.</p>
     */ public createCluster ( args , options ? ) ; public createCluster ( args , cb ) ; public createCluster ( args , options , cb ) ; public createCluster ( args , optionsOrCb ? , cb ? ) { const command = new CreateClusterCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a new hardware security module (HSM) in the specified AWS CloudHSM
     *       cluster.</p>
     */ public createHsm ( args , options ? ) ; public createHsm ( args , cb ) ; public createHsm ( args , options , cb ) ; public createHsm ( args , optionsOrCb ? , cb ? ) { const command = new CreateHsmCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a specified AWS CloudHSM backup. A backup can be restored up to 7 days
     *             after the DeleteBackup request is made. For more information on restoring a backup, see
     *                 <a>RestoreBackup</a>.</p>
     */ public deleteBackup ( args , options ? ) ; public deleteBackup ( args , cb ) ; public deleteBackup ( args , options , cb ) ; public deleteBackup ( args , optionsOrCb ? , cb ? ) { const command = new DeleteBackupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes the specified AWS CloudHSM cluster. Before you can delete a cluster, you must
     *       delete all HSMs in the cluster. To see if the cluster contains any HSMs, use <a>DescribeClusters</a>. To delete an HSM, use <a>DeleteHsm</a>.</p>
     */ public deleteCluster ( args , options ? ) ; public deleteCluster ( args , cb ) ; public deleteCluster ( args , options , cb ) ; public deleteCluster ( args , optionsOrCb ? , cb ? ) { const command = new DeleteClusterCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes the specified HSM. To specify an HSM, you can use its identifier (ID), the IP
     *       address of the HSM's elastic network interface (ENI), or the ID of the HSM's ENI. You need to
     *       specify only one of these values. To find these values, use <a>DescribeClusters</a>.</p>
     */ public deleteHsm ( args , options ? ) ; public deleteHsm ( args , cb ) ; public deleteHsm ( args , options , cb ) ; public deleteHsm ( args , optionsOrCb ? , cb ? ) { const command = new DeleteHsmCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets information about backups of AWS CloudHSM clusters.</p>
     *          <p>This is a paginated operation, which means that each response might contain only a
     *       subset of all the backups. When the response contains only a subset of backups, it includes a
     *         <code>NextToken</code> value. Use this value in a subsequent <code>DescribeBackups</code>
     *       request to get more backups. When you receive a response with no <code>NextToken</code> (or an
     *       empty or null value), that means there are no more backups to get.</p>
     */ public describeBackups ( args , options ? ) ; public describeBackups ( args , cb ) ; public describeBackups ( args , options , cb ) ; public describeBackups ( args , optionsOrCb ? , cb ? ) { const command = new DescribeBackupsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets information about AWS CloudHSM clusters.</p>
     *          <p>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 <code>NextToken</code> value. Use this value in a subsequent <code>DescribeClusters</code>
     *       request to get more clusters. When you receive a response with no <code>NextToken</code> (or
     *       an empty or null value), that means there are no more clusters to get.</p>
     */ public describeClusters ( args , options ? ) ; public describeClusters ( args , cb ) ; public describeClusters ( args , options , cb ) ; public describeClusters ( args , optionsOrCb ? , cb ? ) { const command = new DescribeClustersCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Claims an AWS CloudHSM cluster by submitting the cluster certificate issued by your
     *       issuing certificate authority (CA) and the CA's root certificate. Before you can claim a
     *       cluster, you must sign the cluster's certificate signing request (CSR) with your issuing CA.
     *       To get the cluster's CSR, use <a>DescribeClusters</a>.</p>
     */ public initializeCluster ( args , options ? ) ; public initializeCluster ( args , cb ) ; public initializeCluster ( args , options , cb ) ; public initializeCluster ( args , optionsOrCb ? , cb ? ) { const command = new InitializeClusterCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets a list of tags for the specified AWS CloudHSM cluster.</p>
     *          <p>This is a paginated operation, which means that each response might contain only a
     *       subset of all the tags. When the response contains only a subset of tags, it includes a
     *       <code>NextToken</code> value. Use this value in a subsequent <code>ListTags</code> request to
     *       get more tags. When you receive a response with no <code>NextToken</code> (or an empty or null
     *       value), that means there are no more tags to get.</p>
     */ public listTags ( args , options ? ) ; public listTags ( args , cb ) ; public listTags ( args , options , cb ) ; public listTags ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Modifies attributes for AWS CloudHSM backup.</p>
     */ public modifyBackupAttributes ( args , options ? ) ; public modifyBackupAttributes ( args , cb ) ; public modifyBackupAttributes ( args , options , cb ) ; public modifyBackupAttributes ( args , optionsOrCb ? , cb ? ) { const command = new ModifyBackupAttributesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Modifies AWS CloudHSM cluster.</p>
     */ public modifyCluster ( args , options ? ) ; public modifyCluster ( args , cb ) ; public modifyCluster ( args , options , cb ) ; public modifyCluster ( args , optionsOrCb ? , cb ? ) { const command = new ModifyClusterCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Restores a specified AWS CloudHSM backup that is in the
     *                 <code>PENDING_DELETION</code> state. For mor information on deleting a backup, see
     *                 <a>DeleteBackup</a>.</p>
     */ public restoreBackup ( args , options ? ) ; public restoreBackup ( args , cb ) ; public restoreBackup ( args , options , cb ) ; public restoreBackup ( args , optionsOrCb ? , cb ? ) { const command = new RestoreBackupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Adds or overwrites one or more tags for the specified AWS CloudHSM cluster.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes the specified tag or tags from the specified AWS CloudHSM cluster.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }