
com.pulumi.aws.cloudfront.outputs.DistributionOriginCustomOriginConfig 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.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class DistributionOriginCustomOriginConfig {
/**
* @return HTTP port the custom origin listens on.
*
*/
private Integer httpPort;
/**
* @return HTTPS port the custom origin listens on.
*
*/
private Integer httpsPort;
/**
* @return The Custom KeepAlive timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `5`.
*
*/
private @Nullable Integer originKeepaliveTimeout;
/**
* @return Origin protocol policy to apply to your origin. One of `http-only`, `https-only`, or `match-viewer`.
*
*/
private String originProtocolPolicy;
/**
* @return The Custom Read timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `30`.
*
*/
private @Nullable Integer originReadTimeout;
/**
* @return List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: `SSLv3`, `TLSv1`, `TLSv1.1`, `TLSv1.2`. For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the Amazon CloudFront Developer Guide.
*
*/
private List originSslProtocols;
private DistributionOriginCustomOriginConfig() {}
/**
* @return HTTP port the custom origin listens on.
*
*/
public Integer httpPort() {
return this.httpPort;
}
/**
* @return HTTPS port the custom origin listens on.
*
*/
public Integer httpsPort() {
return this.httpsPort;
}
/**
* @return The Custom KeepAlive timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `5`.
*
*/
public Optional originKeepaliveTimeout() {
return Optional.ofNullable(this.originKeepaliveTimeout);
}
/**
* @return Origin protocol policy to apply to your origin. One of `http-only`, `https-only`, or `match-viewer`.
*
*/
public String originProtocolPolicy() {
return this.originProtocolPolicy;
}
/**
* @return The Custom Read timeout, in seconds. By default, AWS enforces an upper limit of `60`. But you can request an [increase](http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-request-timeout). Defaults to `30`.
*
*/
public Optional originReadTimeout() {
return Optional.ofNullable(this.originReadTimeout);
}
/**
* @return List of SSL/TLS protocols that CloudFront can use when connecting to your origin over HTTPS. Valid values: `SSLv3`, `TLSv1`, `TLSv1.1`, `TLSv1.2`. For more information, see [Minimum Origin SSL Protocol](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) in the Amazon CloudFront Developer Guide.
*
*/
public List originSslProtocols() {
return this.originSslProtocols;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(DistributionOriginCustomOriginConfig defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private Integer httpPort;
private Integer httpsPort;
private @Nullable Integer originKeepaliveTimeout;
private String originProtocolPolicy;
private @Nullable Integer originReadTimeout;
private List originSslProtocols;
public Builder() {}
public Builder(DistributionOriginCustomOriginConfig defaults) {
Objects.requireNonNull(defaults);
this.httpPort = defaults.httpPort;
this.httpsPort = defaults.httpsPort;
this.originKeepaliveTimeout = defaults.originKeepaliveTimeout;
this.originProtocolPolicy = defaults.originProtocolPolicy;
this.originReadTimeout = defaults.originReadTimeout;
this.originSslProtocols = defaults.originSslProtocols;
}
@CustomType.Setter
public Builder httpPort(Integer httpPort) {
if (httpPort == null) {
throw new MissingRequiredPropertyException("DistributionOriginCustomOriginConfig", "httpPort");
}
this.httpPort = httpPort;
return this;
}
@CustomType.Setter
public Builder httpsPort(Integer httpsPort) {
if (httpsPort == null) {
throw new MissingRequiredPropertyException("DistributionOriginCustomOriginConfig", "httpsPort");
}
this.httpsPort = httpsPort;
return this;
}
@CustomType.Setter
public Builder originKeepaliveTimeout(@Nullable Integer originKeepaliveTimeout) {
this.originKeepaliveTimeout = originKeepaliveTimeout;
return this;
}
@CustomType.Setter
public Builder originProtocolPolicy(String originProtocolPolicy) {
if (originProtocolPolicy == null) {
throw new MissingRequiredPropertyException("DistributionOriginCustomOriginConfig", "originProtocolPolicy");
}
this.originProtocolPolicy = originProtocolPolicy;
return this;
}
@CustomType.Setter
public Builder originReadTimeout(@Nullable Integer originReadTimeout) {
this.originReadTimeout = originReadTimeout;
return this;
}
@CustomType.Setter
public Builder originSslProtocols(List originSslProtocols) {
if (originSslProtocols == null) {
throw new MissingRequiredPropertyException("DistributionOriginCustomOriginConfig", "originSslProtocols");
}
this.originSslProtocols = originSslProtocols;
return this;
}
public Builder originSslProtocols(String... originSslProtocols) {
return originSslProtocols(List.of(originSslProtocols));
}
public DistributionOriginCustomOriginConfig build() {
final var _resultValue = new DistributionOriginCustomOriginConfig();
_resultValue.httpPort = httpPort;
_resultValue.httpsPort = httpsPort;
_resultValue.originKeepaliveTimeout = originKeepaliveTimeout;
_resultValue.originProtocolPolicy = originProtocolPolicy;
_resultValue.originReadTimeout = originReadTimeout;
_resultValue.originSslProtocols = originSslProtocols;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy