software.amazon.awscdk.services.redshift.CfnClusterProps Maven / Gradle / Ivy
Show all versions of redshift Show documentation
package software.amazon.awscdk.services.redshift;
/**
* Properties for defining a `AWS::Redshift::Cluster`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.12.0 (build 5ddc9f2)", date = "2020-10-01T01:49:53.211Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.redshift.$Module.class, fqn = "@aws-cdk/aws-redshift.CfnClusterProps")
@software.amazon.jsii.Jsii.Proxy(CfnClusterProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface CfnClusterProps extends software.amazon.jsii.JsiiSerializable {
/**
* `AWS::Redshift::Cluster.ClusterType`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustertype
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getClusterType();
/**
* `AWS::Redshift::Cluster.DBName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-dbname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getDbName();
/**
* `AWS::Redshift::Cluster.MasterUsername`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-masterusername
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getMasterUsername();
/**
* `AWS::Redshift::Cluster.MasterUserPassword`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-masteruserpassword
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getMasterUserPassword();
/**
* `AWS::Redshift::Cluster.NodeType`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-nodetype
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.String getNodeType();
/**
* `AWS::Redshift::Cluster.AllowVersionUpgrade`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-allowversionupgrade
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getAllowVersionUpgrade() {
return null;
}
/**
* `AWS::Redshift::Cluster.AutomatedSnapshotRetentionPeriod`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-automatedsnapshotretentionperiod
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getAutomatedSnapshotRetentionPeriod() {
return null;
}
/**
* `AWS::Redshift::Cluster.AvailabilityZone`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-availabilityzone
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getAvailabilityZone() {
return null;
}
/**
* `AWS::Redshift::Cluster.ClusterIdentifier`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusteridentifier
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getClusterIdentifier() {
return null;
}
/**
* `AWS::Redshift::Cluster.ClusterParameterGroupName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusterparametergroupname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getClusterParameterGroupName() {
return null;
}
/**
* `AWS::Redshift::Cluster.ClusterSecurityGroups`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustersecuritygroups
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getClusterSecurityGroups() {
return null;
}
/**
* `AWS::Redshift::Cluster.ClusterSubnetGroupName`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clustersubnetgroupname
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getClusterSubnetGroupName() {
return null;
}
/**
* `AWS::Redshift::Cluster.ClusterVersion`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-clusterversion
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getClusterVersion() {
return null;
}
/**
* `AWS::Redshift::Cluster.ElasticIp`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-elasticip
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getElasticIp() {
return null;
}
/**
* `AWS::Redshift::Cluster.Encrypted`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-encrypted
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getEncrypted() {
return null;
}
/**
* `AWS::Redshift::Cluster.HsmClientCertificateIdentifier`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-hsmclientcertidentifier
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getHsmClientCertificateIdentifier() {
return null;
}
/**
* `AWS::Redshift::Cluster.HsmConfigurationIdentifier`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-HsmConfigurationIdentifier
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getHsmConfigurationIdentifier() {
return null;
}
/**
* `AWS::Redshift::Cluster.IamRoles`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-iamroles
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getIamRoles() {
return null;
}
/**
* `AWS::Redshift::Cluster.KmsKeyId`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-kmskeyid
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getKmsKeyId() {
return null;
}
/**
* `AWS::Redshift::Cluster.LoggingProperties`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-loggingproperties
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getLoggingProperties() {
return null;
}
/**
* `AWS::Redshift::Cluster.NumberOfNodes`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-nodetype
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getNumberOfNodes() {
return null;
}
/**
* `AWS::Redshift::Cluster.OwnerAccount`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-owneraccount
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getOwnerAccount() {
return null;
}
/**
* `AWS::Redshift::Cluster.Port`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-port
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Number getPort() {
return null;
}
/**
* `AWS::Redshift::Cluster.PreferredMaintenanceWindow`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-preferredmaintenancewindow
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getPreferredMaintenanceWindow() {
return null;
}
/**
* `AWS::Redshift::Cluster.PubliclyAccessible`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-publiclyaccessible
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getPubliclyAccessible() {
return null;
}
/**
* `AWS::Redshift::Cluster.SnapshotClusterIdentifier`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-snapshotclusteridentifier
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getSnapshotClusterIdentifier() {
return null;
}
/**
* `AWS::Redshift::Cluster.SnapshotIdentifier`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-snapshotidentifier
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getSnapshotIdentifier() {
return null;
}
/**
* `AWS::Redshift::Cluster.Tags`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-tags
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getTags() {
return null;
}
/**
* `AWS::Redshift::Cluster.VpcSecurityGroupIds`.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-vpcsecuritygroupids
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.util.List getVpcSecurityGroupIds() {
return null;
}
/**
* @return a {@link Builder} of {@link CfnClusterProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link CfnClusterProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.String clusterType;
private java.lang.String dbName;
private java.lang.String masterUsername;
private java.lang.String masterUserPassword;
private java.lang.String nodeType;
private java.lang.Object allowVersionUpgrade;
private java.lang.Number automatedSnapshotRetentionPeriod;
private java.lang.String availabilityZone;
private java.lang.String clusterIdentifier;
private java.lang.String clusterParameterGroupName;
private java.util.List clusterSecurityGroups;
private java.lang.String clusterSubnetGroupName;
private java.lang.String clusterVersion;
private java.lang.String elasticIp;
private java.lang.Object encrypted;
private java.lang.String hsmClientCertificateIdentifier;
private java.lang.String hsmConfigurationIdentifier;
private java.util.List iamRoles;
private java.lang.String kmsKeyId;
private java.lang.Object loggingProperties;
private java.lang.Number numberOfNodes;
private java.lang.String ownerAccount;
private java.lang.Number port;
private java.lang.String preferredMaintenanceWindow;
private java.lang.Object publiclyAccessible;
private java.lang.String snapshotClusterIdentifier;
private java.lang.String snapshotIdentifier;
private java.util.List tags;
private java.util.List vpcSecurityGroupIds;
/**
* Sets the value of {@link CfnClusterProps#getClusterType}
* @param clusterType `AWS::Redshift::Cluster.ClusterType`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterType(java.lang.String clusterType) {
this.clusterType = clusterType;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getDbName}
* @param dbName `AWS::Redshift::Cluster.DBName`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder dbName(java.lang.String dbName) {
this.dbName = dbName;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getMasterUsername}
* @param masterUsername `AWS::Redshift::Cluster.MasterUsername`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder masterUsername(java.lang.String masterUsername) {
this.masterUsername = masterUsername;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getMasterUserPassword}
* @param masterUserPassword `AWS::Redshift::Cluster.MasterUserPassword`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder masterUserPassword(java.lang.String masterUserPassword) {
this.masterUserPassword = masterUserPassword;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getNodeType}
* @param nodeType `AWS::Redshift::Cluster.NodeType`. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder nodeType(java.lang.String nodeType) {
this.nodeType = nodeType;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getAllowVersionUpgrade}
* @param allowVersionUpgrade `AWS::Redshift::Cluster.AllowVersionUpgrade`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder allowVersionUpgrade(java.lang.Boolean allowVersionUpgrade) {
this.allowVersionUpgrade = allowVersionUpgrade;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getAllowVersionUpgrade}
* @param allowVersionUpgrade `AWS::Redshift::Cluster.AllowVersionUpgrade`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder allowVersionUpgrade(software.amazon.awscdk.core.IResolvable allowVersionUpgrade) {
this.allowVersionUpgrade = allowVersionUpgrade;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getAutomatedSnapshotRetentionPeriod}
* @param automatedSnapshotRetentionPeriod `AWS::Redshift::Cluster.AutomatedSnapshotRetentionPeriod`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder automatedSnapshotRetentionPeriod(java.lang.Number automatedSnapshotRetentionPeriod) {
this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getAvailabilityZone}
* @param availabilityZone `AWS::Redshift::Cluster.AvailabilityZone`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder availabilityZone(java.lang.String availabilityZone) {
this.availabilityZone = availabilityZone;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getClusterIdentifier}
* @param clusterIdentifier `AWS::Redshift::Cluster.ClusterIdentifier`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterIdentifier(java.lang.String clusterIdentifier) {
this.clusterIdentifier = clusterIdentifier;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getClusterParameterGroupName}
* @param clusterParameterGroupName `AWS::Redshift::Cluster.ClusterParameterGroupName`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterParameterGroupName(java.lang.String clusterParameterGroupName) {
this.clusterParameterGroupName = clusterParameterGroupName;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getClusterSecurityGroups}
* @param clusterSecurityGroups `AWS::Redshift::Cluster.ClusterSecurityGroups`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterSecurityGroups(java.util.List clusterSecurityGroups) {
this.clusterSecurityGroups = clusterSecurityGroups;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getClusterSubnetGroupName}
* @param clusterSubnetGroupName `AWS::Redshift::Cluster.ClusterSubnetGroupName`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterSubnetGroupName(java.lang.String clusterSubnetGroupName) {
this.clusterSubnetGroupName = clusterSubnetGroupName;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getClusterVersion}
* @param clusterVersion `AWS::Redshift::Cluster.ClusterVersion`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder clusterVersion(java.lang.String clusterVersion) {
this.clusterVersion = clusterVersion;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getElasticIp}
* @param elasticIp `AWS::Redshift::Cluster.ElasticIp`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder elasticIp(java.lang.String elasticIp) {
this.elasticIp = elasticIp;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getEncrypted}
* @param encrypted `AWS::Redshift::Cluster.Encrypted`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder encrypted(java.lang.Boolean encrypted) {
this.encrypted = encrypted;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getEncrypted}
* @param encrypted `AWS::Redshift::Cluster.Encrypted`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder encrypted(software.amazon.awscdk.core.IResolvable encrypted) {
this.encrypted = encrypted;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getHsmClientCertificateIdentifier}
* @param hsmClientCertificateIdentifier `AWS::Redshift::Cluster.HsmClientCertificateIdentifier`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder hsmClientCertificateIdentifier(java.lang.String hsmClientCertificateIdentifier) {
this.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getHsmConfigurationIdentifier}
* @param hsmConfigurationIdentifier `AWS::Redshift::Cluster.HsmConfigurationIdentifier`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder hsmConfigurationIdentifier(java.lang.String hsmConfigurationIdentifier) {
this.hsmConfigurationIdentifier = hsmConfigurationIdentifier;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getIamRoles}
* @param iamRoles `AWS::Redshift::Cluster.IamRoles`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder iamRoles(java.util.List iamRoles) {
this.iamRoles = iamRoles;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getKmsKeyId}
* @param kmsKeyId `AWS::Redshift::Cluster.KmsKeyId`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder kmsKeyId(java.lang.String kmsKeyId) {
this.kmsKeyId = kmsKeyId;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getLoggingProperties}
* @param loggingProperties `AWS::Redshift::Cluster.LoggingProperties`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder loggingProperties(software.amazon.awscdk.core.IResolvable loggingProperties) {
this.loggingProperties = loggingProperties;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getLoggingProperties}
* @param loggingProperties `AWS::Redshift::Cluster.LoggingProperties`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder loggingProperties(software.amazon.awscdk.services.redshift.CfnCluster.LoggingPropertiesProperty loggingProperties) {
this.loggingProperties = loggingProperties;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getNumberOfNodes}
* @param numberOfNodes `AWS::Redshift::Cluster.NumberOfNodes`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder numberOfNodes(java.lang.Number numberOfNodes) {
this.numberOfNodes = numberOfNodes;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getOwnerAccount}
* @param ownerAccount `AWS::Redshift::Cluster.OwnerAccount`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder ownerAccount(java.lang.String ownerAccount) {
this.ownerAccount = ownerAccount;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getPort}
* @param port `AWS::Redshift::Cluster.Port`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder port(java.lang.Number port) {
this.port = port;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getPreferredMaintenanceWindow}
* @param preferredMaintenanceWindow `AWS::Redshift::Cluster.PreferredMaintenanceWindow`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder preferredMaintenanceWindow(java.lang.String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getPubliclyAccessible}
* @param publiclyAccessible `AWS::Redshift::Cluster.PubliclyAccessible`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder publiclyAccessible(java.lang.Boolean publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getPubliclyAccessible}
* @param publiclyAccessible `AWS::Redshift::Cluster.PubliclyAccessible`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder publiclyAccessible(software.amazon.awscdk.core.IResolvable publiclyAccessible) {
this.publiclyAccessible = publiclyAccessible;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getSnapshotClusterIdentifier}
* @param snapshotClusterIdentifier `AWS::Redshift::Cluster.SnapshotClusterIdentifier`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder snapshotClusterIdentifier(java.lang.String snapshotClusterIdentifier) {
this.snapshotClusterIdentifier = snapshotClusterIdentifier;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getSnapshotIdentifier}
* @param snapshotIdentifier `AWS::Redshift::Cluster.SnapshotIdentifier`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder snapshotIdentifier(java.lang.String snapshotIdentifier) {
this.snapshotIdentifier = snapshotIdentifier;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getTags}
* @param tags `AWS::Redshift::Cluster.Tags`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@SuppressWarnings("unchecked")
public Builder tags(java.util.List extends software.amazon.awscdk.core.CfnTag> tags) {
this.tags = (java.util.List)tags;
return this;
}
/**
* Sets the value of {@link CfnClusterProps#getVpcSecurityGroupIds}
* @param vpcSecurityGroupIds `AWS::Redshift::Cluster.VpcSecurityGroupIds`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder vpcSecurityGroupIds(java.util.List vpcSecurityGroupIds) {
this.vpcSecurityGroupIds = vpcSecurityGroupIds;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link CfnClusterProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public CfnClusterProps build() {
return new Jsii$Proxy(clusterType, dbName, masterUsername, masterUserPassword, nodeType, allowVersionUpgrade, automatedSnapshotRetentionPeriod, availabilityZone, clusterIdentifier, clusterParameterGroupName, clusterSecurityGroups, clusterSubnetGroupName, clusterVersion, elasticIp, encrypted, hsmClientCertificateIdentifier, hsmConfigurationIdentifier, iamRoles, kmsKeyId, loggingProperties, numberOfNodes, ownerAccount, port, preferredMaintenanceWindow, publiclyAccessible, snapshotClusterIdentifier, snapshotIdentifier, tags, vpcSecurityGroupIds);
}
}
/**
* An implementation for {@link CfnClusterProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterProps {
private final java.lang.String clusterType;
private final java.lang.String dbName;
private final java.lang.String masterUsername;
private final java.lang.String masterUserPassword;
private final java.lang.String nodeType;
private final java.lang.Object allowVersionUpgrade;
private final java.lang.Number automatedSnapshotRetentionPeriod;
private final java.lang.String availabilityZone;
private final java.lang.String clusterIdentifier;
private final java.lang.String clusterParameterGroupName;
private final java.util.List clusterSecurityGroups;
private final java.lang.String clusterSubnetGroupName;
private final java.lang.String clusterVersion;
private final java.lang.String elasticIp;
private final java.lang.Object encrypted;
private final java.lang.String hsmClientCertificateIdentifier;
private final java.lang.String hsmConfigurationIdentifier;
private final java.util.List iamRoles;
private final java.lang.String kmsKeyId;
private final java.lang.Object loggingProperties;
private final java.lang.Number numberOfNodes;
private final java.lang.String ownerAccount;
private final java.lang.Number port;
private final java.lang.String preferredMaintenanceWindow;
private final java.lang.Object publiclyAccessible;
private final java.lang.String snapshotClusterIdentifier;
private final java.lang.String snapshotIdentifier;
private final java.util.List tags;
private final java.util.List vpcSecurityGroupIds;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.clusterType = this.jsiiGet("clusterType", java.lang.String.class);
this.dbName = this.jsiiGet("dbName", java.lang.String.class);
this.masterUsername = this.jsiiGet("masterUsername", java.lang.String.class);
this.masterUserPassword = this.jsiiGet("masterUserPassword", java.lang.String.class);
this.nodeType = this.jsiiGet("nodeType", java.lang.String.class);
this.allowVersionUpgrade = this.jsiiGet("allowVersionUpgrade", java.lang.Object.class);
this.automatedSnapshotRetentionPeriod = this.jsiiGet("automatedSnapshotRetentionPeriod", java.lang.Number.class);
this.availabilityZone = this.jsiiGet("availabilityZone", java.lang.String.class);
this.clusterIdentifier = this.jsiiGet("clusterIdentifier", java.lang.String.class);
this.clusterParameterGroupName = this.jsiiGet("clusterParameterGroupName", java.lang.String.class);
this.clusterSecurityGroups = this.jsiiGet("clusterSecurityGroups", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.clusterSubnetGroupName = this.jsiiGet("clusterSubnetGroupName", java.lang.String.class);
this.clusterVersion = this.jsiiGet("clusterVersion", java.lang.String.class);
this.elasticIp = this.jsiiGet("elasticIp", java.lang.String.class);
this.encrypted = this.jsiiGet("encrypted", java.lang.Object.class);
this.hsmClientCertificateIdentifier = this.jsiiGet("hsmClientCertificateIdentifier", java.lang.String.class);
this.hsmConfigurationIdentifier = this.jsiiGet("hsmConfigurationIdentifier", java.lang.String.class);
this.iamRoles = this.jsiiGet("iamRoles", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
this.kmsKeyId = this.jsiiGet("kmsKeyId", java.lang.String.class);
this.loggingProperties = this.jsiiGet("loggingProperties", java.lang.Object.class);
this.numberOfNodes = this.jsiiGet("numberOfNodes", java.lang.Number.class);
this.ownerAccount = this.jsiiGet("ownerAccount", java.lang.String.class);
this.port = this.jsiiGet("port", java.lang.Number.class);
this.preferredMaintenanceWindow = this.jsiiGet("preferredMaintenanceWindow", java.lang.String.class);
this.publiclyAccessible = this.jsiiGet("publiclyAccessible", java.lang.Object.class);
this.snapshotClusterIdentifier = this.jsiiGet("snapshotClusterIdentifier", java.lang.String.class);
this.snapshotIdentifier = this.jsiiGet("snapshotIdentifier", java.lang.String.class);
this.tags = this.jsiiGet("tags", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.core.CfnTag.class)));
this.vpcSecurityGroupIds = this.jsiiGet("vpcSecurityGroupIds", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
private Jsii$Proxy(final java.lang.String clusterType, final java.lang.String dbName, final java.lang.String masterUsername, final java.lang.String masterUserPassword, final java.lang.String nodeType, final java.lang.Object allowVersionUpgrade, final java.lang.Number automatedSnapshotRetentionPeriod, final java.lang.String availabilityZone, final java.lang.String clusterIdentifier, final java.lang.String clusterParameterGroupName, final java.util.List clusterSecurityGroups, final java.lang.String clusterSubnetGroupName, final java.lang.String clusterVersion, final java.lang.String elasticIp, final java.lang.Object encrypted, final java.lang.String hsmClientCertificateIdentifier, final java.lang.String hsmConfigurationIdentifier, final java.util.List iamRoles, final java.lang.String kmsKeyId, final java.lang.Object loggingProperties, final java.lang.Number numberOfNodes, final java.lang.String ownerAccount, final java.lang.Number port, final java.lang.String preferredMaintenanceWindow, final java.lang.Object publiclyAccessible, final java.lang.String snapshotClusterIdentifier, final java.lang.String snapshotIdentifier, final java.util.List extends software.amazon.awscdk.core.CfnTag> tags, final java.util.List vpcSecurityGroupIds) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.clusterType = java.util.Objects.requireNonNull(clusterType, "clusterType is required");
this.dbName = java.util.Objects.requireNonNull(dbName, "dbName is required");
this.masterUsername = java.util.Objects.requireNonNull(masterUsername, "masterUsername is required");
this.masterUserPassword = java.util.Objects.requireNonNull(masterUserPassword, "masterUserPassword is required");
this.nodeType = java.util.Objects.requireNonNull(nodeType, "nodeType is required");
this.allowVersionUpgrade = allowVersionUpgrade;
this.automatedSnapshotRetentionPeriod = automatedSnapshotRetentionPeriod;
this.availabilityZone = availabilityZone;
this.clusterIdentifier = clusterIdentifier;
this.clusterParameterGroupName = clusterParameterGroupName;
this.clusterSecurityGroups = clusterSecurityGroups;
this.clusterSubnetGroupName = clusterSubnetGroupName;
this.clusterVersion = clusterVersion;
this.elasticIp = elasticIp;
this.encrypted = encrypted;
this.hsmClientCertificateIdentifier = hsmClientCertificateIdentifier;
this.hsmConfigurationIdentifier = hsmConfigurationIdentifier;
this.iamRoles = iamRoles;
this.kmsKeyId = kmsKeyId;
this.loggingProperties = loggingProperties;
this.numberOfNodes = numberOfNodes;
this.ownerAccount = ownerAccount;
this.port = port;
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
this.publiclyAccessible = publiclyAccessible;
this.snapshotClusterIdentifier = snapshotClusterIdentifier;
this.snapshotIdentifier = snapshotIdentifier;
this.tags = (java.util.List)tags;
this.vpcSecurityGroupIds = vpcSecurityGroupIds;
}
@Override
public java.lang.String getClusterType() {
return this.clusterType;
}
@Override
public java.lang.String getDbName() {
return this.dbName;
}
@Override
public java.lang.String getMasterUsername() {
return this.masterUsername;
}
@Override
public java.lang.String getMasterUserPassword() {
return this.masterUserPassword;
}
@Override
public java.lang.String getNodeType() {
return this.nodeType;
}
@Override
public java.lang.Object getAllowVersionUpgrade() {
return this.allowVersionUpgrade;
}
@Override
public java.lang.Number getAutomatedSnapshotRetentionPeriod() {
return this.automatedSnapshotRetentionPeriod;
}
@Override
public java.lang.String getAvailabilityZone() {
return this.availabilityZone;
}
@Override
public java.lang.String getClusterIdentifier() {
return this.clusterIdentifier;
}
@Override
public java.lang.String getClusterParameterGroupName() {
return this.clusterParameterGroupName;
}
@Override
public java.util.List getClusterSecurityGroups() {
return this.clusterSecurityGroups;
}
@Override
public java.lang.String getClusterSubnetGroupName() {
return this.clusterSubnetGroupName;
}
@Override
public java.lang.String getClusterVersion() {
return this.clusterVersion;
}
@Override
public java.lang.String getElasticIp() {
return this.elasticIp;
}
@Override
public java.lang.Object getEncrypted() {
return this.encrypted;
}
@Override
public java.lang.String getHsmClientCertificateIdentifier() {
return this.hsmClientCertificateIdentifier;
}
@Override
public java.lang.String getHsmConfigurationIdentifier() {
return this.hsmConfigurationIdentifier;
}
@Override
public java.util.List getIamRoles() {
return this.iamRoles;
}
@Override
public java.lang.String getKmsKeyId() {
return this.kmsKeyId;
}
@Override
public java.lang.Object getLoggingProperties() {
return this.loggingProperties;
}
@Override
public java.lang.Number getNumberOfNodes() {
return this.numberOfNodes;
}
@Override
public java.lang.String getOwnerAccount() {
return this.ownerAccount;
}
@Override
public java.lang.Number getPort() {
return this.port;
}
@Override
public java.lang.String getPreferredMaintenanceWindow() {
return this.preferredMaintenanceWindow;
}
@Override
public java.lang.Object getPubliclyAccessible() {
return this.publiclyAccessible;
}
@Override
public java.lang.String getSnapshotClusterIdentifier() {
return this.snapshotClusterIdentifier;
}
@Override
public java.lang.String getSnapshotIdentifier() {
return this.snapshotIdentifier;
}
@Override
public java.util.List getTags() {
return this.tags;
}
@Override
public java.util.List getVpcSecurityGroupIds() {
return this.vpcSecurityGroupIds;
}
@Override
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("clusterType", om.valueToTree(this.getClusterType()));
data.set("dbName", om.valueToTree(this.getDbName()));
data.set("masterUsername", om.valueToTree(this.getMasterUsername()));
data.set("masterUserPassword", om.valueToTree(this.getMasterUserPassword()));
data.set("nodeType", om.valueToTree(this.getNodeType()));
if (this.getAllowVersionUpgrade() != null) {
data.set("allowVersionUpgrade", om.valueToTree(this.getAllowVersionUpgrade()));
}
if (this.getAutomatedSnapshotRetentionPeriod() != null) {
data.set("automatedSnapshotRetentionPeriod", om.valueToTree(this.getAutomatedSnapshotRetentionPeriod()));
}
if (this.getAvailabilityZone() != null) {
data.set("availabilityZone", om.valueToTree(this.getAvailabilityZone()));
}
if (this.getClusterIdentifier() != null) {
data.set("clusterIdentifier", om.valueToTree(this.getClusterIdentifier()));
}
if (this.getClusterParameterGroupName() != null) {
data.set("clusterParameterGroupName", om.valueToTree(this.getClusterParameterGroupName()));
}
if (this.getClusterSecurityGroups() != null) {
data.set("clusterSecurityGroups", om.valueToTree(this.getClusterSecurityGroups()));
}
if (this.getClusterSubnetGroupName() != null) {
data.set("clusterSubnetGroupName", om.valueToTree(this.getClusterSubnetGroupName()));
}
if (this.getClusterVersion() != null) {
data.set("clusterVersion", om.valueToTree(this.getClusterVersion()));
}
if (this.getElasticIp() != null) {
data.set("elasticIp", om.valueToTree(this.getElasticIp()));
}
if (this.getEncrypted() != null) {
data.set("encrypted", om.valueToTree(this.getEncrypted()));
}
if (this.getHsmClientCertificateIdentifier() != null) {
data.set("hsmClientCertificateIdentifier", om.valueToTree(this.getHsmClientCertificateIdentifier()));
}
if (this.getHsmConfigurationIdentifier() != null) {
data.set("hsmConfigurationIdentifier", om.valueToTree(this.getHsmConfigurationIdentifier()));
}
if (this.getIamRoles() != null) {
data.set("iamRoles", om.valueToTree(this.getIamRoles()));
}
if (this.getKmsKeyId() != null) {
data.set("kmsKeyId", om.valueToTree(this.getKmsKeyId()));
}
if (this.getLoggingProperties() != null) {
data.set("loggingProperties", om.valueToTree(this.getLoggingProperties()));
}
if (this.getNumberOfNodes() != null) {
data.set("numberOfNodes", om.valueToTree(this.getNumberOfNodes()));
}
if (this.getOwnerAccount() != null) {
data.set("ownerAccount", om.valueToTree(this.getOwnerAccount()));
}
if (this.getPort() != null) {
data.set("port", om.valueToTree(this.getPort()));
}
if (this.getPreferredMaintenanceWindow() != null) {
data.set("preferredMaintenanceWindow", om.valueToTree(this.getPreferredMaintenanceWindow()));
}
if (this.getPubliclyAccessible() != null) {
data.set("publiclyAccessible", om.valueToTree(this.getPubliclyAccessible()));
}
if (this.getSnapshotClusterIdentifier() != null) {
data.set("snapshotClusterIdentifier", om.valueToTree(this.getSnapshotClusterIdentifier()));
}
if (this.getSnapshotIdentifier() != null) {
data.set("snapshotIdentifier", om.valueToTree(this.getSnapshotIdentifier()));
}
if (this.getTags() != null) {
data.set("tags", om.valueToTree(this.getTags()));
}
if (this.getVpcSecurityGroupIds() != null) {
data.set("vpcSecurityGroupIds", om.valueToTree(this.getVpcSecurityGroupIds()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-redshift.CfnClusterProps"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CfnClusterProps.Jsii$Proxy that = (CfnClusterProps.Jsii$Proxy) o;
if (!clusterType.equals(that.clusterType)) return false;
if (!dbName.equals(that.dbName)) return false;
if (!masterUsername.equals(that.masterUsername)) return false;
if (!masterUserPassword.equals(that.masterUserPassword)) return false;
if (!nodeType.equals(that.nodeType)) return false;
if (this.allowVersionUpgrade != null ? !this.allowVersionUpgrade.equals(that.allowVersionUpgrade) : that.allowVersionUpgrade != null) return false;
if (this.automatedSnapshotRetentionPeriod != null ? !this.automatedSnapshotRetentionPeriod.equals(that.automatedSnapshotRetentionPeriod) : that.automatedSnapshotRetentionPeriod != null) return false;
if (this.availabilityZone != null ? !this.availabilityZone.equals(that.availabilityZone) : that.availabilityZone != null) return false;
if (this.clusterIdentifier != null ? !this.clusterIdentifier.equals(that.clusterIdentifier) : that.clusterIdentifier != null) return false;
if (this.clusterParameterGroupName != null ? !this.clusterParameterGroupName.equals(that.clusterParameterGroupName) : that.clusterParameterGroupName != null) return false;
if (this.clusterSecurityGroups != null ? !this.clusterSecurityGroups.equals(that.clusterSecurityGroups) : that.clusterSecurityGroups != null) return false;
if (this.clusterSubnetGroupName != null ? !this.clusterSubnetGroupName.equals(that.clusterSubnetGroupName) : that.clusterSubnetGroupName != null) return false;
if (this.clusterVersion != null ? !this.clusterVersion.equals(that.clusterVersion) : that.clusterVersion != null) return false;
if (this.elasticIp != null ? !this.elasticIp.equals(that.elasticIp) : that.elasticIp != null) return false;
if (this.encrypted != null ? !this.encrypted.equals(that.encrypted) : that.encrypted != null) return false;
if (this.hsmClientCertificateIdentifier != null ? !this.hsmClientCertificateIdentifier.equals(that.hsmClientCertificateIdentifier) : that.hsmClientCertificateIdentifier != null) return false;
if (this.hsmConfigurationIdentifier != null ? !this.hsmConfigurationIdentifier.equals(that.hsmConfigurationIdentifier) : that.hsmConfigurationIdentifier != null) return false;
if (this.iamRoles != null ? !this.iamRoles.equals(that.iamRoles) : that.iamRoles != null) return false;
if (this.kmsKeyId != null ? !this.kmsKeyId.equals(that.kmsKeyId) : that.kmsKeyId != null) return false;
if (this.loggingProperties != null ? !this.loggingProperties.equals(that.loggingProperties) : that.loggingProperties != null) return false;
if (this.numberOfNodes != null ? !this.numberOfNodes.equals(that.numberOfNodes) : that.numberOfNodes != null) return false;
if (this.ownerAccount != null ? !this.ownerAccount.equals(that.ownerAccount) : that.ownerAccount != null) return false;
if (this.port != null ? !this.port.equals(that.port) : that.port != null) return false;
if (this.preferredMaintenanceWindow != null ? !this.preferredMaintenanceWindow.equals(that.preferredMaintenanceWindow) : that.preferredMaintenanceWindow != null) return false;
if (this.publiclyAccessible != null ? !this.publiclyAccessible.equals(that.publiclyAccessible) : that.publiclyAccessible != null) return false;
if (this.snapshotClusterIdentifier != null ? !this.snapshotClusterIdentifier.equals(that.snapshotClusterIdentifier) : that.snapshotClusterIdentifier != null) return false;
if (this.snapshotIdentifier != null ? !this.snapshotIdentifier.equals(that.snapshotIdentifier) : that.snapshotIdentifier != null) return false;
if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false;
return this.vpcSecurityGroupIds != null ? this.vpcSecurityGroupIds.equals(that.vpcSecurityGroupIds) : that.vpcSecurityGroupIds == null;
}
@Override
public int hashCode() {
int result = this.clusterType.hashCode();
result = 31 * result + (this.dbName.hashCode());
result = 31 * result + (this.masterUsername.hashCode());
result = 31 * result + (this.masterUserPassword.hashCode());
result = 31 * result + (this.nodeType.hashCode());
result = 31 * result + (this.allowVersionUpgrade != null ? this.allowVersionUpgrade.hashCode() : 0);
result = 31 * result + (this.automatedSnapshotRetentionPeriod != null ? this.automatedSnapshotRetentionPeriod.hashCode() : 0);
result = 31 * result + (this.availabilityZone != null ? this.availabilityZone.hashCode() : 0);
result = 31 * result + (this.clusterIdentifier != null ? this.clusterIdentifier.hashCode() : 0);
result = 31 * result + (this.clusterParameterGroupName != null ? this.clusterParameterGroupName.hashCode() : 0);
result = 31 * result + (this.clusterSecurityGroups != null ? this.clusterSecurityGroups.hashCode() : 0);
result = 31 * result + (this.clusterSubnetGroupName != null ? this.clusterSubnetGroupName.hashCode() : 0);
result = 31 * result + (this.clusterVersion != null ? this.clusterVersion.hashCode() : 0);
result = 31 * result + (this.elasticIp != null ? this.elasticIp.hashCode() : 0);
result = 31 * result + (this.encrypted != null ? this.encrypted.hashCode() : 0);
result = 31 * result + (this.hsmClientCertificateIdentifier != null ? this.hsmClientCertificateIdentifier.hashCode() : 0);
result = 31 * result + (this.hsmConfigurationIdentifier != null ? this.hsmConfigurationIdentifier.hashCode() : 0);
result = 31 * result + (this.iamRoles != null ? this.iamRoles.hashCode() : 0);
result = 31 * result + (this.kmsKeyId != null ? this.kmsKeyId.hashCode() : 0);
result = 31 * result + (this.loggingProperties != null ? this.loggingProperties.hashCode() : 0);
result = 31 * result + (this.numberOfNodes != null ? this.numberOfNodes.hashCode() : 0);
result = 31 * result + (this.ownerAccount != null ? this.ownerAccount.hashCode() : 0);
result = 31 * result + (this.port != null ? this.port.hashCode() : 0);
result = 31 * result + (this.preferredMaintenanceWindow != null ? this.preferredMaintenanceWindow.hashCode() : 0);
result = 31 * result + (this.publiclyAccessible != null ? this.publiclyAccessible.hashCode() : 0);
result = 31 * result + (this.snapshotClusterIdentifier != null ? this.snapshotClusterIdentifier.hashCode() : 0);
result = 31 * result + (this.snapshotIdentifier != null ? this.snapshotIdentifier.hashCode() : 0);
result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0);
result = 31 * result + (this.vpcSecurityGroupIds != null ? this.vpcSecurityGroupIds.hashCode() : 0);
return result;
}
}
}