
shiver.me.timbers.aws.appmesh.VirtualNodeVirtualNodeSpec Maven / Gradle / Ivy
package shiver.me.timbers.aws.appmesh;
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;
/**
* VirtualNodeVirtualNodeSpec
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"Logging",
"Backends",
"Listeners",
"BackendDefaults",
"ServiceDiscovery"
})
public class VirtualNodeVirtualNodeSpec implements Property
{
/**
* VirtualNodeLogging
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html
*
*/
@JsonProperty("Logging")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html")
private Property logging;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends
*
*/
@JsonProperty("Backends")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends")
private List> backends = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners
*
*/
@JsonProperty("Listeners")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners")
private List> listeners = new ArrayList>();
/**
* VirtualNodeBackendDefaults
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html
*
*/
@JsonProperty("BackendDefaults")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html")
private Property backendDefaults;
/**
* VirtualNodeServiceDiscovery
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html
*
*/
@JsonProperty("ServiceDiscovery")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html")
private Property serviceDiscovery;
/**
* VirtualNodeLogging
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html
*
*/
@JsonIgnore
public Property getLogging() {
return logging;
}
/**
* VirtualNodeLogging
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html
*
*/
@JsonIgnore
public void setLogging(Property logging) {
this.logging = logging;
}
public VirtualNodeVirtualNodeSpec withLogging(Property logging) {
this.logging = logging;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends
*
*/
@JsonIgnore
public List> getBackends() {
return backends;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends
*
*/
@JsonIgnore
public void setBackends(List> backends) {
this.backends = backends;
}
public VirtualNodeVirtualNodeSpec withBackends(List> backends) {
this.backends = backends;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners
*
*/
@JsonIgnore
public List> getListeners() {
return listeners;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners
*
*/
@JsonIgnore
public void setListeners(List> listeners) {
this.listeners = listeners;
}
public VirtualNodeVirtualNodeSpec withListeners(List> listeners) {
this.listeners = listeners;
return this;
}
/**
* VirtualNodeBackendDefaults
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html
*
*/
@JsonIgnore
public Property getBackendDefaults() {
return backendDefaults;
}
/**
* VirtualNodeBackendDefaults
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html
*
*/
@JsonIgnore
public void setBackendDefaults(Property backendDefaults) {
this.backendDefaults = backendDefaults;
}
public VirtualNodeVirtualNodeSpec withBackendDefaults(Property backendDefaults) {
this.backendDefaults = backendDefaults;
return this;
}
/**
* VirtualNodeServiceDiscovery
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html
*
*/
@JsonIgnore
public Property getServiceDiscovery() {
return serviceDiscovery;
}
/**
* VirtualNodeServiceDiscovery
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html
*
*/
@JsonIgnore
public void setServiceDiscovery(Property serviceDiscovery) {
this.serviceDiscovery = serviceDiscovery;
}
public VirtualNodeVirtualNodeSpec withServiceDiscovery(Property serviceDiscovery) {
this.serviceDiscovery = serviceDiscovery;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("logging", logging).append("backends", backends).append("listeners", listeners).append("backendDefaults", backendDefaults).append("serviceDiscovery", serviceDiscovery).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(logging).append(serviceDiscovery).append(listeners).append(backends).append(backendDefaults).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof VirtualNodeVirtualNodeSpec) == false) {
return false;
}
VirtualNodeVirtualNodeSpec rhs = ((VirtualNodeVirtualNodeSpec) other);
return new EqualsBuilder().append(logging, rhs.logging).append(serviceDiscovery, rhs.serviceDiscovery).append(listeners, rhs.listeners).append(backends, rhs.backends).append(backendDefaults, rhs.backendDefaults).isEquals();
}
}