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

com.pulumi.venafi.inputs.CertificateState Maven / Gradle / Ivy

There is a newer version: 1.11.0-alpha.1732775225
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.venafi.inputs;

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.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CertificateState Empty = new CertificateState();

    /**
     * Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
     * 
     */
    @Import(name="algorithm")
    private @Nullable Output algorithm;

    /**
     * @return Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
     * 
     */
    public Optional> algorithm() {
        return Optional.ofNullable(this.algorithm);
    }

    /**
     * The X509 certificate in PEM format.
     * 
     */
    @Import(name="certificate")
    private @Nullable Output certificate;

    /**
     * @return The X509 certificate in PEM format.
     * 
     */
    public Optional> certificate() {
        return Optional.ofNullable(this.certificate);
    }

    @Import(name="certificateDn")
    private @Nullable Output certificateDn;

    public Optional> certificateDn() {
        return Optional.ofNullable(this.certificateDn);
    }

    /**
     * ID of the issued certificate
     * 
     */
    @Import(name="certificateId")
    private @Nullable Output certificateId;

    /**
     * @return ID of the issued certificate
     * 
     */
    public Optional> certificateId() {
        return Optional.ofNullable(this.certificateId);
    }

    /**
     * The trust chain of X509 certificate authority certificates in PEM format concatenated together.
     * 
     */
    @Import(name="chain")
    private @Nullable Output chain;

    /**
     * @return The trust chain of X509 certificate authority certificates in PEM format concatenated together.
     * 
     */
    public Optional> chain() {
        return Optional.ofNullable(this.chain);
    }

    /**
     * The common name of the certificate.
     * 
     */
    @Import(name="commonName")
    private @Nullable Output commonName;

    /**
     * @return The common name of the certificate.
     * 
     */
    public Optional> commonName() {
        return Optional.ofNullable(this.commonName);
    }

    /**
     * Country of the certificate (C)
     * 
     */
    @Import(name="country")
    private @Nullable Output country;

    /**
     * @return Country of the certificate (C)
     * 
     */
    public Optional> country() {
        return Optional.ofNullable(this.country);
    }

    /**
     * Whether key-pair generation will be `local` or `service` generated. Default is
     * `local`.
     * 
     */
    @Import(name="csrOrigin")
    private @Nullable Output csrOrigin;

    /**
     * @return Whether key-pair generation will be `local` or `service` generated. Default is
     * `local`.
     * 
     */
    public Optional> csrOrigin() {
        return Optional.ofNullable(this.csrOrigin);
    }

    @Import(name="csrPem")
    private @Nullable Output csrPem;

    public Optional> csrPem() {
        return Optional.ofNullable(this.csrPem);
    }

    /**
     * Collection of Custom Field name-value pairs to assign to the certificate.
     * 
     */
    @Import(name="customFields")
    private @Nullable Output> customFields;

    /**
     * @return Collection of Custom Field name-value pairs to assign to the certificate.
     * 
     */
    public Optional>> customFields() {
        return Optional.ofNullable(this.customFields);
    }

    /**
     * ECDSA curve to use when generating a key
     * 
     */
    @Import(name="ecdsaCurve")
    private @Nullable Output ecdsaCurve;

    /**
     * @return ECDSA curve to use when generating a key
     * 
     */
    public Optional> ecdsaCurve() {
        return Optional.ofNullable(this.ecdsaCurve);
    }

    /**
     * Number of hours before certificate expiry to request a new certificate.
     * Defaults to `168`.
     * 
     */
    @Import(name="expirationWindow")
    private @Nullable Output expirationWindow;

    /**
     * @return Number of hours before certificate expiry to request a new certificate.
     * Defaults to `168`.
     * 
     */
    public Optional> expirationWindow() {
        return Optional.ofNullable(this.expirationWindow);
    }

    /**
     * Used with `valid_days` to indicate the target issuer when using Trust Protection
     * Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
     * 
     */
    @Import(name="issuerHint")
    private @Nullable Output issuerHint;

    /**
     * @return Used with `valid_days` to indicate the target issuer when using Trust Protection
     * Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
     * 
     */
    public Optional> issuerHint() {
        return Optional.ofNullable(this.issuerHint);
    }

    /**
     * The password used to encrypt the private key.
     * 
     */
    @Import(name="keyPassword")
    private @Nullable Output keyPassword;

    /**
     * @return The password used to encrypt the private key.
     * 
     */
    public Optional> keyPassword() {
        return Optional.ofNullable(this.keyPassword);
    }

    /**
     * Locality/City of the certificate (L)
     * 
     */
    @Import(name="locality")
    private @Nullable Output locality;

    /**
     * @return Locality/City of the certificate (L)
     * 
     */
    public Optional> locality() {
        return Optional.ofNullable(this.locality);
    }

    /**
     * Use to specify a name for the new certificate object that will be created and placed
     * in a policy. Only valid for Trust Protection Platform.
     * 
     */
    @Import(name="nickname")
    private @Nullable Output nickname;

    /**
     * @return Use to specify a name for the new certificate object that will be created and placed
     * in a policy. Only valid for Trust Protection Platform.
     * 
     */
    public Optional> nickname() {
        return Optional.ofNullable(this.nickname);
    }

    /**
     * Organization of the certificate (O)
     * 
     */
    @Import(name="organization")
    private @Nullable Output organization;

    /**
     * @return Organization of the certificate (O)
     * 
     */
    public Optional> organization() {
        return Optional.ofNullable(this.organization);
    }

    /**
     * List of Organizational Units of the certificate (OU)
     * 
     */
    @Import(name="organizationalUnits")
    private @Nullable Output> organizationalUnits;

    /**
     * @return List of Organizational Units of the certificate (OU)
     * 
     */
    public Optional>> organizationalUnits() {
        return Optional.ofNullable(this.organizationalUnits);
    }

    /**
     * A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
     * azure key_vault_certificate.
     * 
     */
    @Import(name="pkcs12")
    private @Nullable Output pkcs12;

    /**
     * @return A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
     * azure key_vault_certificate.
     * 
     */
    public Optional> pkcs12() {
        return Optional.ofNullable(this.pkcs12);
    }

    /**
     * The private key in PEM format.
     * 
     */
    @Import(name="privateKeyPem")
    private @Nullable Output privateKeyPem;

    /**
     * @return The private key in PEM format.
     * 
     */
    public Optional> privateKeyPem() {
        return Optional.ofNullable(this.privateKeyPem);
    }

    /**
     * Indicates the certificate should be reissued. This means the resource will destroyed and recreated
     * 
     */
    @Import(name="renewRequired")
    private @Nullable Output renewRequired;

    /**
     * @return Indicates the certificate should be reissued. This means the resource will destroyed and recreated
     * 
     */
    public Optional> renewRequired() {
        return Optional.ofNullable(this.renewRequired);
    }

    /**
     * Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
     * Defaults to `2048`.
     * 
     */
    @Import(name="rsaBits")
    private @Nullable Output rsaBits;

    /**
     * @return Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
     * Defaults to `2048`.
     * 
     */
    public Optional> rsaBits() {
        return Optional.ofNullable(this.rsaBits);
    }

    /**
     * List of DNS names to use as alternative subjects of the certificate.
     * 
     */
    @Import(name="sanDns")
    private @Nullable Output> sanDns;

    /**
     * @return List of DNS names to use as alternative subjects of the certificate.
     * 
     */
    public Optional>> sanDns() {
        return Optional.ofNullable(this.sanDns);
    }

    /**
     * List of email addresses to use as alternative subjects of the certificate.
     * 
     */
    @Import(name="sanEmails")
    private @Nullable Output> sanEmails;

    /**
     * @return List of email addresses to use as alternative subjects of the certificate.
     * 
     */
    public Optional>> sanEmails() {
        return Optional.ofNullable(this.sanEmails);
    }

    /**
     * List of IP addresses to use as alternative subjects of the certificate.
     * 
     */
    @Import(name="sanIps")
    private @Nullable Output> sanIps;

    /**
     * @return List of IP addresses to use as alternative subjects of the certificate.
     * 
     */
    public Optional>> sanIps() {
        return Optional.ofNullable(this.sanIps);
    }

    /**
     * List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
     * the certificate.
     * 
     */
    @Import(name="sanUris")
    private @Nullable Output> sanUris;

    /**
     * @return List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
     * the certificate.
     * 
     */
    public Optional>> sanUris() {
        return Optional.ofNullable(this.sanUris);
    }

    /**
     * State of the certificate (S)
     * 
     */
    @Import(name="state")
    private @Nullable Output state;

    /**
     * @return State of the certificate (S)
     * 
     */
    public Optional> state() {
        return Optional.ofNullable(this.state);
    }

    /**
     * Desired number of days for which the new certificate will be valid.
     * 
     */
    @Import(name="validDays")
    private @Nullable Output validDays;

    /**
     * @return Desired number of days for which the new certificate will be valid.
     * 
     */
    public Optional> validDays() {
        return Optional.ofNullable(this.validDays);
    }

    private CertificateState() {}

    private CertificateState(CertificateState $) {
        this.algorithm = $.algorithm;
        this.certificate = $.certificate;
        this.certificateDn = $.certificateDn;
        this.certificateId = $.certificateId;
        this.chain = $.chain;
        this.commonName = $.commonName;
        this.country = $.country;
        this.csrOrigin = $.csrOrigin;
        this.csrPem = $.csrPem;
        this.customFields = $.customFields;
        this.ecdsaCurve = $.ecdsaCurve;
        this.expirationWindow = $.expirationWindow;
        this.issuerHint = $.issuerHint;
        this.keyPassword = $.keyPassword;
        this.locality = $.locality;
        this.nickname = $.nickname;
        this.organization = $.organization;
        this.organizationalUnits = $.organizationalUnits;
        this.pkcs12 = $.pkcs12;
        this.privateKeyPem = $.privateKeyPem;
        this.renewRequired = $.renewRequired;
        this.rsaBits = $.rsaBits;
        this.sanDns = $.sanDns;
        this.sanEmails = $.sanEmails;
        this.sanIps = $.sanIps;
        this.sanUris = $.sanUris;
        this.state = $.state;
        this.validDays = $.validDays;
    }

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

    public static final class Builder {
        private CertificateState $;

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

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

        /**
         * @param algorithm Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
         * 
         * @return builder
         * 
         */
        public Builder algorithm(@Nullable Output algorithm) {
            $.algorithm = algorithm;
            return this;
        }

        /**
         * @param algorithm Key encryption algorithm, either RSA or ECDSA. Defaults to `RSA`.
         * 
         * @return builder
         * 
         */
        public Builder algorithm(String algorithm) {
            return algorithm(Output.of(algorithm));
        }

        /**
         * @param certificate The X509 certificate in PEM format.
         * 
         * @return builder
         * 
         */
        public Builder certificate(@Nullable Output certificate) {
            $.certificate = certificate;
            return this;
        }

        /**
         * @param certificate The X509 certificate in PEM format.
         * 
         * @return builder
         * 
         */
        public Builder certificate(String certificate) {
            return certificate(Output.of(certificate));
        }

        public Builder certificateDn(@Nullable Output certificateDn) {
            $.certificateDn = certificateDn;
            return this;
        }

        public Builder certificateDn(String certificateDn) {
            return certificateDn(Output.of(certificateDn));
        }

        /**
         * @param certificateId ID of the issued certificate
         * 
         * @return builder
         * 
         */
        public Builder certificateId(@Nullable Output certificateId) {
            $.certificateId = certificateId;
            return this;
        }

        /**
         * @param certificateId ID of the issued certificate
         * 
         * @return builder
         * 
         */
        public Builder certificateId(String certificateId) {
            return certificateId(Output.of(certificateId));
        }

        /**
         * @param chain The trust chain of X509 certificate authority certificates in PEM format concatenated together.
         * 
         * @return builder
         * 
         */
        public Builder chain(@Nullable Output chain) {
            $.chain = chain;
            return this;
        }

        /**
         * @param chain The trust chain of X509 certificate authority certificates in PEM format concatenated together.
         * 
         * @return builder
         * 
         */
        public Builder chain(String chain) {
            return chain(Output.of(chain));
        }

        /**
         * @param commonName The common name of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder commonName(@Nullable Output commonName) {
            $.commonName = commonName;
            return this;
        }

        /**
         * @param commonName The common name of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder commonName(String commonName) {
            return commonName(Output.of(commonName));
        }

        /**
         * @param country Country of the certificate (C)
         * 
         * @return builder
         * 
         */
        public Builder country(@Nullable Output country) {
            $.country = country;
            return this;
        }

        /**
         * @param country Country of the certificate (C)
         * 
         * @return builder
         * 
         */
        public Builder country(String country) {
            return country(Output.of(country));
        }

        /**
         * @param csrOrigin Whether key-pair generation will be `local` or `service` generated. Default is
         * `local`.
         * 
         * @return builder
         * 
         */
        public Builder csrOrigin(@Nullable Output csrOrigin) {
            $.csrOrigin = csrOrigin;
            return this;
        }

        /**
         * @param csrOrigin Whether key-pair generation will be `local` or `service` generated. Default is
         * `local`.
         * 
         * @return builder
         * 
         */
        public Builder csrOrigin(String csrOrigin) {
            return csrOrigin(Output.of(csrOrigin));
        }

        public Builder csrPem(@Nullable Output csrPem) {
            $.csrPem = csrPem;
            return this;
        }

        public Builder csrPem(String csrPem) {
            return csrPem(Output.of(csrPem));
        }

        /**
         * @param customFields Collection of Custom Field name-value pairs to assign to the certificate.
         * 
         * @return builder
         * 
         */
        public Builder customFields(@Nullable Output> customFields) {
            $.customFields = customFields;
            return this;
        }

        /**
         * @param customFields Collection of Custom Field name-value pairs to assign to the certificate.
         * 
         * @return builder
         * 
         */
        public Builder customFields(Map customFields) {
            return customFields(Output.of(customFields));
        }

        /**
         * @param ecdsaCurve ECDSA curve to use when generating a key
         * 
         * @return builder
         * 
         */
        public Builder ecdsaCurve(@Nullable Output ecdsaCurve) {
            $.ecdsaCurve = ecdsaCurve;
            return this;
        }

        /**
         * @param ecdsaCurve ECDSA curve to use when generating a key
         * 
         * @return builder
         * 
         */
        public Builder ecdsaCurve(String ecdsaCurve) {
            return ecdsaCurve(Output.of(ecdsaCurve));
        }

        /**
         * @param expirationWindow Number of hours before certificate expiry to request a new certificate.
         * Defaults to `168`.
         * 
         * @return builder
         * 
         */
        public Builder expirationWindow(@Nullable Output expirationWindow) {
            $.expirationWindow = expirationWindow;
            return this;
        }

        /**
         * @param expirationWindow Number of hours before certificate expiry to request a new certificate.
         * Defaults to `168`.
         * 
         * @return builder
         * 
         */
        public Builder expirationWindow(Integer expirationWindow) {
            return expirationWindow(Output.of(expirationWindow));
        }

        /**
         * @param issuerHint Used with `valid_days` to indicate the target issuer when using Trust Protection
         * Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
         * 
         * @return builder
         * 
         */
        public Builder issuerHint(@Nullable Output issuerHint) {
            $.issuerHint = issuerHint;
            return this;
        }

        /**
         * @param issuerHint Used with `valid_days` to indicate the target issuer when using Trust Protection
         * Platform. Relevant values are: `DigiCert`, `Entrust`, and `Microsoft`.
         * 
         * @return builder
         * 
         */
        public Builder issuerHint(String issuerHint) {
            return issuerHint(Output.of(issuerHint));
        }

        /**
         * @param keyPassword The password used to encrypt the private key.
         * 
         * @return builder
         * 
         */
        public Builder keyPassword(@Nullable Output keyPassword) {
            $.keyPassword = keyPassword;
            return this;
        }

        /**
         * @param keyPassword The password used to encrypt the private key.
         * 
         * @return builder
         * 
         */
        public Builder keyPassword(String keyPassword) {
            return keyPassword(Output.of(keyPassword));
        }

        /**
         * @param locality Locality/City of the certificate (L)
         * 
         * @return builder
         * 
         */
        public Builder locality(@Nullable Output locality) {
            $.locality = locality;
            return this;
        }

        /**
         * @param locality Locality/City of the certificate (L)
         * 
         * @return builder
         * 
         */
        public Builder locality(String locality) {
            return locality(Output.of(locality));
        }

        /**
         * @param nickname Use to specify a name for the new certificate object that will be created and placed
         * in a policy. Only valid for Trust Protection Platform.
         * 
         * @return builder
         * 
         */
        public Builder nickname(@Nullable Output nickname) {
            $.nickname = nickname;
            return this;
        }

        /**
         * @param nickname Use to specify a name for the new certificate object that will be created and placed
         * in a policy. Only valid for Trust Protection Platform.
         * 
         * @return builder
         * 
         */
        public Builder nickname(String nickname) {
            return nickname(Output.of(nickname));
        }

        /**
         * @param organization Organization of the certificate (O)
         * 
         * @return builder
         * 
         */
        public Builder organization(@Nullable Output organization) {
            $.organization = organization;
            return this;
        }

        /**
         * @param organization Organization of the certificate (O)
         * 
         * @return builder
         * 
         */
        public Builder organization(String organization) {
            return organization(Output.of(organization));
        }

        /**
         * @param organizationalUnits List of Organizational Units of the certificate (OU)
         * 
         * @return builder
         * 
         */
        public Builder organizationalUnits(@Nullable Output> organizationalUnits) {
            $.organizationalUnits = organizationalUnits;
            return this;
        }

        /**
         * @param organizationalUnits List of Organizational Units of the certificate (OU)
         * 
         * @return builder
         * 
         */
        public Builder organizationalUnits(List organizationalUnits) {
            return organizationalUnits(Output.of(organizationalUnits));
        }

        /**
         * @param organizationalUnits List of Organizational Units of the certificate (OU)
         * 
         * @return builder
         * 
         */
        public Builder organizationalUnits(String... organizationalUnits) {
            return organizationalUnits(List.of(organizationalUnits));
        }

        /**
         * @param pkcs12 A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
         * azure key_vault_certificate.
         * 
         * @return builder
         * 
         */
        public Builder pkcs12(@Nullable Output pkcs12) {
            $.pkcs12 = pkcs12;
            return this;
        }

        /**
         * @param pkcs12 A base64-encoded PKCS#12 keystore secured by the `key_password`. Useful when working with resources like
         * azure key_vault_certificate.
         * 
         * @return builder
         * 
         */
        public Builder pkcs12(String pkcs12) {
            return pkcs12(Output.of(pkcs12));
        }

        /**
         * @param privateKeyPem The private key in PEM format.
         * 
         * @return builder
         * 
         */
        public Builder privateKeyPem(@Nullable Output privateKeyPem) {
            $.privateKeyPem = privateKeyPem;
            return this;
        }

        /**
         * @param privateKeyPem The private key in PEM format.
         * 
         * @return builder
         * 
         */
        public Builder privateKeyPem(String privateKeyPem) {
            return privateKeyPem(Output.of(privateKeyPem));
        }

        /**
         * @param renewRequired Indicates the certificate should be reissued. This means the resource will destroyed and recreated
         * 
         * @return builder
         * 
         */
        public Builder renewRequired(@Nullable Output renewRequired) {
            $.renewRequired = renewRequired;
            return this;
        }

        /**
         * @param renewRequired Indicates the certificate should be reissued. This means the resource will destroyed and recreated
         * 
         * @return builder
         * 
         */
        public Builder renewRequired(Boolean renewRequired) {
            return renewRequired(Output.of(renewRequired));
        }

        /**
         * @param rsaBits Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
         * Defaults to `2048`.
         * 
         * @return builder
         * 
         */
        public Builder rsaBits(@Nullable Output rsaBits) {
            $.rsaBits = rsaBits;
            return this;
        }

        /**
         * @param rsaBits Number of bits to use when generating an RSA key. Applies when algorithm is `RSA`.
         * Defaults to `2048`.
         * 
         * @return builder
         * 
         */
        public Builder rsaBits(Integer rsaBits) {
            return rsaBits(Output.of(rsaBits));
        }

        /**
         * @param sanDns List of DNS names to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanDns(@Nullable Output> sanDns) {
            $.sanDns = sanDns;
            return this;
        }

        /**
         * @param sanDns List of DNS names to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanDns(List sanDns) {
            return sanDns(Output.of(sanDns));
        }

        /**
         * @param sanDns List of DNS names to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanDns(String... sanDns) {
            return sanDns(List.of(sanDns));
        }

        /**
         * @param sanEmails List of email addresses to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanEmails(@Nullable Output> sanEmails) {
            $.sanEmails = sanEmails;
            return this;
        }

        /**
         * @param sanEmails List of email addresses to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanEmails(List sanEmails) {
            return sanEmails(Output.of(sanEmails));
        }

        /**
         * @param sanEmails List of email addresses to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanEmails(String... sanEmails) {
            return sanEmails(List.of(sanEmails));
        }

        /**
         * @param sanIps List of IP addresses to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanIps(@Nullable Output> sanIps) {
            $.sanIps = sanIps;
            return this;
        }

        /**
         * @param sanIps List of IP addresses to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanIps(List sanIps) {
            return sanIps(Output.of(sanIps));
        }

        /**
         * @param sanIps List of IP addresses to use as alternative subjects of the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanIps(String... sanIps) {
            return sanIps(List.of(sanIps));
        }

        /**
         * @param sanUris List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
         * the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanUris(@Nullable Output> sanUris) {
            $.sanUris = sanUris;
            return this;
        }

        /**
         * @param sanUris List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
         * the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanUris(List sanUris) {
            return sanUris(Output.of(sanUris));
        }

        /**
         * @param sanUris List of Uniform Resource Identifiers (URIs) to use as alternative subjects of
         * the certificate.
         * 
         * @return builder
         * 
         */
        public Builder sanUris(String... sanUris) {
            return sanUris(List.of(sanUris));
        }

        /**
         * @param state State of the certificate (S)
         * 
         * @return builder
         * 
         */
        public Builder state(@Nullable Output state) {
            $.state = state;
            return this;
        }

        /**
         * @param state State of the certificate (S)
         * 
         * @return builder
         * 
         */
        public Builder state(String state) {
            return state(Output.of(state));
        }

        /**
         * @param validDays Desired number of days for which the new certificate will be valid.
         * 
         * @return builder
         * 
         */
        public Builder validDays(@Nullable Output validDays) {
            $.validDays = validDays;
            return this;
        }

        /**
         * @param validDays Desired number of days for which the new certificate will be valid.
         * 
         * @return builder
         * 
         */
        public Builder validDays(Integer validDays) {
            return validDays(Output.of(validDays));
        }

        public CertificateState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy