Package com.pulumi.aws.cloudhsmv2
Class Cluster
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.cloudhsmv2.Cluster
-
public class Cluster extends com.pulumi.resources.CustomResourceCreates 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](https://docs.aws.amazon.com/cloudhsm/latest/APIReference/Welcome.html). > **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. ## Example Usage The following example below creates a CloudHSM cluster.
## 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 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetAvailabilityZonesArgs; import com.pulumi.aws.ec2.Vpc; import com.pulumi.aws.ec2.VpcArgs; import com.pulumi.aws.ec2.Subnet; import com.pulumi.aws.ec2.SubnetArgs; import com.pulumi.aws.cloudhsmv2.Cluster; import com.pulumi.aws.cloudhsmv2.ClusterArgs; import com.pulumi.codegen.internal.KeyedValue; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { final var available = AwsFunctions.getAvailabilityZones(GetAvailabilityZonesArgs.builder() .build()); var cloudhsmV2Vpc = new Vpc("cloudhsmV2Vpc", VpcArgs.builder() .cidrBlock("10.0.0.0/16") .tags(Map.of("Name", "example-aws_cloudhsm_v2_cluster")) .build()); for (var i = 0; i < 2; i++) { new Subnet("cloudhsmV2Subnets-" + i, SubnetArgs.builder() .vpcId(cloudhsmV2Vpc.id()) .cidrBlock(subnets[range.value()]) .mapPublicIpOnLaunch(false) .availabilityZone(available.names()[range.value()]) .tags(Map.of("Name", "example-aws_cloudhsm_v2_cluster")) .build()); } var cloudhsmV2Cluster = new Cluster("cloudhsmV2Cluster", ClusterArgs.builder() .hsmType("hsm1.medium") .subnetIds(cloudhsmV2Subnets.stream().map(element -> element.id()).collect(toList())) .tags(Map.of("Name", "example-aws_cloudhsm_v2_cluster")) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Cluster(java.lang.String name)Cluster(java.lang.String name, ClusterArgs args)Cluster(java.lang.String name, ClusterArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.List<ClusterClusterCertificate>>clusterCertificates()com.pulumi.core.Output<java.lang.String>clusterId()com.pulumi.core.Output<java.lang.String>clusterState()static Clusterget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ClusterState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>hsmType()com.pulumi.core.Output<java.lang.String>mode()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.lang.String>securityGroupId()com.pulumi.core.Output<java.util.Optional<java.lang.String>>sourceBackupIdentifier()com.pulumi.core.Output<java.util.List<java.lang.String>>subnetIds()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>vpcId()
-
-
-
Constructor Detail
-
Cluster
public Cluster(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Cluster
public Cluster(java.lang.String name, ClusterArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Cluster
public Cluster(java.lang.String name, ClusterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
clusterCertificates
public com.pulumi.core.Output<java.util.List<ClusterClusterCertificate>> clusterCertificates()
- Returns:
- The list of cluster certificates.
-
clusterId
public com.pulumi.core.Output<java.lang.String> clusterId()
- Returns:
- The ID of the CloudHSM cluster.
-
clusterState
public com.pulumi.core.Output<java.lang.String> clusterState()
- Returns:
- The state of the CloudHSM cluster.
-
hsmType
public com.pulumi.core.Output<java.lang.String> hsmType()
- Returns:
- The type of HSM module in the cluster. Currently, `hsm1.medium` and `hsm2m.medium` are supported.
-
mode
public com.pulumi.core.Output<java.lang.String> mode()
- Returns:
- The mode to use in the cluster. The allowed values are `FIPS` and `NON_FIPS`. This field is required if `hsmType` is `hsm2m.medium`.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- 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.
-
securityGroupId
public com.pulumi.core.Output<java.lang.String> securityGroupId()
- Returns:
- The ID of the security group associated with the CloudHSM cluster.
-
sourceBackupIdentifier
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> sourceBackupIdentifier()
- Returns:
- ID of Cloud HSM v2 cluster backup to be restored.
-
subnetIds
public com.pulumi.core.Output<java.util.List<java.lang.String>> subnetIds()
- Returns:
- The IDs of subnets in which cluster will operate.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- 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.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
vpcId
public com.pulumi.core.Output<java.lang.String> vpcId()
- Returns:
- The ID of the VPC that the CloudHSM cluster resides in.
-
get
public static Cluster get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ClusterState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-