
shiver.me.timbers.aws.cloudfront.DistributionOrigin Maven / Gradle / Ivy
package shiver.me.timbers.aws.cloudfront;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import shiver.me.timbers.aws.Property;
/**
* DistributionOrigin
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"ConnectionTimeout",
"OriginCustomHeaders",
"ConnectionAttempts",
"DomainName",
"S3OriginConfig",
"OriginPath",
"Id",
"CustomOriginConfig"
})
public class DistributionOrigin implements Property
{
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectiontimeout
*
*/
@JsonProperty("ConnectionTimeout")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectiontimeout")
private Number connectionTimeout;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-origincustomheaders
*
*/
@JsonProperty("OriginCustomHeaders")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-origincustomheaders")
private List> originCustomHeaders = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectionattempts
*
*/
@JsonProperty("ConnectionAttempts")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectionattempts")
private Number connectionAttempts;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-domainname
*
*/
@JsonProperty("DomainName")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-domainname")
private CharSequence domainName;
/**
* DistributionS3OriginConfig
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html
*
*/
@JsonProperty("S3OriginConfig")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html")
private Property s3OriginConfig;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath
*
*/
@JsonProperty("OriginPath")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath")
private CharSequence originPath;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-id
*
*/
@JsonProperty("Id")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-id")
private CharSequence id;
/**
* DistributionCustomOriginConfig
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html
*
*/
@JsonProperty("CustomOriginConfig")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html")
private Property customOriginConfig;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectiontimeout
*
*/
@JsonIgnore
public Number getConnectionTimeout() {
return connectionTimeout;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectiontimeout
*
*/
@JsonIgnore
public void setConnectionTimeout(Number connectionTimeout) {
this.connectionTimeout = connectionTimeout;
}
public DistributionOrigin withConnectionTimeout(Number connectionTimeout) {
this.connectionTimeout = connectionTimeout;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-origincustomheaders
*
*/
@JsonIgnore
public List> getOriginCustomHeaders() {
return originCustomHeaders;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-origincustomheaders
*
*/
@JsonIgnore
public void setOriginCustomHeaders(List> originCustomHeaders) {
this.originCustomHeaders = originCustomHeaders;
}
public DistributionOrigin withOriginCustomHeaders(List> originCustomHeaders) {
this.originCustomHeaders = originCustomHeaders;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectionattempts
*
*/
@JsonIgnore
public Number getConnectionAttempts() {
return connectionAttempts;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectionattempts
*
*/
@JsonIgnore
public void setConnectionAttempts(Number connectionAttempts) {
this.connectionAttempts = connectionAttempts;
}
public DistributionOrigin withConnectionAttempts(Number connectionAttempts) {
this.connectionAttempts = connectionAttempts;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-domainname
*
*/
@JsonIgnore
public CharSequence getDomainName() {
return domainName;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-domainname
*
*/
@JsonIgnore
public void setDomainName(CharSequence domainName) {
this.domainName = domainName;
}
public DistributionOrigin withDomainName(CharSequence domainName) {
this.domainName = domainName;
return this;
}
/**
* DistributionS3OriginConfig
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html
*
*/
@JsonIgnore
public Property getS3OriginConfig() {
return s3OriginConfig;
}
/**
* DistributionS3OriginConfig
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html
*
*/
@JsonIgnore
public void setS3OriginConfig(Property s3OriginConfig) {
this.s3OriginConfig = s3OriginConfig;
}
public DistributionOrigin withS3OriginConfig(Property s3OriginConfig) {
this.s3OriginConfig = s3OriginConfig;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath
*
*/
@JsonIgnore
public CharSequence getOriginPath() {
return originPath;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath
*
*/
@JsonIgnore
public void setOriginPath(CharSequence originPath) {
this.originPath = originPath;
}
public DistributionOrigin withOriginPath(CharSequence originPath) {
this.originPath = originPath;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-id
*
*/
@JsonIgnore
public CharSequence getId() {
return id;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-id
*
*/
@JsonIgnore
public void setId(CharSequence id) {
this.id = id;
}
public DistributionOrigin withId(CharSequence id) {
this.id = id;
return this;
}
/**
* DistributionCustomOriginConfig
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html
*
*/
@JsonIgnore
public Property getCustomOriginConfig() {
return customOriginConfig;
}
/**
* DistributionCustomOriginConfig
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html
*
*/
@JsonIgnore
public void setCustomOriginConfig(Property customOriginConfig) {
this.customOriginConfig = customOriginConfig;
}
public DistributionOrigin withCustomOriginConfig(Property customOriginConfig) {
this.customOriginConfig = customOriginConfig;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("connectionTimeout", connectionTimeout).append("originCustomHeaders", originCustomHeaders).append("connectionAttempts", connectionAttempts).append("domainName", domainName).append("s3OriginConfig", s3OriginConfig).append("originPath", originPath).append("id", id).append("customOriginConfig", customOriginConfig).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(s3OriginConfig).append(originPath).append(originCustomHeaders).append(connectionAttempts).append(domainName).append(id).append(customOriginConfig).append(connectionTimeout).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof DistributionOrigin) == false) {
return false;
}
DistributionOrigin rhs = ((DistributionOrigin) other);
return new EqualsBuilder().append(s3OriginConfig, rhs.s3OriginConfig).append(originPath, rhs.originPath).append(originCustomHeaders, rhs.originCustomHeaders).append(connectionAttempts, rhs.connectionAttempts).append(domainName, rhs.domainName).append(id, rhs.id).append(customOriginConfig, rhs.customOriginConfig).append(connectionTimeout, rhs.connectionTimeout).isEquals();
}
}