
shiver.me.timbers.aws.glue.TableTableInput Maven / Gradle / Ivy
package shiver.me.timbers.aws.glue;
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;
/**
* TableTableInput
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"Owner",
"ViewOriginalText",
"Description",
"TableType",
"Parameters",
"ViewExpandedText",
"StorageDescriptor",
"PartitionKeys",
"Retention",
"Name"
})
public class TableTableInput implements Property
{
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner
*
*/
@JsonProperty("Owner")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner")
private CharSequence owner;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext
*
*/
@JsonProperty("ViewOriginalText")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext")
private CharSequence viewOriginalText;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-description
*
*/
@JsonProperty("Description")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-description")
private CharSequence description;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype
*
*/
@JsonProperty("TableType")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype")
private CharSequence tableType;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters
*
*/
@JsonProperty("Parameters")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters")
private Object parameters;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext
*
*/
@JsonProperty("ViewExpandedText")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext")
private CharSequence viewExpandedText;
/**
* TableStorageDescriptor
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html
*
*/
@JsonProperty("StorageDescriptor")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html")
private Property storageDescriptor;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-partitionkeys
*
*/
@JsonProperty("PartitionKeys")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-partitionkeys")
private List> partitionKeys = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention
*
*/
@JsonProperty("Retention")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention")
private Number retention;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-name
*
*/
@JsonProperty("Name")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-name")
private CharSequence name;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner
*
*/
@JsonIgnore
public CharSequence getOwner() {
return owner;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-owner
*
*/
@JsonIgnore
public void setOwner(CharSequence owner) {
this.owner = owner;
}
public TableTableInput withOwner(CharSequence owner) {
this.owner = owner;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext
*
*/
@JsonIgnore
public CharSequence getViewOriginalText() {
return viewOriginalText;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-vieworiginaltext
*
*/
@JsonIgnore
public void setViewOriginalText(CharSequence viewOriginalText) {
this.viewOriginalText = viewOriginalText;
}
public TableTableInput withViewOriginalText(CharSequence viewOriginalText) {
this.viewOriginalText = viewOriginalText;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-description
*
*/
@JsonIgnore
public CharSequence getDescription() {
return description;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-description
*
*/
@JsonIgnore
public void setDescription(CharSequence description) {
this.description = description;
}
public TableTableInput withDescription(CharSequence description) {
this.description = description;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype
*
*/
@JsonIgnore
public CharSequence getTableType() {
return tableType;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-tabletype
*
*/
@JsonIgnore
public void setTableType(CharSequence tableType) {
this.tableType = tableType;
}
public TableTableInput withTableType(CharSequence tableType) {
this.tableType = tableType;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters
*
*/
@JsonIgnore
public Object getParameters() {
return parameters;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-parameters
*
*/
@JsonIgnore
public void setParameters(Object parameters) {
this.parameters = parameters;
}
public TableTableInput withParameters(Object parameters) {
this.parameters = parameters;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext
*
*/
@JsonIgnore
public CharSequence getViewExpandedText() {
return viewExpandedText;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-viewexpandedtext
*
*/
@JsonIgnore
public void setViewExpandedText(CharSequence viewExpandedText) {
this.viewExpandedText = viewExpandedText;
}
public TableTableInput withViewExpandedText(CharSequence viewExpandedText) {
this.viewExpandedText = viewExpandedText;
return this;
}
/**
* TableStorageDescriptor
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html
*
*/
@JsonIgnore
public Property getStorageDescriptor() {
return storageDescriptor;
}
/**
* TableStorageDescriptor
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-storagedescriptor.html
*
*/
@JsonIgnore
public void setStorageDescriptor(Property storageDescriptor) {
this.storageDescriptor = storageDescriptor;
}
public TableTableInput withStorageDescriptor(Property storageDescriptor) {
this.storageDescriptor = storageDescriptor;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-partitionkeys
*
*/
@JsonIgnore
public List> getPartitionKeys() {
return partitionKeys;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-partitionkeys
*
*/
@JsonIgnore
public void setPartitionKeys(List> partitionKeys) {
this.partitionKeys = partitionKeys;
}
public TableTableInput withPartitionKeys(List> partitionKeys) {
this.partitionKeys = partitionKeys;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention
*
*/
@JsonIgnore
public Number getRetention() {
return retention;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-retention
*
*/
@JsonIgnore
public void setRetention(Number retention) {
this.retention = retention;
}
public TableTableInput withRetention(Number retention) {
this.retention = retention;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-name
*
*/
@JsonIgnore
public CharSequence getName() {
return name;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-table-tableinput.html#cfn-glue-table-tableinput-name
*
*/
@JsonIgnore
public void setName(CharSequence name) {
this.name = name;
}
public TableTableInput withName(CharSequence name) {
this.name = name;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("owner", owner).append("viewOriginalText", viewOriginalText).append("description", description).append("tableType", tableType).append("parameters", parameters).append("viewExpandedText", viewExpandedText).append("storageDescriptor", storageDescriptor).append("partitionKeys", partitionKeys).append("retention", retention).append("name", name).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(owner).append(viewExpandedText).append(tableType).append(storageDescriptor).append(name).append(description).append(partitionKeys).append(parameters).append(viewOriginalText).append(retention).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof TableTableInput) == false) {
return false;
}
TableTableInput rhs = ((TableTableInput) other);
return new EqualsBuilder().append(owner, rhs.owner).append(viewExpandedText, rhs.viewExpandedText).append(tableType, rhs.tableType).append(storageDescriptor, rhs.storageDescriptor).append(name, rhs.name).append(description, rhs.description).append(partitionKeys, rhs.partitionKeys).append(parameters, rhs.parameters).append(viewOriginalText, rhs.viewOriginalText).append(retention, rhs.retention).isEquals();
}
}