All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.kms.CustomKeyStoreArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.kms;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;


public final class CustomKeyStoreArgs extends com.pulumi.resources.ResourceArgs {

    public static final CustomKeyStoreArgs Empty = new CustomKeyStoreArgs();

    /**
     * Cluster ID of CloudHSM.
     * 
     */
    @Import(name="cloudHsmClusterId", required=true)
    private Output cloudHsmClusterId;

    /**
     * @return Cluster ID of CloudHSM.
     * 
     */
    public Output cloudHsmClusterId() {
        return this.cloudHsmClusterId;
    }

    /**
     * Unique name for Custom Key Store.
     * 
     */
    @Import(name="customKeyStoreName", required=true)
    private Output customKeyStoreName;

    /**
     * @return Unique name for Custom Key Store.
     * 
     */
    public Output customKeyStoreName() {
        return this.customKeyStoreName;
    }

    /**
     * Password for `kmsuser` on CloudHSM.
     * 
     */
    @Import(name="keyStorePassword", required=true)
    private Output keyStorePassword;

    /**
     * @return Password for `kmsuser` on CloudHSM.
     * 
     */
    public Output keyStorePassword() {
        return this.keyStorePassword;
    }

    /**
     * Customer certificate used for signing on CloudHSM.
     * 
     */
    @Import(name="trustAnchorCertificate", required=true)
    private Output trustAnchorCertificate;

    /**
     * @return Customer certificate used for signing on CloudHSM.
     * 
     */
    public Output trustAnchorCertificate() {
        return this.trustAnchorCertificate;
    }

    private CustomKeyStoreArgs() {}

    private CustomKeyStoreArgs(CustomKeyStoreArgs $) {
        this.cloudHsmClusterId = $.cloudHsmClusterId;
        this.customKeyStoreName = $.customKeyStoreName;
        this.keyStorePassword = $.keyStorePassword;
        this.trustAnchorCertificate = $.trustAnchorCertificate;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(CustomKeyStoreArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private CustomKeyStoreArgs $;

        public Builder() {
            $ = new CustomKeyStoreArgs();
        }

        public Builder(CustomKeyStoreArgs defaults) {
            $ = new CustomKeyStoreArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param cloudHsmClusterId Cluster ID of CloudHSM.
         * 
         * @return builder
         * 
         */
        public Builder cloudHsmClusterId(Output cloudHsmClusterId) {
            $.cloudHsmClusterId = cloudHsmClusterId;
            return this;
        }

        /**
         * @param cloudHsmClusterId Cluster ID of CloudHSM.
         * 
         * @return builder
         * 
         */
        public Builder cloudHsmClusterId(String cloudHsmClusterId) {
            return cloudHsmClusterId(Output.of(cloudHsmClusterId));
        }

        /**
         * @param customKeyStoreName Unique name for Custom Key Store.
         * 
         * @return builder
         * 
         */
        public Builder customKeyStoreName(Output customKeyStoreName) {
            $.customKeyStoreName = customKeyStoreName;
            return this;
        }

        /**
         * @param customKeyStoreName Unique name for Custom Key Store.
         * 
         * @return builder
         * 
         */
        public Builder customKeyStoreName(String customKeyStoreName) {
            return customKeyStoreName(Output.of(customKeyStoreName));
        }

        /**
         * @param keyStorePassword Password for `kmsuser` on CloudHSM.
         * 
         * @return builder
         * 
         */
        public Builder keyStorePassword(Output keyStorePassword) {
            $.keyStorePassword = keyStorePassword;
            return this;
        }

        /**
         * @param keyStorePassword Password for `kmsuser` on CloudHSM.
         * 
         * @return builder
         * 
         */
        public Builder keyStorePassword(String keyStorePassword) {
            return keyStorePassword(Output.of(keyStorePassword));
        }

        /**
         * @param trustAnchorCertificate Customer certificate used for signing on CloudHSM.
         * 
         * @return builder
         * 
         */
        public Builder trustAnchorCertificate(Output trustAnchorCertificate) {
            $.trustAnchorCertificate = trustAnchorCertificate;
            return this;
        }

        /**
         * @param trustAnchorCertificate Customer certificate used for signing on CloudHSM.
         * 
         * @return builder
         * 
         */
        public Builder trustAnchorCertificate(String trustAnchorCertificate) {
            return trustAnchorCertificate(Output.of(trustAnchorCertificate));
        }

        public CustomKeyStoreArgs build() {
            if ($.cloudHsmClusterId == null) {
                throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "cloudHsmClusterId");
            }
            if ($.customKeyStoreName == null) {
                throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "customKeyStoreName");
            }
            if ($.keyStorePassword == null) {
                throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "keyStorePassword");
            }
            if ($.trustAnchorCertificate == null) {
                throw new MissingRequiredPropertyException("CustomKeyStoreArgs", "trustAnchorCertificate");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy