Class CustomKeyStore


  • public class CustomKeyStore
    extends com.pulumi.resources.CustomResource
    Resource for managing an AWS KMS (Key Management) Custom Key Store. ## Example Usage ### CloudHSM
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.kms.CustomKeyStore;
     import com.pulumi.aws.kms.CustomKeyStoreArgs;
     import com.pulumi.std.StdFunctions;
     import com.pulumi.std.inputs.FileArgs;
     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) {
             var test = new CustomKeyStore("test", CustomKeyStoreArgs.builder()
                 .cloudHsmClusterId(cloudHsmClusterId)
                 .customKeyStoreName("kms-custom-key-store-test")
                 .keyStorePassword("noplaintextpasswords1")
                 .trustAnchorCertificate(StdFunctions.file(FileArgs.builder()
                     .input("anchor-certificate.crt")
                     .build()).result())
                 .build());
     
         }
     }
     
     
    ### External Key Store (VPC)
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.kms.CustomKeyStore;
     import com.pulumi.aws.kms.CustomKeyStoreArgs;
     import com.pulumi.aws.kms.inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs;
     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) {
             var example = new CustomKeyStore("example", CustomKeyStoreArgs.builder()
                 .xksProxyAuthenticationCredential(CustomKeyStoreXksProxyAuthenticationCredentialArgs.builder()
                     .accessKeyId(ephemeralAccessKeyId)
                     .rawSecretAccessKey(ephemeralSecretAccessKey)
                     .build())
                 .customKeyStoreName("example-vpc-xks")
                 .customKeyStoreType("EXTERNAL_KEY_STORE")
                 .xksProxyConnectivity("VPC_ENDPOINT_SERVICE")
                 .xksProxyUriEndpoint("https://myproxy-private.xks.example.com")
                 .xksProxyUriPath("/kms/xks/v1")
                 .xksProxyVpcEndpointServiceName("com.amazonaws.vpce.us-east-1.vpce-svc-example")
                 .build());
     
         }
     }
     
     
    ### External Key Store (Public)
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.kms.CustomKeyStore;
     import com.pulumi.aws.kms.CustomKeyStoreArgs;
     import com.pulumi.aws.kms.inputs.CustomKeyStoreXksProxyAuthenticationCredentialArgs;
     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) {
             var example = new CustomKeyStore("example", CustomKeyStoreArgs.builder()
                 .xksProxyAuthenticationCredential(CustomKeyStoreXksProxyAuthenticationCredentialArgs.builder()
                     .accessKeyId(ephemeralAccessKeyId)
                     .rawSecretAccessKey(ephemeralSecretAccessKey)
                     .build())
                 .customKeyStoreName("example-public-xks")
                 .customKeyStoreType("EXTERNAL_KEY_STORE")
                 .xksProxyConnectivity("PUBLIC_ENDPOINT")
                 .xksProxyUriEndpoint("https://myproxy.xks.example.com")
                 .xksProxyUriPath("/kms/xks/v1")
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import KMS (Key Management) Custom Key Store using the `id`. For example: ```sh $ pulumi import aws:kms/customKeyStore:CustomKeyStore example cks-5ebd4ef395a96288e ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> cloudHsmClusterId()  
      com.pulumi.core.Output<java.lang.String> customKeyStoreName()  
      com.pulumi.core.Output<java.lang.String> customKeyStoreType()  
      static CustomKeyStore get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, CustomKeyStoreState 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.util.Optional<java.lang.String>> keyStorePassword()  
      com.pulumi.core.Output<java.lang.String> region()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> trustAnchorCertificate()  
      com.pulumi.core.Output<java.util.Optional<CustomKeyStoreXksProxyAuthenticationCredential>> xksProxyAuthenticationCredential()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyConnectivity()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyUriEndpoint()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyUriPath()  
      com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyVpcEndpointServiceName()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CustomKeyStore

        public CustomKeyStore​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • CustomKeyStore

        public CustomKeyStore​(java.lang.String name,
                              CustomKeyStoreArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • CustomKeyStore

        public CustomKeyStore​(java.lang.String name,
                              CustomKeyStoreArgs 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

      • cloudHsmClusterId

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> cloudHsmClusterId()
        Returns:
        Cluster ID of CloudHSM. Applies when `customKeyStoreType` is `AWS_CLOUDHSM`.
      • customKeyStoreName

        public com.pulumi.core.Output<java.lang.String> customKeyStoreName()
        Returns:
        Unique name for Custom Key Store. The following arguments are optional:
      • customKeyStoreType

        public com.pulumi.core.Output<java.lang.String> customKeyStoreType()
        Returns:
        Type of key store to create. Valid values are `AWS_CLOUDHSM` and `EXTERNAL_KEY_STORE`. If omitted, AWS will default the value to `AWS_CLOUDHSM`.
      • keyStorePassword

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> keyStorePassword()
        Returns:
        Password for the `kmsuser` of an AWS CloudHSM key store. Applies when `customKeyStoreType` is `AWS_CLOUDHSM`.
      • 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.
      • trustAnchorCertificate

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> trustAnchorCertificate()
        Returns:
        Certificate for an AWS CloudHSM key store. Applies when `customKeyStoreType` is `AWS_CLOUDHSM`.
      • xksProxyAuthenticationCredential

        public com.pulumi.core.Output<java.util.Optional<CustomKeyStoreXksProxyAuthenticationCredential>> xksProxyAuthenticationCredential()
        Returns:
        Authentication credential for the external key store proxy (XKS proxy). Applies when `customKeyStoreType` is `EXTERNAL_KEY_STORE`. See `xksProxyAuthenticationCredential` block below.
      • xksProxyConnectivity

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyConnectivity()
        Returns:
        How AWS KMS communicates with the external key store proxy. Applies when `customKeyStoreType` is `EXTERNAL_KEY_STORE`.
      • xksProxyUriEndpoint

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyUriEndpoint()
        Returns:
        Endpoint that AWS KMS uses to send requests to the external key store proxy (XKS proxy). Applies when `customKeyStoreType` is `EXTERNAL_KEY_STORE`.
      • xksProxyUriPath

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyUriPath()
        Returns:
        Base path to the proxy APIs for this external key store. To find this value, see the documentation for your external key store proxy. Applies when `customKeyStoreType` is `EXTERNAL_KEY_STORE`.
      • xksProxyVpcEndpointServiceName

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> xksProxyVpcEndpointServiceName()
        Returns:
        Name of the Amazon VPC endpoint service for interface endpoints that is used to communicate with your external key store proxy (XKS proxy). Applies when `customKeyStoreType` is `EXTERNAL_KEY_STORE` and required when `xksProxyConnectivity` is `VPC_ENDPOINT_SERVICE`.
      • get

        public static CustomKeyStore get​(java.lang.String name,
                                         com.pulumi.core.Output<java.lang.String> id,
                                         @Nullable
                                         CustomKeyStoreState 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.