
shiver.me.timbers.aws.ec2.DHCPOptions Maven / Gradle / Ivy
package shiver.me.timbers.aws.ec2;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
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 com.fasterxml.jackson.databind.annotation.JsonDeserialize;
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;
/**
* DHCPOptions
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"DomainName",
"DomainNameServers",
"NetbiosNameServers",
"NetbiosNodeType",
"NtpServers",
"Tags"
})
public class DHCPOptions {
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainname
*
*/
@JsonProperty("DomainName")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainname")
private CharSequence domainName;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainnameservers
*
*/
@JsonProperty("DomainNameServers")
@JsonDeserialize(as = java.util.LinkedHashSet.class)
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainnameservers")
private Set domainNameServers = new LinkedHashSet();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnameservers
*
*/
@JsonProperty("NetbiosNameServers")
@JsonDeserialize(as = java.util.LinkedHashSet.class)
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnameservers")
private Set netbiosNameServers = new LinkedHashSet();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnodetype
*
*/
@JsonProperty("NetbiosNodeType")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnodetype")
private Number netbiosNodeType;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-ntpservers
*
*/
@JsonProperty("NtpServers")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-ntpservers")
private List ntpServers = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-tags
*
*/
@JsonProperty("Tags")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-tags")
private List> tags = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainname
*
*/
@JsonIgnore
public CharSequence getDomainName() {
return domainName;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainname
*
*/
@JsonIgnore
public void setDomainName(CharSequence domainName) {
this.domainName = domainName;
}
public DHCPOptions withDomainName(CharSequence domainName) {
this.domainName = domainName;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainnameservers
*
*/
@JsonIgnore
public Set getDomainNameServers() {
return domainNameServers;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-domainnameservers
*
*/
@JsonIgnore
public void setDomainNameServers(Set domainNameServers) {
this.domainNameServers = domainNameServers;
}
public DHCPOptions withDomainNameServers(Set domainNameServers) {
this.domainNameServers = domainNameServers;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnameservers
*
*/
@JsonIgnore
public Set getNetbiosNameServers() {
return netbiosNameServers;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnameservers
*
*/
@JsonIgnore
public void setNetbiosNameServers(Set netbiosNameServers) {
this.netbiosNameServers = netbiosNameServers;
}
public DHCPOptions withNetbiosNameServers(Set netbiosNameServers) {
this.netbiosNameServers = netbiosNameServers;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnodetype
*
*/
@JsonIgnore
public Number getNetbiosNodeType() {
return netbiosNodeType;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-netbiosnodetype
*
*/
@JsonIgnore
public void setNetbiosNodeType(Number netbiosNodeType) {
this.netbiosNodeType = netbiosNodeType;
}
public DHCPOptions withNetbiosNodeType(Number netbiosNodeType) {
this.netbiosNodeType = netbiosNodeType;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-ntpservers
*
*/
@JsonIgnore
public List getNtpServers() {
return ntpServers;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-ntpservers
*
*/
@JsonIgnore
public void setNtpServers(List ntpServers) {
this.ntpServers = ntpServers;
}
public DHCPOptions withNtpServers(List ntpServers) {
this.ntpServers = ntpServers;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-tags
*
*/
@JsonIgnore
public List> getTags() {
return tags;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcp-options.html#cfn-ec2-dhcpoptions-tags
*
*/
@JsonIgnore
public void setTags(List> tags) {
this.tags = tags;
}
public DHCPOptions withTags(List> tags) {
this.tags = tags;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("domainName", domainName).append("domainNameServers", domainNameServers).append("netbiosNameServers", netbiosNameServers).append("netbiosNodeType", netbiosNodeType).append("ntpServers", ntpServers).append("tags", tags).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(netbiosNodeType).append(netbiosNameServers).append(ntpServers).append(domainName).append(domainNameServers).append(tags).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof DHCPOptions) == false) {
return false;
}
DHCPOptions rhs = ((DHCPOptions) other);
return new EqualsBuilder().append(netbiosNodeType, rhs.netbiosNodeType).append(netbiosNameServers, rhs.netbiosNameServers).append(ntpServers, rhs.ntpServers).append(domainName, rhs.domainName).append(domainNameServers, rhs.domainNameServers).append(tags, rhs.tags).isEquals();
}
}