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

com.pulumi.aws.acmpca.inputs.CertificateAuthorityState 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.66.3
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.acmpca.inputs;

import com.pulumi.aws.acmpca.inputs.CertificateAuthorityCertificateAuthorityConfigurationArgs;
import com.pulumi.aws.acmpca.inputs.CertificateAuthorityRevocationConfigurationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CertificateAuthorityState Empty = new CertificateAuthorityState();

    /**
     * ARN of the certificate authority.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return ARN of the certificate authority.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Base64-encoded certificate authority (CA) certificate. Only available after the certificate authority certificate has been imported.
     * 
     */
    @Import(name="certificate")
    private @Nullable Output certificate;

    /**
     * @return Base64-encoded certificate authority (CA) certificate. Only available after the certificate authority certificate has been imported.
     * 
     */
    public Optional> certificate() {
        return Optional.ofNullable(this.certificate);
    }

    /**
     * Nested argument containing algorithms and certificate subject information. Defined below.
     * 
     */
    @Import(name="certificateAuthorityConfiguration")
    private @Nullable Output certificateAuthorityConfiguration;

    /**
     * @return Nested argument containing algorithms and certificate subject information. Defined below.
     * 
     */
    public Optional> certificateAuthorityConfiguration() {
        return Optional.ofNullable(this.certificateAuthorityConfiguration);
    }

    /**
     * Base64-encoded certificate chain that includes any intermediate certificates and chains up to root on-premises certificate that you used to sign your private CA certificate. The chain does not include your private CA certificate. Only available after the certificate authority certificate has been imported.
     * 
     */
    @Import(name="certificateChain")
    private @Nullable Output certificateChain;

    /**
     * @return Base64-encoded certificate chain that includes any intermediate certificates and chains up to root on-premises certificate that you used to sign your private CA certificate. The chain does not include your private CA certificate. Only available after the certificate authority certificate has been imported.
     * 
     */
    public Optional> certificateChain() {
        return Optional.ofNullable(this.certificateChain);
    }

    /**
     * The base64 PEM-encoded certificate signing request (CSR) for your private CA certificate.
     * 
     */
    @Import(name="certificateSigningRequest")
    private @Nullable Output certificateSigningRequest;

    /**
     * @return The base64 PEM-encoded certificate signing request (CSR) for your private CA certificate.
     * 
     */
    public Optional> certificateSigningRequest() {
        return Optional.ofNullable(this.certificateSigningRequest);
    }

    /**
     * Whether the certificate authority is enabled or disabled. Defaults to `true`. Can only be disabled if the CA is in an `ACTIVE` state.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Whether the certificate authority is enabled or disabled. Defaults to `true`. Can only be disabled if the CA is in an `ACTIVE` state.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * Cryptographic key management compliance standard used for handling CA keys. Defaults to `FIPS_140_2_LEVEL_3_OR_HIGHER`. Valid values: `FIPS_140_2_LEVEL_3_OR_HIGHER` and `FIPS_140_2_LEVEL_2_OR_HIGHER`. Supported standard for each region can be found in the [Storage and security compliance of AWS Private CA private keys Documentation](https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys).
     * 
     */
    @Import(name="keyStorageSecurityStandard")
    private @Nullable Output keyStorageSecurityStandard;

    /**
     * @return Cryptographic key management compliance standard used for handling CA keys. Defaults to `FIPS_140_2_LEVEL_3_OR_HIGHER`. Valid values: `FIPS_140_2_LEVEL_3_OR_HIGHER` and `FIPS_140_2_LEVEL_2_OR_HIGHER`. Supported standard for each region can be found in the [Storage and security compliance of AWS Private CA private keys Documentation](https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys).
     * 
     */
    public Optional> keyStorageSecurityStandard() {
        return Optional.ofNullable(this.keyStorageSecurityStandard);
    }

    /**
     * Date and time after which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
     * 
     */
    @Import(name="notAfter")
    private @Nullable Output notAfter;

    /**
     * @return Date and time after which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
     * 
     */
    public Optional> notAfter() {
        return Optional.ofNullable(this.notAfter);
    }

    /**
     * Date and time before which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
     * 
     */
    @Import(name="notBefore")
    private @Nullable Output notBefore;

    /**
     * @return Date and time before which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
     * 
     */
    public Optional> notBefore() {
        return Optional.ofNullable(this.notBefore);
    }

    /**
     * Number of days to make a CA restorable after it has been deleted, must be between 7 to 30 days, with default to 30 days.
     * 
     */
    @Import(name="permanentDeletionTimeInDays")
    private @Nullable Output permanentDeletionTimeInDays;

    /**
     * @return Number of days to make a CA restorable after it has been deleted, must be between 7 to 30 days, with default to 30 days.
     * 
     */
    public Optional> permanentDeletionTimeInDays() {
        return Optional.ofNullable(this.permanentDeletionTimeInDays);
    }

    /**
     * Nested argument containing revocation configuration. Defined below.
     * 
     */
    @Import(name="revocationConfiguration")
    private @Nullable Output revocationConfiguration;

    /**
     * @return Nested argument containing revocation configuration. Defined below.
     * 
     */
    public Optional> revocationConfiguration() {
        return Optional.ofNullable(this.revocationConfiguration);
    }

    /**
     * Serial number of the certificate authority. Only available after the certificate authority certificate has been imported.
     * 
     */
    @Import(name="serial")
    private @Nullable Output serial;

    /**
     * @return Serial number of the certificate authority. Only available after the certificate authority certificate has been imported.
     * 
     */
    public Optional> serial() {
        return Optional.ofNullable(this.serial);
    }

    /**
     * Key-value map of user-defined tags that are attached to the certificate authority. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value map of user-defined tags that are attached to the certificate authority. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * Type of the certificate authority. Defaults to `SUBORDINATE`. Valid values: `ROOT` and `SUBORDINATE`.
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return Type of the certificate authority. Defaults to `SUBORDINATE`. Valid values: `ROOT` and `SUBORDINATE`.
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    /**
     * Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days. Defaults to `GENERAL_PURPOSE`. Valid values: `GENERAL_PURPOSE` and `SHORT_LIVED_CERTIFICATE`.
     * 
     */
    @Import(name="usageMode")
    private @Nullable Output usageMode;

    /**
     * @return Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days. Defaults to `GENERAL_PURPOSE`. Valid values: `GENERAL_PURPOSE` and `SHORT_LIVED_CERTIFICATE`.
     * 
     */
    public Optional> usageMode() {
        return Optional.ofNullable(this.usageMode);
    }

    private CertificateAuthorityState() {}

    private CertificateAuthorityState(CertificateAuthorityState $) {
        this.arn = $.arn;
        this.certificate = $.certificate;
        this.certificateAuthorityConfiguration = $.certificateAuthorityConfiguration;
        this.certificateChain = $.certificateChain;
        this.certificateSigningRequest = $.certificateSigningRequest;
        this.enabled = $.enabled;
        this.keyStorageSecurityStandard = $.keyStorageSecurityStandard;
        this.notAfter = $.notAfter;
        this.notBefore = $.notBefore;
        this.permanentDeletionTimeInDays = $.permanentDeletionTimeInDays;
        this.revocationConfiguration = $.revocationConfiguration;
        this.serial = $.serial;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.type = $.type;
        this.usageMode = $.usageMode;
    }

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

    public static final class Builder {
        private CertificateAuthorityState $;

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

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

        /**
         * @param arn ARN of the certificate authority.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn ARN of the certificate authority.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param certificate Base64-encoded certificate authority (CA) certificate. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder certificate(@Nullable Output certificate) {
            $.certificate = certificate;
            return this;
        }

        /**
         * @param certificate Base64-encoded certificate authority (CA) certificate. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder certificate(String certificate) {
            return certificate(Output.of(certificate));
        }

        /**
         * @param certificateAuthorityConfiguration Nested argument containing algorithms and certificate subject information. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder certificateAuthorityConfiguration(@Nullable Output certificateAuthorityConfiguration) {
            $.certificateAuthorityConfiguration = certificateAuthorityConfiguration;
            return this;
        }

        /**
         * @param certificateAuthorityConfiguration Nested argument containing algorithms and certificate subject information. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder certificateAuthorityConfiguration(CertificateAuthorityCertificateAuthorityConfigurationArgs certificateAuthorityConfiguration) {
            return certificateAuthorityConfiguration(Output.of(certificateAuthorityConfiguration));
        }

        /**
         * @param certificateChain Base64-encoded certificate chain that includes any intermediate certificates and chains up to root on-premises certificate that you used to sign your private CA certificate. The chain does not include your private CA certificate. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder certificateChain(@Nullable Output certificateChain) {
            $.certificateChain = certificateChain;
            return this;
        }

        /**
         * @param certificateChain Base64-encoded certificate chain that includes any intermediate certificates and chains up to root on-premises certificate that you used to sign your private CA certificate. The chain does not include your private CA certificate. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder certificateChain(String certificateChain) {
            return certificateChain(Output.of(certificateChain));
        }

        /**
         * @param certificateSigningRequest The base64 PEM-encoded certificate signing request (CSR) for your private CA certificate.
         * 
         * @return builder
         * 
         */
        public Builder certificateSigningRequest(@Nullable Output certificateSigningRequest) {
            $.certificateSigningRequest = certificateSigningRequest;
            return this;
        }

        /**
         * @param certificateSigningRequest The base64 PEM-encoded certificate signing request (CSR) for your private CA certificate.
         * 
         * @return builder
         * 
         */
        public Builder certificateSigningRequest(String certificateSigningRequest) {
            return certificateSigningRequest(Output.of(certificateSigningRequest));
        }

        /**
         * @param enabled Whether the certificate authority is enabled or disabled. Defaults to `true`. Can only be disabled if the CA is in an `ACTIVE` state.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Whether the certificate authority is enabled or disabled. Defaults to `true`. Can only be disabled if the CA is in an `ACTIVE` state.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param keyStorageSecurityStandard Cryptographic key management compliance standard used for handling CA keys. Defaults to `FIPS_140_2_LEVEL_3_OR_HIGHER`. Valid values: `FIPS_140_2_LEVEL_3_OR_HIGHER` and `FIPS_140_2_LEVEL_2_OR_HIGHER`. Supported standard for each region can be found in the [Storage and security compliance of AWS Private CA private keys Documentation](https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys).
         * 
         * @return builder
         * 
         */
        public Builder keyStorageSecurityStandard(@Nullable Output keyStorageSecurityStandard) {
            $.keyStorageSecurityStandard = keyStorageSecurityStandard;
            return this;
        }

        /**
         * @param keyStorageSecurityStandard Cryptographic key management compliance standard used for handling CA keys. Defaults to `FIPS_140_2_LEVEL_3_OR_HIGHER`. Valid values: `FIPS_140_2_LEVEL_3_OR_HIGHER` and `FIPS_140_2_LEVEL_2_OR_HIGHER`. Supported standard for each region can be found in the [Storage and security compliance of AWS Private CA private keys Documentation](https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys).
         * 
         * @return builder
         * 
         */
        public Builder keyStorageSecurityStandard(String keyStorageSecurityStandard) {
            return keyStorageSecurityStandard(Output.of(keyStorageSecurityStandard));
        }

        /**
         * @param notAfter Date and time after which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder notAfter(@Nullable Output notAfter) {
            $.notAfter = notAfter;
            return this;
        }

        /**
         * @param notAfter Date and time after which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder notAfter(String notAfter) {
            return notAfter(Output.of(notAfter));
        }

        /**
         * @param notBefore Date and time before which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder notBefore(@Nullable Output notBefore) {
            $.notBefore = notBefore;
            return this;
        }

        /**
         * @param notBefore Date and time before which the certificate authority is not valid. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder notBefore(String notBefore) {
            return notBefore(Output.of(notBefore));
        }

        /**
         * @param permanentDeletionTimeInDays Number of days to make a CA restorable after it has been deleted, must be between 7 to 30 days, with default to 30 days.
         * 
         * @return builder
         * 
         */
        public Builder permanentDeletionTimeInDays(@Nullable Output permanentDeletionTimeInDays) {
            $.permanentDeletionTimeInDays = permanentDeletionTimeInDays;
            return this;
        }

        /**
         * @param permanentDeletionTimeInDays Number of days to make a CA restorable after it has been deleted, must be between 7 to 30 days, with default to 30 days.
         * 
         * @return builder
         * 
         */
        public Builder permanentDeletionTimeInDays(Integer permanentDeletionTimeInDays) {
            return permanentDeletionTimeInDays(Output.of(permanentDeletionTimeInDays));
        }

        /**
         * @param revocationConfiguration Nested argument containing revocation configuration. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder revocationConfiguration(@Nullable Output revocationConfiguration) {
            $.revocationConfiguration = revocationConfiguration;
            return this;
        }

        /**
         * @param revocationConfiguration Nested argument containing revocation configuration. Defined below.
         * 
         * @return builder
         * 
         */
        public Builder revocationConfiguration(CertificateAuthorityRevocationConfigurationArgs revocationConfiguration) {
            return revocationConfiguration(Output.of(revocationConfiguration));
        }

        /**
         * @param serial Serial number of the certificate authority. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder serial(@Nullable Output serial) {
            $.serial = serial;
            return this;
        }

        /**
         * @param serial Serial number of the certificate authority. Only available after the certificate authority certificate has been imported.
         * 
         * @return builder
         * 
         */
        public Builder serial(String serial) {
            return serial(Output.of(serial));
        }

        /**
         * @param tags Key-value map of user-defined tags that are attached to the certificate authority. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value map of user-defined tags that are attached to the certificate authority. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param type Type of the certificate authority. Defaults to `SUBORDINATE`. Valid values: `ROOT` and `SUBORDINATE`.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of the certificate authority. Defaults to `SUBORDINATE`. Valid values: `ROOT` and `SUBORDINATE`.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        /**
         * @param usageMode Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days. Defaults to `GENERAL_PURPOSE`. Valid values: `GENERAL_PURPOSE` and `SHORT_LIVED_CERTIFICATE`.
         * 
         * @return builder
         * 
         */
        public Builder usageMode(@Nullable Output usageMode) {
            $.usageMode = usageMode;
            return this;
        }

        /**
         * @param usageMode Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days. Defaults to `GENERAL_PURPOSE`. Valid values: `GENERAL_PURPOSE` and `SHORT_LIVED_CERTIFICATE`.
         * 
         * @return builder
         * 
         */
        public Builder usageMode(String usageMode) {
            return usageMode(Output.of(usageMode));
        }

        public CertificateAuthorityState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy