
shiver.me.timbers.aws.ec2.SecurityGroupEgress Maven / Gradle / Ivy
package shiver.me.timbers.aws.ec2;
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;
/**
* SecurityGroupEgress
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"CidrIp",
"CidrIpv6",
"Description",
"DestinationPrefixListId",
"DestinationSecurityGroupId",
"FromPort",
"IpProtocol",
"ToPort"
})
public class SecurityGroupEgress implements Property
{
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidrip
*
*/
@JsonProperty("CidrIp")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidrip")
private CharSequence cidrIp;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6
*
*/
@JsonProperty("CidrIpv6")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6")
private CharSequence cidrIpv6;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description
*
*/
@JsonProperty("Description")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description")
private CharSequence description;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destinationprefixlistid
*
*/
@JsonProperty("DestinationPrefixListId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destinationprefixlistid")
private CharSequence destinationPrefixListId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destsecgroupid
*
*/
@JsonProperty("DestinationSecurityGroupId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destsecgroupid")
private CharSequence destinationSecurityGroupId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-fromport
*
*/
@JsonProperty("FromPort")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-fromport")
private Number fromPort;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-ipprotocol
*
*/
@JsonProperty("IpProtocol")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-ipprotocol")
private CharSequence ipProtocol;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-toport
*
*/
@JsonProperty("ToPort")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-toport")
private Number toPort;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidrip
*
*/
@JsonIgnore
public CharSequence getCidrIp() {
return cidrIp;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidrip
*
*/
@JsonIgnore
public void setCidrIp(CharSequence cidrIp) {
this.cidrIp = cidrIp;
}
public SecurityGroupEgress withCidrIp(CharSequence cidrIp) {
this.cidrIp = cidrIp;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6
*
*/
@JsonIgnore
public CharSequence getCidrIpv6() {
return cidrIpv6;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-cidripv6
*
*/
@JsonIgnore
public void setCidrIpv6(CharSequence cidrIpv6) {
this.cidrIpv6 = cidrIpv6;
}
public SecurityGroupEgress withCidrIpv6(CharSequence cidrIpv6) {
this.cidrIpv6 = cidrIpv6;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description
*
*/
@JsonIgnore
public CharSequence getDescription() {
return description;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-description
*
*/
@JsonIgnore
public void setDescription(CharSequence description) {
this.description = description;
}
public SecurityGroupEgress withDescription(CharSequence description) {
this.description = description;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destinationprefixlistid
*
*/
@JsonIgnore
public CharSequence getDestinationPrefixListId() {
return destinationPrefixListId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destinationprefixlistid
*
*/
@JsonIgnore
public void setDestinationPrefixListId(CharSequence destinationPrefixListId) {
this.destinationPrefixListId = destinationPrefixListId;
}
public SecurityGroupEgress withDestinationPrefixListId(CharSequence destinationPrefixListId) {
this.destinationPrefixListId = destinationPrefixListId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destsecgroupid
*
*/
@JsonIgnore
public CharSequence getDestinationSecurityGroupId() {
return destinationSecurityGroupId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-destsecgroupid
*
*/
@JsonIgnore
public void setDestinationSecurityGroupId(CharSequence destinationSecurityGroupId) {
this.destinationSecurityGroupId = destinationSecurityGroupId;
}
public SecurityGroupEgress withDestinationSecurityGroupId(CharSequence destinationSecurityGroupId) {
this.destinationSecurityGroupId = destinationSecurityGroupId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-fromport
*
*/
@JsonIgnore
public Number getFromPort() {
return fromPort;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-fromport
*
*/
@JsonIgnore
public void setFromPort(Number fromPort) {
this.fromPort = fromPort;
}
public SecurityGroupEgress withFromPort(Number fromPort) {
this.fromPort = fromPort;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-ipprotocol
*
*/
@JsonIgnore
public CharSequence getIpProtocol() {
return ipProtocol;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-ipprotocol
*
*/
@JsonIgnore
public void setIpProtocol(CharSequence ipProtocol) {
this.ipProtocol = ipProtocol;
}
public SecurityGroupEgress withIpProtocol(CharSequence ipProtocol) {
this.ipProtocol = ipProtocol;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-toport
*
*/
@JsonIgnore
public Number getToPort() {
return toPort;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-security-group-rule.html#cfn-ec2-security-group-rule-toport
*
*/
@JsonIgnore
public void setToPort(Number toPort) {
this.toPort = toPort;
}
public SecurityGroupEgress withToPort(Number toPort) {
this.toPort = toPort;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("cidrIp", cidrIp).append("cidrIpv6", cidrIpv6).append("description", description).append("destinationPrefixListId", destinationPrefixListId).append("destinationSecurityGroupId", destinationSecurityGroupId).append("fromPort", fromPort).append("ipProtocol", ipProtocol).append("toPort", toPort).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(destinationPrefixListId).append(fromPort).append(toPort).append(description).append(cidrIpv6).append(ipProtocol).append(destinationSecurityGroupId).append(cidrIp).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof SecurityGroupEgress) == false) {
return false;
}
SecurityGroupEgress rhs = ((SecurityGroupEgress) other);
return new EqualsBuilder().append(destinationPrefixListId, rhs.destinationPrefixListId).append(fromPort, rhs.fromPort).append(toPort, rhs.toPort).append(description, rhs.description).append(cidrIpv6, rhs.cidrIpv6).append(ipProtocol, rhs.ipProtocol).append(destinationSecurityGroupId, rhs.destinationSecurityGroupId).append(cidrIp, rhs.cidrIp).isEquals();
}
}