shiver.me.timbers.aws.cloudfront.DistributionDefaultCacheBehavior Maven / Gradle / Ivy
Show all versions of smt-cloudformation-objects Show documentation
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;
/**
* DistributionDefaultCacheBehavior
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"Compress",
"LambdaFunctionAssociations",
"TargetOriginId",
"ViewerProtocolPolicy",
"TrustedSigners",
"DefaultTTL",
"FieldLevelEncryptionId",
"AllowedMethods",
"CachedMethods",
"SmoothStreaming",
"ForwardedValues",
"MinTTL",
"MaxTTL"
})
public class DistributionDefaultCacheBehavior implements Property
{
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-compress
*
*/
@JsonProperty("Compress")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-compress")
private CharSequence compress;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-lambdafunctionassociations
*
*/
@JsonProperty("LambdaFunctionAssociations")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-lambdafunctionassociations")
private List> lambdaFunctionAssociations = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid
*
*/
@JsonProperty("TargetOriginId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid")
private CharSequence targetOriginId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-viewerprotocolpolicy
*
*/
@JsonProperty("ViewerProtocolPolicy")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-viewerprotocolpolicy")
private CharSequence viewerProtocolPolicy;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners
*
*/
@JsonProperty("TrustedSigners")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners")
private List trustedSigners = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-defaultttl
*
*/
@JsonProperty("DefaultTTL")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-defaultttl")
private Number defaultTTL;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-fieldlevelencryptionid
*
*/
@JsonProperty("FieldLevelEncryptionId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-fieldlevelencryptionid")
private CharSequence fieldLevelEncryptionId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods
*
*/
@JsonProperty("AllowedMethods")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods")
private List allowedMethods = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods
*
*/
@JsonProperty("CachedMethods")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods")
private List cachedMethods = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming
*
*/
@JsonProperty("SmoothStreaming")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming")
private CharSequence smoothStreaming;
/**
* DistributionForwardedValues
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html
*
*/
@JsonProperty("ForwardedValues")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html")
private Property forwardedValues;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl
*
*/
@JsonProperty("MinTTL")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl")
private Number minTTL;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-maxttl
*
*/
@JsonProperty("MaxTTL")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-maxttl")
private Number maxTTL;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-compress
*
*/
@JsonIgnore
public CharSequence getCompress() {
return compress;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-compress
*
*/
@JsonIgnore
public void setCompress(CharSequence compress) {
this.compress = compress;
}
public DistributionDefaultCacheBehavior withCompress(CharSequence compress) {
this.compress = compress;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-lambdafunctionassociations
*
*/
@JsonIgnore
public List> getLambdaFunctionAssociations() {
return lambdaFunctionAssociations;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-lambdafunctionassociations
*
*/
@JsonIgnore
public void setLambdaFunctionAssociations(List> lambdaFunctionAssociations) {
this.lambdaFunctionAssociations = lambdaFunctionAssociations;
}
public DistributionDefaultCacheBehavior withLambdaFunctionAssociations(List> lambdaFunctionAssociations) {
this.lambdaFunctionAssociations = lambdaFunctionAssociations;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid
*
*/
@JsonIgnore
public CharSequence getTargetOriginId() {
return targetOriginId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid
*
*/
@JsonIgnore
public void setTargetOriginId(CharSequence targetOriginId) {
this.targetOriginId = targetOriginId;
}
public DistributionDefaultCacheBehavior withTargetOriginId(CharSequence targetOriginId) {
this.targetOriginId = targetOriginId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-viewerprotocolpolicy
*
*/
@JsonIgnore
public CharSequence getViewerProtocolPolicy() {
return viewerProtocolPolicy;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-viewerprotocolpolicy
*
*/
@JsonIgnore
public void setViewerProtocolPolicy(CharSequence viewerProtocolPolicy) {
this.viewerProtocolPolicy = viewerProtocolPolicy;
}
public DistributionDefaultCacheBehavior withViewerProtocolPolicy(CharSequence viewerProtocolPolicy) {
this.viewerProtocolPolicy = viewerProtocolPolicy;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners
*
*/
@JsonIgnore
public List getTrustedSigners() {
return trustedSigners;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners
*
*/
@JsonIgnore
public void setTrustedSigners(List trustedSigners) {
this.trustedSigners = trustedSigners;
}
public DistributionDefaultCacheBehavior withTrustedSigners(List trustedSigners) {
this.trustedSigners = trustedSigners;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-defaultttl
*
*/
@JsonIgnore
public Number getDefaultTTL() {
return defaultTTL;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-defaultttl
*
*/
@JsonIgnore
public void setDefaultTTL(Number defaultTTL) {
this.defaultTTL = defaultTTL;
}
public DistributionDefaultCacheBehavior withDefaultTTL(Number defaultTTL) {
this.defaultTTL = defaultTTL;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-fieldlevelencryptionid
*
*/
@JsonIgnore
public CharSequence getFieldLevelEncryptionId() {
return fieldLevelEncryptionId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-fieldlevelencryptionid
*
*/
@JsonIgnore
public void setFieldLevelEncryptionId(CharSequence fieldLevelEncryptionId) {
this.fieldLevelEncryptionId = fieldLevelEncryptionId;
}
public DistributionDefaultCacheBehavior withFieldLevelEncryptionId(CharSequence fieldLevelEncryptionId) {
this.fieldLevelEncryptionId = fieldLevelEncryptionId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods
*
*/
@JsonIgnore
public List getAllowedMethods() {
return allowedMethods;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods
*
*/
@JsonIgnore
public void setAllowedMethods(List allowedMethods) {
this.allowedMethods = allowedMethods;
}
public DistributionDefaultCacheBehavior withAllowedMethods(List allowedMethods) {
this.allowedMethods = allowedMethods;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods
*
*/
@JsonIgnore
public List getCachedMethods() {
return cachedMethods;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods
*
*/
@JsonIgnore
public void setCachedMethods(List cachedMethods) {
this.cachedMethods = cachedMethods;
}
public DistributionDefaultCacheBehavior withCachedMethods(List cachedMethods) {
this.cachedMethods = cachedMethods;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming
*
*/
@JsonIgnore
public CharSequence getSmoothStreaming() {
return smoothStreaming;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming
*
*/
@JsonIgnore
public void setSmoothStreaming(CharSequence smoothStreaming) {
this.smoothStreaming = smoothStreaming;
}
public DistributionDefaultCacheBehavior withSmoothStreaming(CharSequence smoothStreaming) {
this.smoothStreaming = smoothStreaming;
return this;
}
/**
* DistributionForwardedValues
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html
*
*/
@JsonIgnore
public Property getForwardedValues() {
return forwardedValues;
}
/**
* DistributionForwardedValues
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html
*
*/
@JsonIgnore
public void setForwardedValues(Property forwardedValues) {
this.forwardedValues = forwardedValues;
}
public DistributionDefaultCacheBehavior withForwardedValues(Property forwardedValues) {
this.forwardedValues = forwardedValues;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl
*
*/
@JsonIgnore
public Number getMinTTL() {
return minTTL;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl
*
*/
@JsonIgnore
public void setMinTTL(Number minTTL) {
this.minTTL = minTTL;
}
public DistributionDefaultCacheBehavior withMinTTL(Number minTTL) {
this.minTTL = minTTL;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-maxttl
*
*/
@JsonIgnore
public Number getMaxTTL() {
return maxTTL;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-maxttl
*
*/
@JsonIgnore
public void setMaxTTL(Number maxTTL) {
this.maxTTL = maxTTL;
}
public DistributionDefaultCacheBehavior withMaxTTL(Number maxTTL) {
this.maxTTL = maxTTL;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("compress", compress).append("lambdaFunctionAssociations", lambdaFunctionAssociations).append("targetOriginId", targetOriginId).append("viewerProtocolPolicy", viewerProtocolPolicy).append("trustedSigners", trustedSigners).append("defaultTTL", defaultTTL).append("fieldLevelEncryptionId", fieldLevelEncryptionId).append("allowedMethods", allowedMethods).append("cachedMethods", cachedMethods).append("smoothStreaming", smoothStreaming).append("forwardedValues", forwardedValues).append("minTTL", minTTL).append("maxTTL", maxTTL).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(trustedSigners).append(minTTL).append(compress).append(maxTTL).append(viewerProtocolPolicy).append(forwardedValues).append(lambdaFunctionAssociations).append(cachedMethods).append(fieldLevelEncryptionId).append(defaultTTL).append(allowedMethods).append(smoothStreaming).append(targetOriginId).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof DistributionDefaultCacheBehavior) == false) {
return false;
}
DistributionDefaultCacheBehavior rhs = ((DistributionDefaultCacheBehavior) other);
return new EqualsBuilder().append(trustedSigners, rhs.trustedSigners).append(minTTL, rhs.minTTL).append(compress, rhs.compress).append(maxTTL, rhs.maxTTL).append(viewerProtocolPolicy, rhs.viewerProtocolPolicy).append(forwardedValues, rhs.forwardedValues).append(lambdaFunctionAssociations, rhs.lambdaFunctionAssociations).append(cachedMethods, rhs.cachedMethods).append(fieldLevelEncryptionId, rhs.fieldLevelEncryptionId).append(defaultTTL, rhs.defaultTTL).append(allowedMethods, rhs.allowedMethods).append(smoothStreaming, rhs.smoothStreaming).append(targetOriginId, rhs.targetOriginId).isEquals();
}
}