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

com.pulumi.aws.cloudfront.inputs.DistributionViewerCertificateArgs 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.cloudfront.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DistributionViewerCertificateArgs Empty = new DistributionViewerCertificateArgs();

    /**
     * ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`.  The ACM certificate must be in  US-EAST-1.
     * 
     */
    @Import(name="acmCertificateArn")
    private @Nullable Output acmCertificateArn;

    /**
     * @return ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`.  The ACM certificate must be in  US-EAST-1.
     * 
     */
    public Optional> acmCertificateArn() {
        return Optional.ofNullable(this.acmCertificateArn);
    }

    /**
     * `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
     * 
     */
    @Import(name="cloudfrontDefaultCertificate")
    private @Nullable Output cloudfrontDefaultCertificate;

    /**
     * @return `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
     * 
     */
    public Optional> cloudfrontDefaultCertificate() {
        return Optional.ofNullable(this.cloudfrontDefaultCertificate);
    }

    /**
     * IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
     * 
     */
    @Import(name="iamCertificateId")
    private @Nullable Output iamCertificateId;

    /**
     * @return IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
     * 
     */
    public Optional> iamCertificateId() {
        return Optional.ofNullable(this.iamCertificateId);
    }

    /**
     * Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
     * 
     */
    @Import(name="minimumProtocolVersion")
    private @Nullable Output minimumProtocolVersion;

    /**
     * @return Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
     * 
     */
    public Optional> minimumProtocolVersion() {
        return Optional.ofNullable(this.minimumProtocolVersion);
    }

    /**
     * How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
     * 
     */
    @Import(name="sslSupportMethod")
    private @Nullable Output sslSupportMethod;

    /**
     * @return How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
     * 
     */
    public Optional> sslSupportMethod() {
        return Optional.ofNullable(this.sslSupportMethod);
    }

    private DistributionViewerCertificateArgs() {}

    private DistributionViewerCertificateArgs(DistributionViewerCertificateArgs $) {
        this.acmCertificateArn = $.acmCertificateArn;
        this.cloudfrontDefaultCertificate = $.cloudfrontDefaultCertificate;
        this.iamCertificateId = $.iamCertificateId;
        this.minimumProtocolVersion = $.minimumProtocolVersion;
        this.sslSupportMethod = $.sslSupportMethod;
    }

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

    public static final class Builder {
        private DistributionViewerCertificateArgs $;

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

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

        /**
         * @param acmCertificateArn ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`.  The ACM certificate must be in  US-EAST-1.
         * 
         * @return builder
         * 
         */
        public Builder acmCertificateArn(@Nullable Output acmCertificateArn) {
            $.acmCertificateArn = acmCertificateArn;
            return this;
        }

        /**
         * @param acmCertificateArn ARN of the [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) certificate that you wish to use with this distribution. Specify this, `cloudfront_default_certificate`, or `iam_certificate_id`.  The ACM certificate must be in  US-EAST-1.
         * 
         * @return builder
         * 
         */
        public Builder acmCertificateArn(String acmCertificateArn) {
            return acmCertificateArn(Output.of(acmCertificateArn));
        }

        /**
         * @param cloudfrontDefaultCertificate `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
         * 
         * @return builder
         * 
         */
        public Builder cloudfrontDefaultCertificate(@Nullable Output cloudfrontDefaultCertificate) {
            $.cloudfrontDefaultCertificate = cloudfrontDefaultCertificate;
            return this;
        }

        /**
         * @param cloudfrontDefaultCertificate `true` if you want viewers to use HTTPS to request your objects and you're using the CloudFront domain name for your distribution. Specify this, `acm_certificate_arn`, or `iam_certificate_id`.
         * 
         * @return builder
         * 
         */
        public Builder cloudfrontDefaultCertificate(Boolean cloudfrontDefaultCertificate) {
            return cloudfrontDefaultCertificate(Output.of(cloudfrontDefaultCertificate));
        }

        /**
         * @param iamCertificateId IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
         * 
         * @return builder
         * 
         */
        public Builder iamCertificateId(@Nullable Output iamCertificateId) {
            $.iamCertificateId = iamCertificateId;
            return this;
        }

        /**
         * @param iamCertificateId IAM certificate identifier of the custom viewer certificate for this distribution if you are using a custom domain. Specify this, `acm_certificate_arn`, or `cloudfront_default_certificate`.
         * 
         * @return builder
         * 
         */
        public Builder iamCertificateId(String iamCertificateId) {
            return iamCertificateId(Output.of(iamCertificateId));
        }

        /**
         * @param minimumProtocolVersion Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
         * 
         * @return builder
         * 
         */
        public Builder minimumProtocolVersion(@Nullable Output minimumProtocolVersion) {
            $.minimumProtocolVersion = minimumProtocolVersion;
            return this;
        }

        /**
         * @param minimumProtocolVersion Minimum version of the SSL protocol that you want CloudFront to use for HTTPS connections. Can only be set if `cloudfront_default_certificate = false`. See all possible values in [this](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html) table under "Security policy." Some examples include: `TLSv1.2_2019` and `TLSv1.2_2021`. Default: `TLSv1`. **NOTE**: If you are using a custom certificate (specified with `acm_certificate_arn` or `iam_certificate_id`), and have specified `sni-only` in `ssl_support_method`, `TLSv1` or later must be specified. If you have specified `vip` in `ssl_support_method`, only `SSLv3` or `TLSv1` can be specified. If you have specified `cloudfront_default_certificate`, `TLSv1` must be specified.
         * 
         * @return builder
         * 
         */
        public Builder minimumProtocolVersion(String minimumProtocolVersion) {
            return minimumProtocolVersion(Output.of(minimumProtocolVersion));
        }

        /**
         * @param sslSupportMethod How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
         * 
         * @return builder
         * 
         */
        public Builder sslSupportMethod(@Nullable Output sslSupportMethod) {
            $.sslSupportMethod = sslSupportMethod;
            return this;
        }

        /**
         * @param sslSupportMethod How you want CloudFront to serve HTTPS requests. One of `vip`, `sni-only`, or `static-ip`. Required if you specify `acm_certificate_arn` or `iam_certificate_id`. **NOTE:** `vip` causes CloudFront to use a dedicated IP address and may incur extra charges.
         * 
         * @return builder
         * 
         */
        public Builder sslSupportMethod(String sslSupportMethod) {
            return sslSupportMethod(Output.of(sslSupportMethod));
        }

        public DistributionViewerCertificateArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy