shiver.me.timbers.aws.ec2.LaunchTemplateNetworkInterface Maven / Gradle / Ivy
Show all versions of smt-cloudformation-objects Show documentation
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;
/**
* LaunchTemplateNetworkInterface
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"Description",
"PrivateIpAddress",
"PrivateIpAddresses",
"SecondaryPrivateIpAddressCount",
"DeviceIndex",
"SubnetId",
"Ipv6Addresses",
"AssociatePublicIpAddress",
"NetworkInterfaceId",
"InterfaceType",
"Ipv6AddressCount",
"Groups",
"DeleteOnTermination"
})
public class LaunchTemplateNetworkInterface implements Property
{
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description
*
*/
@JsonProperty("Description")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description")
private CharSequence description;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress
*
*/
@JsonProperty("PrivateIpAddress")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress")
private CharSequence privateIpAddress;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses
*
*/
@JsonProperty("PrivateIpAddresses")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses")
private List> privateIpAddresses = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount
*
*/
@JsonProperty("SecondaryPrivateIpAddressCount")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount")
private Number secondaryPrivateIpAddressCount;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex
*
*/
@JsonProperty("DeviceIndex")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex")
private Number deviceIndex;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid
*
*/
@JsonProperty("SubnetId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid")
private CharSequence subnetId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses
*
*/
@JsonProperty("Ipv6Addresses")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses")
private List> ipv6Addresses = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress
*
*/
@JsonProperty("AssociatePublicIpAddress")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress")
private CharSequence associatePublicIpAddress;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid
*
*/
@JsonProperty("NetworkInterfaceId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid")
private CharSequence networkInterfaceId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype
*
*/
@JsonProperty("InterfaceType")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype")
private CharSequence interfaceType;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount
*
*/
@JsonProperty("Ipv6AddressCount")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount")
private Number ipv6AddressCount;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups
*
*/
@JsonProperty("Groups")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups")
private List groups = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination
*
*/
@JsonProperty("DeleteOnTermination")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination")
private CharSequence deleteOnTermination;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description
*
*/
@JsonIgnore
public CharSequence getDescription() {
return description;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description
*
*/
@JsonIgnore
public void setDescription(CharSequence description) {
this.description = description;
}
public LaunchTemplateNetworkInterface withDescription(CharSequence description) {
this.description = description;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress
*
*/
@JsonIgnore
public CharSequence getPrivateIpAddress() {
return privateIpAddress;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress
*
*/
@JsonIgnore
public void setPrivateIpAddress(CharSequence privateIpAddress) {
this.privateIpAddress = privateIpAddress;
}
public LaunchTemplateNetworkInterface withPrivateIpAddress(CharSequence privateIpAddress) {
this.privateIpAddress = privateIpAddress;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses
*
*/
@JsonIgnore
public List> getPrivateIpAddresses() {
return privateIpAddresses;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses
*
*/
@JsonIgnore
public void setPrivateIpAddresses(List> privateIpAddresses) {
this.privateIpAddresses = privateIpAddresses;
}
public LaunchTemplateNetworkInterface withPrivateIpAddresses(List> privateIpAddresses) {
this.privateIpAddresses = privateIpAddresses;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount
*
*/
@JsonIgnore
public Number getSecondaryPrivateIpAddressCount() {
return secondaryPrivateIpAddressCount;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount
*
*/
@JsonIgnore
public void setSecondaryPrivateIpAddressCount(Number secondaryPrivateIpAddressCount) {
this.secondaryPrivateIpAddressCount = secondaryPrivateIpAddressCount;
}
public LaunchTemplateNetworkInterface withSecondaryPrivateIpAddressCount(Number secondaryPrivateIpAddressCount) {
this.secondaryPrivateIpAddressCount = secondaryPrivateIpAddressCount;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex
*
*/
@JsonIgnore
public Number getDeviceIndex() {
return deviceIndex;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex
*
*/
@JsonIgnore
public void setDeviceIndex(Number deviceIndex) {
this.deviceIndex = deviceIndex;
}
public LaunchTemplateNetworkInterface withDeviceIndex(Number deviceIndex) {
this.deviceIndex = deviceIndex;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid
*
*/
@JsonIgnore
public CharSequence getSubnetId() {
return subnetId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid
*
*/
@JsonIgnore
public void setSubnetId(CharSequence subnetId) {
this.subnetId = subnetId;
}
public LaunchTemplateNetworkInterface withSubnetId(CharSequence subnetId) {
this.subnetId = subnetId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses
*
*/
@JsonIgnore
public List> getIpv6Addresses() {
return ipv6Addresses;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses
*
*/
@JsonIgnore
public void setIpv6Addresses(List> ipv6Addresses) {
this.ipv6Addresses = ipv6Addresses;
}
public LaunchTemplateNetworkInterface withIpv6Addresses(List> ipv6Addresses) {
this.ipv6Addresses = ipv6Addresses;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress
*
*/
@JsonIgnore
public CharSequence getAssociatePublicIpAddress() {
return associatePublicIpAddress;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress
*
*/
@JsonIgnore
public void setAssociatePublicIpAddress(CharSequence associatePublicIpAddress) {
this.associatePublicIpAddress = associatePublicIpAddress;
}
public LaunchTemplateNetworkInterface withAssociatePublicIpAddress(CharSequence associatePublicIpAddress) {
this.associatePublicIpAddress = associatePublicIpAddress;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid
*
*/
@JsonIgnore
public CharSequence getNetworkInterfaceId() {
return networkInterfaceId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid
*
*/
@JsonIgnore
public void setNetworkInterfaceId(CharSequence networkInterfaceId) {
this.networkInterfaceId = networkInterfaceId;
}
public LaunchTemplateNetworkInterface withNetworkInterfaceId(CharSequence networkInterfaceId) {
this.networkInterfaceId = networkInterfaceId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype
*
*/
@JsonIgnore
public CharSequence getInterfaceType() {
return interfaceType;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype
*
*/
@JsonIgnore
public void setInterfaceType(CharSequence interfaceType) {
this.interfaceType = interfaceType;
}
public LaunchTemplateNetworkInterface withInterfaceType(CharSequence interfaceType) {
this.interfaceType = interfaceType;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount
*
*/
@JsonIgnore
public Number getIpv6AddressCount() {
return ipv6AddressCount;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount
*
*/
@JsonIgnore
public void setIpv6AddressCount(Number ipv6AddressCount) {
this.ipv6AddressCount = ipv6AddressCount;
}
public LaunchTemplateNetworkInterface withIpv6AddressCount(Number ipv6AddressCount) {
this.ipv6AddressCount = ipv6AddressCount;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups
*
*/
@JsonIgnore
public List getGroups() {
return groups;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups
*
*/
@JsonIgnore
public void setGroups(List groups) {
this.groups = groups;
}
public LaunchTemplateNetworkInterface withGroups(List groups) {
this.groups = groups;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination
*
*/
@JsonIgnore
public CharSequence getDeleteOnTermination() {
return deleteOnTermination;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination
*
*/
@JsonIgnore
public void setDeleteOnTermination(CharSequence deleteOnTermination) {
this.deleteOnTermination = deleteOnTermination;
}
public LaunchTemplateNetworkInterface withDeleteOnTermination(CharSequence deleteOnTermination) {
this.deleteOnTermination = deleteOnTermination;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("description", description).append("privateIpAddress", privateIpAddress).append("privateIpAddresses", privateIpAddresses).append("secondaryPrivateIpAddressCount", secondaryPrivateIpAddressCount).append("deviceIndex", deviceIndex).append("subnetId", subnetId).append("ipv6Addresses", ipv6Addresses).append("associatePublicIpAddress", associatePublicIpAddress).append("networkInterfaceId", networkInterfaceId).append("interfaceType", interfaceType).append("ipv6AddressCount", ipv6AddressCount).append("groups", groups).append("deleteOnTermination", deleteOnTermination).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(privateIpAddresses).append(subnetId).append(networkInterfaceId).append(description).append(groups).append(ipv6Addresses).append(deleteOnTermination).append(deviceIndex).append(privateIpAddress).append(interfaceType).append(ipv6AddressCount).append(associatePublicIpAddress).append(secondaryPrivateIpAddressCount).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof LaunchTemplateNetworkInterface) == false) {
return false;
}
LaunchTemplateNetworkInterface rhs = ((LaunchTemplateNetworkInterface) other);
return new EqualsBuilder().append(privateIpAddresses, rhs.privateIpAddresses).append(subnetId, rhs.subnetId).append(networkInterfaceId, rhs.networkInterfaceId).append(description, rhs.description).append(groups, rhs.groups).append(ipv6Addresses, rhs.ipv6Addresses).append(deleteOnTermination, rhs.deleteOnTermination).append(deviceIndex, rhs.deviceIndex).append(privateIpAddress, rhs.privateIpAddress).append(interfaceType, rhs.interfaceType).append(ipv6AddressCount, rhs.ipv6AddressCount).append(associatePublicIpAddress, rhs.associatePublicIpAddress).append(secondaryPrivateIpAddressCount, rhs.secondaryPrivateIpAddressCount).isEquals();
}
}