shiver.me.timbers.aws.ec2.VPC Maven / Gradle / Ivy
package shiver.me.timbers.aws.ec2;
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;
import shiver.me.timbers.aws.Tag;
/**
* VPC
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"CidrBlock",
"EnableDnsHostnames",
"EnableDnsSupport",
"InstanceTenancy",
"Tags"
})
public class VPC {
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-cidrblock
*
*/
@JsonProperty("CidrBlock")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-cidrblock")
private CharSequence cidrBlock;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsHostnames
*
*/
@JsonProperty("EnableDnsHostnames")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsHostnames")
private CharSequence enableDnsHostnames;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsSupport
*
*/
@JsonProperty("EnableDnsSupport")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsSupport")
private CharSequence enableDnsSupport;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-instancetenancy
*
*/
@JsonProperty("InstanceTenancy")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-instancetenancy")
private CharSequence instanceTenancy;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-tags
*
*/
@JsonProperty("Tags")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-tags")
private List> tags = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-cidrblock
*
*/
@JsonIgnore
public CharSequence getCidrBlock() {
return cidrBlock;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-cidrblock
*
*/
@JsonIgnore
public void setCidrBlock(CharSequence cidrBlock) {
this.cidrBlock = cidrBlock;
}
public VPC withCidrBlock(CharSequence cidrBlock) {
this.cidrBlock = cidrBlock;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsHostnames
*
*/
@JsonIgnore
public CharSequence getEnableDnsHostnames() {
return enableDnsHostnames;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsHostnames
*
*/
@JsonIgnore
public void setEnableDnsHostnames(CharSequence enableDnsHostnames) {
this.enableDnsHostnames = enableDnsHostnames;
}
public VPC withEnableDnsHostnames(CharSequence enableDnsHostnames) {
this.enableDnsHostnames = enableDnsHostnames;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsSupport
*
*/
@JsonIgnore
public CharSequence getEnableDnsSupport() {
return enableDnsSupport;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-EnableDnsSupport
*
*/
@JsonIgnore
public void setEnableDnsSupport(CharSequence enableDnsSupport) {
this.enableDnsSupport = enableDnsSupport;
}
public VPC withEnableDnsSupport(CharSequence enableDnsSupport) {
this.enableDnsSupport = enableDnsSupport;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-instancetenancy
*
*/
@JsonIgnore
public CharSequence getInstanceTenancy() {
return instanceTenancy;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-instancetenancy
*
*/
@JsonIgnore
public void setInstanceTenancy(CharSequence instanceTenancy) {
this.instanceTenancy = instanceTenancy;
}
public VPC withInstanceTenancy(CharSequence instanceTenancy) {
this.instanceTenancy = instanceTenancy;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-tags
*
*/
@JsonIgnore
public List> getTags() {
return tags;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-aws-ec2-vpc-tags
*
*/
@JsonIgnore
public void setTags(List> tags) {
this.tags = tags;
}
public VPC withTags(List> tags) {
this.tags = tags;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("cidrBlock", cidrBlock).append("enableDnsHostnames", enableDnsHostnames).append("enableDnsSupport", enableDnsSupport).append("instanceTenancy", instanceTenancy).append("tags", tags).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(instanceTenancy).append(enableDnsHostnames).append(cidrBlock).append(enableDnsSupport).append(tags).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof VPC) == false) {
return false;
}
VPC rhs = ((VPC) other);
return new EqualsBuilder().append(instanceTenancy, rhs.instanceTenancy).append(enableDnsHostnames, rhs.enableDnsHostnames).append(cidrBlock, rhs.cidrBlock).append(enableDnsSupport, rhs.enableDnsSupport).append(tags, rhs.tags).isEquals();
}
}