shiver.me.timbers.aws.docdb.DBCluster Maven / Gradle / Ivy
package shiver.me.timbers.aws.docdb;
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;
import shiver.me.timbers.aws.Tag;
/**
* DBCluster
*
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html
*
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonPropertyOrder({
"StorageEncrypted",
"EngineVersion",
"KmsKeyId",
"AvailabilityZones",
"SnapshotIdentifier",
"Port",
"DBClusterIdentifier",
"PreferredMaintenanceWindow",
"DBSubnetGroupName",
"PreferredBackupWindow",
"MasterUserPassword",
"VpcSecurityGroupIds",
"MasterUsername",
"DBClusterParameterGroupName",
"BackupRetentionPeriod",
"Tags"
})
public class DBCluster {
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted
*
*/
@JsonProperty("StorageEncrypted")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted")
private CharSequence storageEncrypted;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion
*
*/
@JsonProperty("EngineVersion")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion")
private CharSequence engineVersion;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-kmskeyid
*
*/
@JsonProperty("KmsKeyId")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-kmskeyid")
private CharSequence kmsKeyId;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-availabilityzones
*
*/
@JsonProperty("AvailabilityZones")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-availabilityzones")
private List availabilityZones = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier
*
*/
@JsonProperty("SnapshotIdentifier")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier")
private CharSequence snapshotIdentifier;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port
*
*/
@JsonProperty("Port")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port")
private Number port;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusteridentifier
*
*/
@JsonProperty("DBClusterIdentifier")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusteridentifier")
private CharSequence dBClusterIdentifier;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredmaintenancewindow
*
*/
@JsonProperty("PreferredMaintenanceWindow")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredmaintenancewindow")
private CharSequence preferredMaintenanceWindow;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname
*
*/
@JsonProperty("DBSubnetGroupName")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname")
private CharSequence dBSubnetGroupName;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredbackupwindow
*
*/
@JsonProperty("PreferredBackupWindow")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredbackupwindow")
private CharSequence preferredBackupWindow;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword
*
*/
@JsonProperty("MasterUserPassword")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword")
private CharSequence masterUserPassword;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids
*
*/
@JsonProperty("VpcSecurityGroupIds")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids")
private List vpcSecurityGroupIds = new ArrayList();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername
*
*/
@JsonProperty("MasterUsername")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername")
private CharSequence masterUsername;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusterparametergroupname
*
*/
@JsonProperty("DBClusterParameterGroupName")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusterparametergroupname")
private CharSequence dBClusterParameterGroupName;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-backupretentionperiod
*
*/
@JsonProperty("BackupRetentionPeriod")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-backupretentionperiod")
private Number backupRetentionPeriod;
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-tags
*
*/
@JsonProperty("Tags")
@JsonPropertyDescription("http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-tags")
private List> tags = new ArrayList>();
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted
*
*/
@JsonIgnore
public CharSequence getStorageEncrypted() {
return storageEncrypted;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-storageencrypted
*
*/
@JsonIgnore
public void setStorageEncrypted(CharSequence storageEncrypted) {
this.storageEncrypted = storageEncrypted;
}
public DBCluster withStorageEncrypted(CharSequence storageEncrypted) {
this.storageEncrypted = storageEncrypted;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion
*
*/
@JsonIgnore
public CharSequence getEngineVersion() {
return engineVersion;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-engineversion
*
*/
@JsonIgnore
public void setEngineVersion(CharSequence engineVersion) {
this.engineVersion = engineVersion;
}
public DBCluster withEngineVersion(CharSequence engineVersion) {
this.engineVersion = engineVersion;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-kmskeyid
*
*/
@JsonIgnore
public CharSequence getKmsKeyId() {
return kmsKeyId;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-kmskeyid
*
*/
@JsonIgnore
public void setKmsKeyId(CharSequence kmsKeyId) {
this.kmsKeyId = kmsKeyId;
}
public DBCluster withKmsKeyId(CharSequence kmsKeyId) {
this.kmsKeyId = kmsKeyId;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-availabilityzones
*
*/
@JsonIgnore
public List getAvailabilityZones() {
return availabilityZones;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-availabilityzones
*
*/
@JsonIgnore
public void setAvailabilityZones(List availabilityZones) {
this.availabilityZones = availabilityZones;
}
public DBCluster withAvailabilityZones(List availabilityZones) {
this.availabilityZones = availabilityZones;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier
*
*/
@JsonIgnore
public CharSequence getSnapshotIdentifier() {
return snapshotIdentifier;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-snapshotidentifier
*
*/
@JsonIgnore
public void setSnapshotIdentifier(CharSequence snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
}
public DBCluster withSnapshotIdentifier(CharSequence snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port
*
*/
@JsonIgnore
public Number getPort() {
return port;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-port
*
*/
@JsonIgnore
public void setPort(Number port) {
this.port = port;
}
public DBCluster withPort(Number port) {
this.port = port;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusteridentifier
*
*/
@JsonIgnore
public CharSequence getDBClusterIdentifier() {
return dBClusterIdentifier;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusteridentifier
*
*/
@JsonIgnore
public void setDBClusterIdentifier(CharSequence dBClusterIdentifier) {
this.dBClusterIdentifier = dBClusterIdentifier;
}
public DBCluster withDBClusterIdentifier(CharSequence dBClusterIdentifier) {
this.dBClusterIdentifier = dBClusterIdentifier;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredmaintenancewindow
*
*/
@JsonIgnore
public CharSequence getPreferredMaintenanceWindow() {
return preferredMaintenanceWindow;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredmaintenancewindow
*
*/
@JsonIgnore
public void setPreferredMaintenanceWindow(CharSequence preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
}
public DBCluster withPreferredMaintenanceWindow(CharSequence preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname
*
*/
@JsonIgnore
public CharSequence getDBSubnetGroupName() {
return dBSubnetGroupName;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbsubnetgroupname
*
*/
@JsonIgnore
public void setDBSubnetGroupName(CharSequence dBSubnetGroupName) {
this.dBSubnetGroupName = dBSubnetGroupName;
}
public DBCluster withDBSubnetGroupName(CharSequence dBSubnetGroupName) {
this.dBSubnetGroupName = dBSubnetGroupName;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredbackupwindow
*
*/
@JsonIgnore
public CharSequence getPreferredBackupWindow() {
return preferredBackupWindow;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-preferredbackupwindow
*
*/
@JsonIgnore
public void setPreferredBackupWindow(CharSequence preferredBackupWindow) {
this.preferredBackupWindow = preferredBackupWindow;
}
public DBCluster withPreferredBackupWindow(CharSequence preferredBackupWindow) {
this.preferredBackupWindow = preferredBackupWindow;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword
*
*/
@JsonIgnore
public CharSequence getMasterUserPassword() {
return masterUserPassword;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masteruserpassword
*
*/
@JsonIgnore
public void setMasterUserPassword(CharSequence masterUserPassword) {
this.masterUserPassword = masterUserPassword;
}
public DBCluster withMasterUserPassword(CharSequence masterUserPassword) {
this.masterUserPassword = masterUserPassword;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids
*
*/
@JsonIgnore
public List getVpcSecurityGroupIds() {
return vpcSecurityGroupIds;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-vpcsecuritygroupids
*
*/
@JsonIgnore
public void setVpcSecurityGroupIds(List vpcSecurityGroupIds) {
this.vpcSecurityGroupIds = vpcSecurityGroupIds;
}
public DBCluster withVpcSecurityGroupIds(List vpcSecurityGroupIds) {
this.vpcSecurityGroupIds = vpcSecurityGroupIds;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername
*
*/
@JsonIgnore
public CharSequence getMasterUsername() {
return masterUsername;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-masterusername
*
*/
@JsonIgnore
public void setMasterUsername(CharSequence masterUsername) {
this.masterUsername = masterUsername;
}
public DBCluster withMasterUsername(CharSequence masterUsername) {
this.masterUsername = masterUsername;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusterparametergroupname
*
*/
@JsonIgnore
public CharSequence getDBClusterParameterGroupName() {
return dBClusterParameterGroupName;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-dbclusterparametergroupname
*
*/
@JsonIgnore
public void setDBClusterParameterGroupName(CharSequence dBClusterParameterGroupName) {
this.dBClusterParameterGroupName = dBClusterParameterGroupName;
}
public DBCluster withDBClusterParameterGroupName(CharSequence dBClusterParameterGroupName) {
this.dBClusterParameterGroupName = dBClusterParameterGroupName;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-backupretentionperiod
*
*/
@JsonIgnore
public Number getBackupRetentionPeriod() {
return backupRetentionPeriod;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-backupretentionperiod
*
*/
@JsonIgnore
public void setBackupRetentionPeriod(Number backupRetentionPeriod) {
this.backupRetentionPeriod = backupRetentionPeriod;
}
public DBCluster withBackupRetentionPeriod(Number backupRetentionPeriod) {
this.backupRetentionPeriod = backupRetentionPeriod;
return this;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-tags
*
*/
@JsonIgnore
public List> getTags() {
return tags;
}
/**
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-docdb-dbcluster.html#cfn-docdb-dbcluster-tags
*
*/
@JsonIgnore
public void setTags(List> tags) {
this.tags = tags;
}
public DBCluster withTags(List> tags) {
this.tags = tags;
return this;
}
@Override
public String toString() {
return new ToStringBuilder(this).append("storageEncrypted", storageEncrypted).append("engineVersion", engineVersion).append("kmsKeyId", kmsKeyId).append("availabilityZones", availabilityZones).append("snapshotIdentifier", snapshotIdentifier).append("port", port).append("dBClusterIdentifier", dBClusterIdentifier).append("preferredMaintenanceWindow", preferredMaintenanceWindow).append("dBSubnetGroupName", dBSubnetGroupName).append("preferredBackupWindow", preferredBackupWindow).append("masterUserPassword", masterUserPassword).append("vpcSecurityGroupIds", vpcSecurityGroupIds).append("masterUsername", masterUsername).append("dBClusterParameterGroupName", dBClusterParameterGroupName).append("backupRetentionPeriod", backupRetentionPeriod).append("tags", tags).toString();
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(engineVersion).append(masterUsername).append(vpcSecurityGroupIds).append(availabilityZones).append(snapshotIdentifier).append(storageEncrypted).append(preferredBackupWindow).append(dBSubnetGroupName).append(tags).append(dBClusterParameterGroupName).append(port).append(preferredMaintenanceWindow).append(backupRetentionPeriod).append(kmsKeyId).append(dBClusterIdentifier).append(masterUserPassword).toHashCode();
}
@Override
public boolean equals(Object other) {
if (other == this) {
return true;
}
if ((other instanceof DBCluster) == false) {
return false;
}
DBCluster rhs = ((DBCluster) other);
return new EqualsBuilder().append(engineVersion, rhs.engineVersion).append(masterUsername, rhs.masterUsername).append(vpcSecurityGroupIds, rhs.vpcSecurityGroupIds).append(availabilityZones, rhs.availabilityZones).append(snapshotIdentifier, rhs.snapshotIdentifier).append(storageEncrypted, rhs.storageEncrypted).append(preferredBackupWindow, rhs.preferredBackupWindow).append(dBSubnetGroupName, rhs.dBSubnetGroupName).append(tags, rhs.tags).append(dBClusterParameterGroupName, rhs.dBClusterParameterGroupName).append(port, rhs.port).append(preferredMaintenanceWindow, rhs.preferredMaintenanceWindow).append(backupRetentionPeriod, rhs.backupRetentionPeriod).append(kmsKeyId, rhs.kmsKeyId).append(dBClusterIdentifier, rhs.dBClusterIdentifier).append(masterUserPassword, rhs.masterUserPassword).isEquals();
}
}