import * as cdk from "../../core/lib"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; import { ClusterReference, IClusterRef } from "../../interfaces/generated/aws-cloudhsm-interfaces.generated"; /** * Creates and manages an AWS CloudHSM cluster. * * @cloudformationResource AWS::CloudHSM::Cluster * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html */ export declare class CfnCluster extends cdk.CfnResource implements cdk.IInspectable, IClusterRef, cdk.ITaggableV2 { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnCluster from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCluster; /** * Checks whether the given object is a CfnCluster */ static isCfnCluster(x: any): x is CfnCluster; static arnForCluster(resource: IClusterRef): string; /** * A policy that defines how the service retains backups. */ private _backupRetentionPolicy?; /** * Tag Manager which manages the tags for this resource */ readonly cdkTagManager: cdk.TagManager; /** * The type of HSM to use in the cluster. */ private _hsmType; /** * The mode to use in the cluster. */ private _mode?; /** * The NetworkType to create a cluster with. */ private _networkType?; /** * The identifiers (IDs) of the subnets where the cluster is created. */ private _subnetIds?; /** * Tags to apply to the CloudHSM cluster. */ private _tags?; protected readonly cfnPropertyNames: Record; /** * Create a new `AWS::CloudHSM::Cluster`. * * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnClusterProps); get clusterRef(): ClusterReference; /** * A policy that defines how the service retains backups. */ get backupRetentionPolicy(): CfnCluster.BackupRetentionPolicyProperty | cdk.IResolvable | undefined; /** * A policy that defines how the service retains backups. */ set backupRetentionPolicy(value: CfnCluster.BackupRetentionPolicyProperty | cdk.IResolvable | undefined); /** * The type of HSM to use in the cluster. */ get hsmType(): string; /** * The type of HSM to use in the cluster. */ set hsmType(value: string); /** * The mode to use in the cluster. */ get mode(): string | undefined; /** * The mode to use in the cluster. */ set mode(value: string | undefined); /** * The NetworkType to create a cluster with. */ get networkType(): string | undefined; /** * The NetworkType to create a cluster with. */ set networkType(value: string | undefined); /** * The identifiers (IDs) of the subnets where the cluster is created. */ get subnetIds(): Array | undefined; /** * The identifiers (IDs) of the subnets where the cluster is created. */ set subnetIds(value: Array | undefined); /** * Tags to apply to the CloudHSM cluster. */ get tags(): Array | undefined; /** * Tags to apply to the CloudHSM cluster. */ set tags(value: Array | undefined); /** * The Amazon Resource Name (ARN) of the cluster. * * @cloudformationAttribute Arn */ get attrArn(): string; /** * The cluster's backup policy. * * @cloudformationAttribute BackupPolicy */ get attrBackupPolicy(): string; /** * The cluster's identifier (ID). * * @cloudformationAttribute ClusterId */ get attrClusterId(): string; /** * The identifier (ID) of the cluster's security group. * * @cloudformationAttribute SecurityGroup */ get attrSecurityGroup(): string; /** * The cluster's state. * * @cloudformationAttribute State */ get attrState(): string; /** * A map from availability zone to the cluster's subnet in that availability zone. * * @cloudformationAttribute SubnetMapping */ get attrSubnetMapping(): cdk.IResolvable; /** * The identifier (ID) of the virtual private cloud (VPC) that contains the cluster. * * @cloudformationAttribute VpcId */ get attrVpcId(): string; protected get cfnProperties(): Record; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record): Record; } export declare namespace CfnCluster { /** * A policy that defines how the service retains backups. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudhsm-cluster-backupretentionpolicy.html */ interface BackupRetentionPolicyProperty { /** * The type of backup retention policy. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudhsm-cluster-backupretentionpolicy.html#cfn-cloudhsm-cluster-backupretentionpolicy-type */ readonly type?: string; /** * Use a value between 7 - 379. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudhsm-cluster-backupretentionpolicy.html#cfn-cloudhsm-cluster-backupretentionpolicy-value */ readonly value?: string; } /** * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudhsm-cluster-tagsitems.html */ interface TagsItemsProperty { /** * The key of the tag. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudhsm-cluster-tagsitems.html#cfn-cloudhsm-cluster-tagsitems-key */ readonly key: string; /** * The value of the tag. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudhsm-cluster-tagsitems.html#cfn-cloudhsm-cluster-tagsitems-value */ readonly value: string; } } /** * Properties for defining a `CfnCluster` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html */ export interface CfnClusterProps { /** * A policy that defines how the service retains backups. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html#cfn-cloudhsm-cluster-backupretentionpolicy */ readonly backupRetentionPolicy?: CfnCluster.BackupRetentionPolicyProperty | cdk.IResolvable; /** * The type of HSM to use in the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html#cfn-cloudhsm-cluster-hsmtype */ readonly hsmType: string; /** * The mode to use in the cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html#cfn-cloudhsm-cluster-mode */ readonly mode?: string; /** * The NetworkType to create a cluster with. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html#cfn-cloudhsm-cluster-networktype */ readonly networkType?: string; /** * The identifiers (IDs) of the subnets where the cluster is created. * * You must specify at least one subnet. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html#cfn-cloudhsm-cluster-subnetids */ readonly subnetIds?: Array; /** * Tags to apply to the CloudHSM cluster. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudhsm-cluster.html#cfn-cloudhsm-cluster-tags */ readonly tags?: Array; } export type { IClusterRef, ClusterReference };