@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
189 lines (188 loc) • 7.52 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Creates an Amazon CloudHSM v2 cluster.
*
* For information about CloudHSM v2, see the
* [AWS CloudHSM User Guide](https://docs.aws.amazon.com/cloudhsm/latest/userguide/introduction.html) and the [Amazon
* CloudHSM API Reference][2].
*
* > **NOTE:** A CloudHSM Cluster can take several minutes to set up.
* Practically no single attribute can be updated, except for `tags`.
* If you need to delete a cluster, you have to remove its HSM modules first.
* To initialize cluster, you have to add an HSM instance to the cluster, then sign CSR and upload it.
*
* ## Import
*
* Using `pulumi import`, import CloudHSM v2 Clusters using the cluster `id`. For example:
*
* ```sh
* $ pulumi import aws:cloudhsmv2/cluster:Cluster test_cluster cluster-aeb282a201
* ```
*/
export declare class Cluster extends pulumi.CustomResource {
/**
* Get an existing Cluster resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterState, opts?: pulumi.CustomResourceOptions): Cluster;
/**
* Returns true if the given object is an instance of Cluster. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is Cluster;
/**
* The list of cluster certificates.
*/
readonly clusterCertificates: pulumi.Output<outputs.cloudhsmv2.ClusterClusterCertificate[]>;
/**
* The id of the CloudHSM cluster.
*/
readonly clusterId: pulumi.Output<string>;
/**
* The state of the CloudHSM cluster.
*/
readonly clusterState: pulumi.Output<string>;
/**
* The type of HSM module in the cluster. Currently, `hsm1.medium` and `hsm2m.medium` are supported.
*/
readonly hsmType: pulumi.Output<string>;
/**
* The mode to use in the cluster. The allowed values are `FIPS` and `NON_FIPS`. This field is required if `hsmType` is `hsm2m.medium`.
*/
readonly mode: pulumi.Output<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
readonly region: pulumi.Output<string>;
/**
* The ID of the security group associated with the CloudHSM cluster.
*/
readonly securityGroupId: pulumi.Output<string>;
/**
* ID of Cloud HSM v2 cluster backup to be restored.
*/
readonly sourceBackupIdentifier: pulumi.Output<string | undefined>;
/**
* The IDs of subnets in which cluster will operate.
*/
readonly subnetIds: pulumi.Output<string[]>;
/**
* A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
/**
* The id of the VPC that the CloudHSM cluster resides in.
*/
readonly vpcId: pulumi.Output<string>;
/**
* Create a Cluster resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: ClusterArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering Cluster resources.
*/
export interface ClusterState {
/**
* The list of cluster certificates.
*/
clusterCertificates?: pulumi.Input<pulumi.Input<inputs.cloudhsmv2.ClusterClusterCertificate>[]>;
/**
* The id of the CloudHSM cluster.
*/
clusterId?: pulumi.Input<string>;
/**
* The state of the CloudHSM cluster.
*/
clusterState?: pulumi.Input<string>;
/**
* The type of HSM module in the cluster. Currently, `hsm1.medium` and `hsm2m.medium` are supported.
*/
hsmType?: pulumi.Input<string>;
/**
* The mode to use in the cluster. The allowed values are `FIPS` and `NON_FIPS`. This field is required if `hsmType` is `hsm2m.medium`.
*/
mode?: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* The ID of the security group associated with the CloudHSM cluster.
*/
securityGroupId?: pulumi.Input<string>;
/**
* ID of Cloud HSM v2 cluster backup to be restored.
*/
sourceBackupIdentifier?: pulumi.Input<string>;
/**
* The IDs of subnets in which cluster will operate.
*/
subnetIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* The id of the VPC that the CloudHSM cluster resides in.
*/
vpcId?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a Cluster resource.
*/
export interface ClusterArgs {
/**
* The type of HSM module in the cluster. Currently, `hsm1.medium` and `hsm2m.medium` are supported.
*/
hsmType: pulumi.Input<string>;
/**
* The mode to use in the cluster. The allowed values are `FIPS` and `NON_FIPS`. This field is required if `hsmType` is `hsm2m.medium`.
*/
mode?: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* ID of Cloud HSM v2 cluster backup to be restored.
*/
sourceBackupIdentifier?: pulumi.Input<string>;
/**
* The IDs of subnets in which cluster will operate.
*/
subnetIds: pulumi.Input<pulumi.Input<string>[]>;
/**
* A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}