shiver.me.timbers.aws.ec2.ClientVpnEndpoint 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;
/**
* ClientVpnEndpoint
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"ClientCidrBlock",
"ConnectionLogOptions",
"SplitTunnel",
"Description",
"TagSpecifications",
"AuthenticationOptions",
"ServerCertificateArn",
"DnsServers",
"TransportProtocol"
})
public class ClientVpnEndpoint {
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientcidrblock
*
*/
@JsonProperty("ClientCidrBlock")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientcidrblock")
private CharSequence clientCidrBlock;
/**
* ClientVpnEndpointConnectionLogOptions
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html
*
*/
@JsonProperty("ConnectionLogOptions")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html")
private Property connectionLogOptions;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel
*
*/
@JsonProperty("SplitTunnel")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel")
private CharSequence splitTunnel;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-description
*
*/
@JsonProperty("Description")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-description")
private CharSequence description;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications
*
*/
@JsonProperty("TagSpecifications")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications")
private List> tagSpecifications = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-authenticationoptions
*
*/
@JsonProperty("AuthenticationOptions")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-authenticationoptions")
private List> authenticationOptions = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn
*
*/
@JsonProperty("ServerCertificateArn")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn")
private CharSequence serverCertificateArn;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers
*
*/
@JsonProperty("DnsServers")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers")
private List dnsServers = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol
*
*/
@JsonProperty("TransportProtocol")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol")
private CharSequence transportProtocol;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientcidrblock
*
*/
@JsonIgnore
public CharSequence getClientCidrBlock() {
return clientCidrBlock;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientcidrblock
*
*/
@JsonIgnore
public void setClientCidrBlock(CharSequence clientCidrBlock) {
this.clientCidrBlock = clientCidrBlock;
}
public ClientVpnEndpoint withClientCidrBlock(CharSequence clientCidrBlock) {
this.clientCidrBlock = clientCidrBlock;
return this;
}
/**
* ClientVpnEndpointConnectionLogOptions
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html
*
*/
@JsonIgnore
public Property getConnectionLogOptions() {
return connectionLogOptions;
}
/**
* ClientVpnEndpointConnectionLogOptions
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html
*
*/
@JsonIgnore
public void setConnectionLogOptions(Property connectionLogOptions) {
this.connectionLogOptions = connectionLogOptions;
}
public ClientVpnEndpoint withConnectionLogOptions(Property connectionLogOptions) {
this.connectionLogOptions = connectionLogOptions;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel
*
*/
@JsonIgnore
public CharSequence getSplitTunnel() {
return splitTunnel;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel
*
*/
@JsonIgnore
public void setSplitTunnel(CharSequence splitTunnel) {
this.splitTunnel = splitTunnel;
}
public ClientVpnEndpoint withSplitTunnel(CharSequence splitTunnel) {
this.splitTunnel = splitTunnel;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-description
*
*/
@JsonIgnore
public CharSequence getDescription() {
return description;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-description
*
*/
@JsonIgnore
public void setDescription(CharSequence description) {
this.description = description;
}
public ClientVpnEndpoint withDescription(CharSequence description) {
this.description = description;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications
*
*/
@JsonIgnore
public List> getTagSpecifications() {
return tagSpecifications;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications
*
*/
@JsonIgnore
public void setTagSpecifications(List> tagSpecifications) {
this.tagSpecifications = tagSpecifications;
}
public ClientVpnEndpoint withTagSpecifications(List> tagSpecifications) {
this.tagSpecifications = tagSpecifications;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-authenticationoptions
*
*/
@JsonIgnore
public List> getAuthenticationOptions() {
return authenticationOptions;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-authenticationoptions
*
*/
@JsonIgnore
public void setAuthenticationOptions(List> authenticationOptions) {
this.authenticationOptions = authenticationOptions;
}
public ClientVpnEndpoint withAuthenticationOptions(List> authenticationOptions) {
this.authenticationOptions = authenticationOptions;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn
*
*/
@JsonIgnore
public CharSequence getServerCertificateArn() {
return serverCertificateArn;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn
*
*/
@JsonIgnore
public void setServerCertificateArn(CharSequence serverCertificateArn) {
this.serverCertificateArn = serverCertificateArn;
}
public ClientVpnEndpoint withServerCertificateArn(CharSequence serverCertificateArn) {
this.serverCertificateArn = serverCertificateArn;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers
*
*/
@JsonIgnore
public List getDnsServers() {
return dnsServers;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers
*
*/
@JsonIgnore
public void setDnsServers(List dnsServers) {
this.dnsServers = dnsServers;
}
public ClientVpnEndpoint withDnsServers(List dnsServers) {
this.dnsServers = dnsServers;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol
*
*/
@JsonIgnore
public CharSequence getTransportProtocol() {
return transportProtocol;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol
*
*/
@JsonIgnore
public void setTransportProtocol(CharSequence transportProtocol) {
this.transportProtocol = transportProtocol;
}
public ClientVpnEndpoint withTransportProtocol(CharSequence transportProtocol) {
this.transportProtocol = transportProtocol;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("clientCidrBlock", clientCidrBlock).append("connectionLogOptions", connectionLogOptions).append("splitTunnel", splitTunnel).append("description", description).append("tagSpecifications", tagSpecifications).append("authenticationOptions", authenticationOptions).append("serverCertificateArn", serverCertificateArn).append("dnsServers", dnsServers).append("transportProtocol", transportProtocol).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(tagSpecifications).append(clientCidrBlock).append(serverCertificateArn).append(splitTunnel).append(authenticationOptions).append(transportProtocol).append(description).append(connectionLogOptions).append(dnsServers).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof ClientVpnEndpoint) == false) {
return false;
}
ClientVpnEndpoint rhs = ((ClientVpnEndpoint) other);
return new EqualsBuilder().append(tagSpecifications, rhs.tagSpecifications).append(clientCidrBlock, rhs.clientCidrBlock).append(serverCertificateArn, rhs.serverCertificateArn).append(splitTunnel, rhs.splitTunnel).append(authenticationOptions, rhs.authenticationOptions).append(transportProtocol, rhs.transportProtocol).append(description, rhs.description).append(connectionLogOptions, rhs.connectionLogOptions).append(dnsServers, rhs.dnsServers).isEquals();
}
}