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

import com.pulumi.core.annotations.CustomType;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class GetFrontdoorSecretSecretCustomerCertificate {
    /**
     * @return The key vault certificate expiration date.
     * 
     */
    private String expirationDate;
    /**
     * @return The key vault certificate ID.
     * 
     */
    private String keyVaultCertificateId;
    /**
     * @return One or more `subject alternative names` contained within the key vault certificate.
     * 
     */
    private List<String> subjectAlternativeNames;

    private GetFrontdoorSecretSecretCustomerCertificate() {}
    /**
     * @return The key vault certificate expiration date.
     * 
     */
    public String expirationDate() {
        return this.expirationDate;
    }
    /**
     * @return The key vault certificate ID.
     * 
     */
    public String keyVaultCertificateId() {
        return this.keyVaultCertificateId;
    }
    /**
     * @return One or more `subject alternative names` contained within the key vault certificate.
     * 
     */
    public List<String> subjectAlternativeNames() {
        return this.subjectAlternativeNames;
    }

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

    public static Builder builder(GetFrontdoorSecretSecretCustomerCertificate defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String expirationDate;
        private String keyVaultCertificateId;
        private List<String> subjectAlternativeNames;
        public Builder() {}
        public Builder(GetFrontdoorSecretSecretCustomerCertificate defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.expirationDate = defaults.expirationDate;
    	      this.keyVaultCertificateId = defaults.keyVaultCertificateId;
    	      this.subjectAlternativeNames = defaults.subjectAlternativeNames;
        }

        @CustomType.Setter
        public Builder expirationDate(String expirationDate) {
            this.expirationDate = Objects.requireNonNull(expirationDate);
            return this;
        }
        @CustomType.Setter
        public Builder keyVaultCertificateId(String keyVaultCertificateId) {
            this.keyVaultCertificateId = Objects.requireNonNull(keyVaultCertificateId);
            return this;
        }
        @CustomType.Setter
        public Builder subjectAlternativeNames(List<String> subjectAlternativeNames) {
            this.subjectAlternativeNames = Objects.requireNonNull(subjectAlternativeNames);
            return this;
        }
        public Builder subjectAlternativeNames(String... subjectAlternativeNames) {
            return subjectAlternativeNames(List.of(subjectAlternativeNames));
        }
        public GetFrontdoorSecretSecretCustomerCertificate build() {
            final var o = new GetFrontdoorSecretSecretCustomerCertificate();
            o.expirationDate = expirationDate;
            o.keyVaultCertificateId = keyVaultCertificateId;
            o.subjectAlternativeNames = subjectAlternativeNames;
            return o;
        }
    }
}
