Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
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 $;
}
}
}