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

com.pulumi.aws.acmpca.outputs.CertificateAuthorityCertificateAuthorityConfiguration Maven / Gradle / Ivy

// *** 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.outputs;

import com.pulumi.aws.acmpca.outputs.CertificateAuthorityCertificateAuthorityConfigurationSubject;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;

@CustomType
public final class CertificateAuthorityCertificateAuthorityConfiguration {
    /**
     * @return Type of the public key algorithm and size, in bits, of the key pair that your key pair creates when it issues a certificate. Valid values can be found in the [ACM PCA Documentation](https://docs.aws.amazon.com/privateca/latest/APIReference/API_CertificateAuthorityConfiguration.html).
     * 
     */
    private String keyAlgorithm;
    /**
     * @return Name of the algorithm your private CA uses to sign certificate requests. Valid values can be found in the [ACM PCA Documentation](https://docs.aws.amazon.com/privateca/latest/APIReference/API_CertificateAuthorityConfiguration.html).
     * 
     */
    private String signingAlgorithm;
    /**
     * @return Nested argument that contains X.500 distinguished name information. At least one nested attribute must be specified.
     * 
     */
    private CertificateAuthorityCertificateAuthorityConfigurationSubject subject;

    private CertificateAuthorityCertificateAuthorityConfiguration() {}
    /**
     * @return Type of the public key algorithm and size, in bits, of the key pair that your key pair creates when it issues a certificate. Valid values can be found in the [ACM PCA Documentation](https://docs.aws.amazon.com/privateca/latest/APIReference/API_CertificateAuthorityConfiguration.html).
     * 
     */
    public String keyAlgorithm() {
        return this.keyAlgorithm;
    }
    /**
     * @return Name of the algorithm your private CA uses to sign certificate requests. Valid values can be found in the [ACM PCA Documentation](https://docs.aws.amazon.com/privateca/latest/APIReference/API_CertificateAuthorityConfiguration.html).
     * 
     */
    public String signingAlgorithm() {
        return this.signingAlgorithm;
    }
    /**
     * @return Nested argument that contains X.500 distinguished name information. At least one nested attribute must be specified.
     * 
     */
    public CertificateAuthorityCertificateAuthorityConfigurationSubject subject() {
        return this.subject;
    }

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

    public static Builder builder(CertificateAuthorityCertificateAuthorityConfiguration defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String keyAlgorithm;
        private String signingAlgorithm;
        private CertificateAuthorityCertificateAuthorityConfigurationSubject subject;
        public Builder() {}
        public Builder(CertificateAuthorityCertificateAuthorityConfiguration defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.keyAlgorithm = defaults.keyAlgorithm;
    	      this.signingAlgorithm = defaults.signingAlgorithm;
    	      this.subject = defaults.subject;
        }

        @CustomType.Setter
        public Builder keyAlgorithm(String keyAlgorithm) {
            if (keyAlgorithm == null) {
              throw new MissingRequiredPropertyException("CertificateAuthorityCertificateAuthorityConfiguration", "keyAlgorithm");
            }
            this.keyAlgorithm = keyAlgorithm;
            return this;
        }
        @CustomType.Setter
        public Builder signingAlgorithm(String signingAlgorithm) {
            if (signingAlgorithm == null) {
              throw new MissingRequiredPropertyException("CertificateAuthorityCertificateAuthorityConfiguration", "signingAlgorithm");
            }
            this.signingAlgorithm = signingAlgorithm;
            return this;
        }
        @CustomType.Setter
        public Builder subject(CertificateAuthorityCertificateAuthorityConfigurationSubject subject) {
            if (subject == null) {
              throw new MissingRequiredPropertyException("CertificateAuthorityCertificateAuthorityConfiguration", "subject");
            }
            this.subject = subject;
            return this;
        }
        public CertificateAuthorityCertificateAuthorityConfiguration build() {
            final var _resultValue = new CertificateAuthorityCertificateAuthorityConfiguration();
            _resultValue.keyAlgorithm = keyAlgorithm;
            _resultValue.signingAlgorithm = signingAlgorithm;
            _resultValue.subject = subject;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy