software.amazon.awscdk.services.neptune.alpha.DatabaseClusterProps Maven / Gradle / Ivy
Show all versions of neptune-alpha Show documentation
package software.amazon.awscdk.services.neptune.alpha;
/**
* (experimental) Properties for a new database cluster.
*
* Example:
*
*
* DatabaseCluster cluster = DatabaseCluster.Builder.create(this, "ServerlessDatabase")
* .vpc(vpc)
* .instanceType(InstanceType.SERVERLESS)
* .serverlessScalingConfiguration(ServerlessScalingConfiguration.builder()
* .minCapacity(1)
* .maxCapacity(5)
* .build())
* .build();
*
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-09-19T18:12:10.112Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.neptune.alpha.$Module.class, fqn = "@aws-cdk/aws-neptune-alpha.DatabaseClusterProps")
@software.amazon.jsii.Jsii.Proxy(DatabaseClusterProps.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface DatabaseClusterProps extends software.amazon.jsii.JsiiSerializable {
/**
* (experimental) What type of instance to start for the replicas.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.neptune.alpha.InstanceType getInstanceType();
/**
* (experimental) What subnets to run the Neptune instances in.
*
* Must be at least 2 subnets in two different AZs.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ec2.IVpc getVpc();
/**
* (experimental) A list of AWS Identity and Access Management (IAM) role that can be used by the cluster to access other AWS services.
*
* Default: - No role is attached to the cluster.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.util.List getAssociatedRoles() {
return null;
}
/**
* (experimental) If set to true, Neptune will automatically update the engine of the entire cluster to the latest minor version after a stabilization window of 2 to 3 weeks.
*
* Default: - false
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getAutoMinorVersionUpgrade() {
return null;
}
/**
* (experimental) How many days to retain the backup.
*
* Default: - cdk.Duration.days(1)
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.Duration getBackupRetention() {
return null;
}
/**
* (experimental) The list of log types that need to be enabled for exporting to CloudWatch Logs.
*
* Default: - no log exports
*
* @see https://docs.aws.amazon.com/neptune/latest/userguide/auditing.html#auditing-enable
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.util.List getCloudwatchLogsExports() {
return null;
}
/**
* (experimental) The number of days log events are kept in CloudWatch Logs.
*
* When updating
* this property, unsetting it doesn't remove the log retention policy. To
* remove the retention policy, set the value to Infinity
.
*
* Default: - logs never expire
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.logs.RetentionDays getCloudwatchLogsRetention() {
return null;
}
/**
* (experimental) The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
*
* Default: - a new role is created.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.iam.IRole getCloudwatchLogsRetentionRole() {
return null;
}
/**
* (experimental) Additional parameters to pass to the database engine.
*
* Default: - No parameter group.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.neptune.alpha.IClusterParameterGroup getClusterParameterGroup() {
return null;
}
/**
* (experimental) Whether to copy tags to the snapshot when a snapshot is created.
*
* Default: - false
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getCopyTagsToSnapshot() {
return null;
}
/**
* (experimental) An optional identifier for the cluster.
*
* Default: - A name is automatically generated.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getDbClusterName() {
return null;
}
/**
* (experimental) Indicates whether the DB cluster should have deletion protection enabled.
*
* Default: - true if ``removalPolicy`` is RETAIN, false otherwise
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getDeletionProtection() {
return null;
}
/**
* (experimental) What version of the database to start.
*
* Default: - The default engine version.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.neptune.alpha.EngineVersion getEngineVersion() {
return null;
}
/**
* (experimental) Map AWS Identity and Access Management (IAM) accounts to database accounts.
*
* Default: - `false`
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getIamAuthentication() {
return null;
}
/**
* (experimental) Base identifier for instances.
*
* Every replica is named by appending the replica number to this string, 1-based.
*
* Default: - `dbClusterName` is used with the word "Instance" appended. If `dbClusterName` is not provided, the
* identifier is automatically generated.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getInstanceIdentifierBase() {
return null;
}
/**
* (experimental) Number of Neptune compute instances.
*
* Default: 1
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Number getInstances() {
return null;
}
/**
* (experimental) The KMS key for storage encryption.
*
* Default: - default master key.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getKmsKey() {
return null;
}
/**
* (experimental) The DB parameter group to associate with the instance.
*
* Default: no parameter group
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.neptune.alpha.IParameterGroup getParameterGroup() {
return null;
}
/**
* (experimental) The port number on which the DB instances in the DB cluster accept connections.
*
* Default: 8182
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Number getPort() {
return null;
}
/**
* (experimental) A daily time range in 24-hours UTC format in which backups preferably execute.
*
* Must be at least 30 minutes long.
*
* Example: '01:00-02:00'
*
* Default: - a 30-minute window selected at random from an 8-hour block of
* time for each AWS Region. To see the time blocks available, see
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getPreferredBackupWindow() {
return null;
}
/**
* (experimental) A weekly time range in which maintenance should preferably execute.
*
* Must be at least 30 minutes long.
*
* Example: 'tue:04:17-tue:04:47'
*
* Default: - 30-minute window selected at random from an 8-hour block of time for
* each AWS Region, occurring on a random day of the week.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getPreferredMaintenanceWindow() {
return null;
}
/**
* (experimental) The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted.
*
* This
* removal policy also applies to the implicit security group created for the
* cluster if one is not supplied as a parameter.
*
* Default: - Retain cluster.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.RemovalPolicy getRemovalPolicy() {
return null;
}
/**
* (experimental) Security group.
*
* Default: a new security group is created.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.util.List getSecurityGroups() {
return null;
}
/**
* (experimental) Specify minimum and maximum NCUs capacity for a serverless cluster.
*
* See https://docs.aws.amazon.com/neptune/latest/userguide/neptune-serverless-capacity-scaling.html
*
* Default: - required if instanceType is db.serverless
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.neptune.alpha.ServerlessScalingConfiguration getServerlessScalingConfiguration() {
return null;
}
/**
* (experimental) Whether to enable storage encryption.
*
* Default: true
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getStorageEncrypted() {
return null;
}
/**
* (experimental) Existing subnet group for the cluster.
*
* Default: - a new subnet group will be created.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.neptune.alpha.ISubnetGroup getSubnetGroup() {
return null;
}
/**
* (experimental) Where to place the instances within the VPC.
*
* Default: private subnets
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getVpcSubnets() {
return null;
}
/**
* @return a {@link Builder} of {@link DatabaseClusterProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link DatabaseClusterProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
software.amazon.awscdk.services.neptune.alpha.InstanceType instanceType;
software.amazon.awscdk.services.ec2.IVpc vpc;
java.util.List associatedRoles;
java.lang.Boolean autoMinorVersionUpgrade;
software.amazon.awscdk.Duration backupRetention;
java.util.List cloudwatchLogsExports;
software.amazon.awscdk.services.logs.RetentionDays cloudwatchLogsRetention;
software.amazon.awscdk.services.iam.IRole cloudwatchLogsRetentionRole;
software.amazon.awscdk.services.neptune.alpha.IClusterParameterGroup clusterParameterGroup;
java.lang.Boolean copyTagsToSnapshot;
java.lang.String dbClusterName;
java.lang.Boolean deletionProtection;
software.amazon.awscdk.services.neptune.alpha.EngineVersion engineVersion;
java.lang.Boolean iamAuthentication;
java.lang.String instanceIdentifierBase;
java.lang.Number instances;
software.amazon.awscdk.services.kms.IKey kmsKey;
software.amazon.awscdk.services.neptune.alpha.IParameterGroup parameterGroup;
java.lang.Number port;
java.lang.String preferredBackupWindow;
java.lang.String preferredMaintenanceWindow;
software.amazon.awscdk.RemovalPolicy removalPolicy;
java.util.List securityGroups;
software.amazon.awscdk.services.neptune.alpha.ServerlessScalingConfiguration serverlessScalingConfiguration;
java.lang.Boolean storageEncrypted;
software.amazon.awscdk.services.neptune.alpha.ISubnetGroup subnetGroup;
software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets;
/**
* Sets the value of {@link DatabaseClusterProps#getInstanceType}
* @param instanceType What type of instance to start for the replicas. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder instanceType(software.amazon.awscdk.services.neptune.alpha.InstanceType instanceType) {
this.instanceType = instanceType;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getVpc}
* @param vpc What subnets to run the Neptune instances in. This parameter is required.
* Must be at least 2 subnets in two different AZs.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder vpc(software.amazon.awscdk.services.ec2.IVpc vpc) {
this.vpc = vpc;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getAssociatedRoles}
* @param associatedRoles A list of AWS Identity and Access Management (IAM) role that can be used by the cluster to access other AWS services.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder associatedRoles(java.util.List extends software.amazon.awscdk.services.iam.IRole> associatedRoles) {
this.associatedRoles = (java.util.List)associatedRoles;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getAutoMinorVersionUpgrade}
* @param autoMinorVersionUpgrade If set to true, Neptune will automatically update the engine of the entire cluster to the latest minor version after a stabilization window of 2 to 3 weeks.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoMinorVersionUpgrade(java.lang.Boolean autoMinorVersionUpgrade) {
this.autoMinorVersionUpgrade = autoMinorVersionUpgrade;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getBackupRetention}
* @param backupRetention How many days to retain the backup.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder backupRetention(software.amazon.awscdk.Duration backupRetention) {
this.backupRetention = backupRetention;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getCloudwatchLogsExports}
* @param cloudwatchLogsExports The list of log types that need to be enabled for exporting to CloudWatch Logs.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder cloudwatchLogsExports(java.util.List extends software.amazon.awscdk.services.neptune.alpha.LogType> cloudwatchLogsExports) {
this.cloudwatchLogsExports = (java.util.List)cloudwatchLogsExports;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getCloudwatchLogsRetention}
* @param cloudwatchLogsRetention The number of days log events are kept in CloudWatch Logs.
* When updating
* this property, unsetting it doesn't remove the log retention policy. To
* remove the retention policy, set the value to Infinity
.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder cloudwatchLogsRetention(software.amazon.awscdk.services.logs.RetentionDays cloudwatchLogsRetention) {
this.cloudwatchLogsRetention = cloudwatchLogsRetention;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getCloudwatchLogsRetentionRole}
* @param cloudwatchLogsRetentionRole The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder cloudwatchLogsRetentionRole(software.amazon.awscdk.services.iam.IRole cloudwatchLogsRetentionRole) {
this.cloudwatchLogsRetentionRole = cloudwatchLogsRetentionRole;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getClusterParameterGroup}
* @param clusterParameterGroup Additional parameters to pass to the database engine.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clusterParameterGroup(software.amazon.awscdk.services.neptune.alpha.IClusterParameterGroup clusterParameterGroup) {
this.clusterParameterGroup = clusterParameterGroup;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getCopyTagsToSnapshot}
* @param copyTagsToSnapshot Whether to copy tags to the snapshot when a snapshot is created.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder copyTagsToSnapshot(java.lang.Boolean copyTagsToSnapshot) {
this.copyTagsToSnapshot = copyTagsToSnapshot;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getDbClusterName}
* @param dbClusterName An optional identifier for the cluster.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder dbClusterName(java.lang.String dbClusterName) {
this.dbClusterName = dbClusterName;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getDeletionProtection}
* @param deletionProtection Indicates whether the DB cluster should have deletion protection enabled.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder deletionProtection(java.lang.Boolean deletionProtection) {
this.deletionProtection = deletionProtection;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getEngineVersion}
* @param engineVersion What version of the database to start.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder engineVersion(software.amazon.awscdk.services.neptune.alpha.EngineVersion engineVersion) {
this.engineVersion = engineVersion;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getIamAuthentication}
* @param iamAuthentication Map AWS Identity and Access Management (IAM) accounts to database accounts.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder iamAuthentication(java.lang.Boolean iamAuthentication) {
this.iamAuthentication = iamAuthentication;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getInstanceIdentifierBase}
* @param instanceIdentifierBase Base identifier for instances.
* Every replica is named by appending the replica number to this string, 1-based.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder instanceIdentifierBase(java.lang.String instanceIdentifierBase) {
this.instanceIdentifierBase = instanceIdentifierBase;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getInstances}
* @param instances Number of Neptune compute instances.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder instances(java.lang.Number instances) {
this.instances = instances;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getKmsKey}
* @param kmsKey The KMS key for storage encryption.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder kmsKey(software.amazon.awscdk.services.kms.IKey kmsKey) {
this.kmsKey = kmsKey;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getParameterGroup}
* @param parameterGroup The DB parameter group to associate with the instance.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder parameterGroup(software.amazon.awscdk.services.neptune.alpha.IParameterGroup parameterGroup) {
this.parameterGroup = parameterGroup;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getPort}
* @param port The port number on which the DB instances in the DB cluster accept connections.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder port(java.lang.Number port) {
this.port = port;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getPreferredBackupWindow}
* @param preferredBackupWindow A daily time range in 24-hours UTC format in which backups preferably execute.
* Must be at least 30 minutes long.
*
* Example: '01:00-02:00'
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder preferredBackupWindow(java.lang.String preferredBackupWindow) {
this.preferredBackupWindow = preferredBackupWindow;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getPreferredMaintenanceWindow}
* @param preferredMaintenanceWindow A weekly time range in which maintenance should preferably execute.
* Must be at least 30 minutes long.
*
* Example: 'tue:04:17-tue:04:47'
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder preferredMaintenanceWindow(java.lang.String preferredMaintenanceWindow) {
this.preferredMaintenanceWindow = preferredMaintenanceWindow;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getRemovalPolicy}
* @param removalPolicy The removal policy to apply when the cluster and its instances are removed or replaced during a stack update, or when the stack is deleted.
* This
* removal policy also applies to the implicit security group created for the
* cluster if one is not supplied as a parameter.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder removalPolicy(software.amazon.awscdk.RemovalPolicy removalPolicy) {
this.removalPolicy = removalPolicy;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getSecurityGroups}
* @param securityGroups Security group.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder securityGroups(java.util.List extends software.amazon.awscdk.services.ec2.ISecurityGroup> securityGroups) {
this.securityGroups = (java.util.List)securityGroups;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getServerlessScalingConfiguration}
* @param serverlessScalingConfiguration Specify minimum and maximum NCUs capacity for a serverless cluster.
* See https://docs.aws.amazon.com/neptune/latest/userguide/neptune-serverless-capacity-scaling.html
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder serverlessScalingConfiguration(software.amazon.awscdk.services.neptune.alpha.ServerlessScalingConfiguration serverlessScalingConfiguration) {
this.serverlessScalingConfiguration = serverlessScalingConfiguration;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getStorageEncrypted}
* @param storageEncrypted Whether to enable storage encryption.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder storageEncrypted(java.lang.Boolean storageEncrypted) {
this.storageEncrypted = storageEncrypted;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getSubnetGroup}
* @param subnetGroup Existing subnet group for the cluster.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder subnetGroup(software.amazon.awscdk.services.neptune.alpha.ISubnetGroup subnetGroup) {
this.subnetGroup = subnetGroup;
return this;
}
/**
* Sets the value of {@link DatabaseClusterProps#getVpcSubnets}
* @param vpcSubnets Where to place the instances within the VPC.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder vpcSubnets(software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets) {
this.vpcSubnets = vpcSubnets;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link DatabaseClusterProps}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public DatabaseClusterProps build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link DatabaseClusterProps}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DatabaseClusterProps {
private final software.amazon.awscdk.services.neptune.alpha.InstanceType instanceType;
private final software.amazon.awscdk.services.ec2.IVpc vpc;
private final java.util.List associatedRoles;
private final java.lang.Boolean autoMinorVersionUpgrade;
private final software.amazon.awscdk.Duration backupRetention;
private final java.util.List cloudwatchLogsExports;
private final software.amazon.awscdk.services.logs.RetentionDays cloudwatchLogsRetention;
private final software.amazon.awscdk.services.iam.IRole cloudwatchLogsRetentionRole;
private final software.amazon.awscdk.services.neptune.alpha.IClusterParameterGroup clusterParameterGroup;
private final java.lang.Boolean copyTagsToSnapshot;
private final java.lang.String dbClusterName;
private final java.lang.Boolean deletionProtection;
private final software.amazon.awscdk.services.neptune.alpha.EngineVersion engineVersion;
private final java.lang.Boolean iamAuthentication;
private final java.lang.String instanceIdentifierBase;
private final java.lang.Number instances;
private final software.amazon.awscdk.services.kms.IKey kmsKey;
private final software.amazon.awscdk.services.neptune.alpha.IParameterGroup parameterGroup;
private final java.lang.Number port;
private final java.lang.String preferredBackupWindow;
private final java.lang.String preferredMaintenanceWindow;
private final software.amazon.awscdk.RemovalPolicy removalPolicy;
private final java.util.List securityGroups;
private final software.amazon.awscdk.services.neptune.alpha.ServerlessScalingConfiguration serverlessScalingConfiguration;
private final java.lang.Boolean storageEncrypted;
private final software.amazon.awscdk.services.neptune.alpha.ISubnetGroup subnetGroup;
private final software.amazon.awscdk.services.ec2.SubnetSelection vpcSubnets;
/**
* 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.instanceType = software.amazon.jsii.Kernel.get(this, "instanceType", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.neptune.alpha.InstanceType.class));
this.vpc = software.amazon.jsii.Kernel.get(this, "vpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class));
this.associatedRoles = software.amazon.jsii.Kernel.get(this, "associatedRoles", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class)));
this.autoMinorVersionUpgrade = software.amazon.jsii.Kernel.get(this, "autoMinorVersionUpgrade", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.backupRetention = software.amazon.jsii.Kernel.get(this, "backupRetention", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Duration.class));
this.cloudwatchLogsExports = software.amazon.jsii.Kernel.get(this, "cloudwatchLogsExports", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.neptune.alpha.LogType.class)));
this.cloudwatchLogsRetention = software.amazon.jsii.Kernel.get(this, "cloudwatchLogsRetention", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.logs.RetentionDays.class));
this.cloudwatchLogsRetentionRole = software.amazon.jsii.Kernel.get(this, "cloudwatchLogsRetentionRole", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.iam.IRole.class));
this.clusterParameterGroup = software.amazon.jsii.Kernel.get(this, "clusterParameterGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.neptune.alpha.IClusterParameterGroup.class));
this.copyTagsToSnapshot = software.amazon.jsii.Kernel.get(this, "copyTagsToSnapshot", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.dbClusterName = software.amazon.jsii.Kernel.get(this, "dbClusterName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.deletionProtection = software.amazon.jsii.Kernel.get(this, "deletionProtection", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.engineVersion = software.amazon.jsii.Kernel.get(this, "engineVersion", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.neptune.alpha.EngineVersion.class));
this.iamAuthentication = software.amazon.jsii.Kernel.get(this, "iamAuthentication", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.instanceIdentifierBase = software.amazon.jsii.Kernel.get(this, "instanceIdentifierBase", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.instances = software.amazon.jsii.Kernel.get(this, "instances", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.kmsKey = software.amazon.jsii.Kernel.get(this, "kmsKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class));
this.parameterGroup = software.amazon.jsii.Kernel.get(this, "parameterGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.neptune.alpha.IParameterGroup.class));
this.port = software.amazon.jsii.Kernel.get(this, "port", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.preferredBackupWindow = software.amazon.jsii.Kernel.get(this, "preferredBackupWindow", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.preferredMaintenanceWindow = software.amazon.jsii.Kernel.get(this, "preferredMaintenanceWindow", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.removalPolicy = software.amazon.jsii.Kernel.get(this, "removalPolicy", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.RemovalPolicy.class));
this.securityGroups = software.amazon.jsii.Kernel.get(this, "securityGroups", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.ISecurityGroup.class)));
this.serverlessScalingConfiguration = software.amazon.jsii.Kernel.get(this, "serverlessScalingConfiguration", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.neptune.alpha.ServerlessScalingConfiguration.class));
this.storageEncrypted = software.amazon.jsii.Kernel.get(this, "storageEncrypted", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.subnetGroup = software.amazon.jsii.Kernel.get(this, "subnetGroup", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.neptune.alpha.ISubnetGroup.class));
this.vpcSubnets = software.amazon.jsii.Kernel.get(this, "vpcSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
@SuppressWarnings("unchecked")
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.instanceType = java.util.Objects.requireNonNull(builder.instanceType, "instanceType is required");
this.vpc = java.util.Objects.requireNonNull(builder.vpc, "vpc is required");
this.associatedRoles = (java.util.List)builder.associatedRoles;
this.autoMinorVersionUpgrade = builder.autoMinorVersionUpgrade;
this.backupRetention = builder.backupRetention;
this.cloudwatchLogsExports = (java.util.List)builder.cloudwatchLogsExports;
this.cloudwatchLogsRetention = builder.cloudwatchLogsRetention;
this.cloudwatchLogsRetentionRole = builder.cloudwatchLogsRetentionRole;
this.clusterParameterGroup = builder.clusterParameterGroup;
this.copyTagsToSnapshot = builder.copyTagsToSnapshot;
this.dbClusterName = builder.dbClusterName;
this.deletionProtection = builder.deletionProtection;
this.engineVersion = builder.engineVersion;
this.iamAuthentication = builder.iamAuthentication;
this.instanceIdentifierBase = builder.instanceIdentifierBase;
this.instances = builder.instances;
this.kmsKey = builder.kmsKey;
this.parameterGroup = builder.parameterGroup;
this.port = builder.port;
this.preferredBackupWindow = builder.preferredBackupWindow;
this.preferredMaintenanceWindow = builder.preferredMaintenanceWindow;
this.removalPolicy = builder.removalPolicy;
this.securityGroups = (java.util.List)builder.securityGroups;
this.serverlessScalingConfiguration = builder.serverlessScalingConfiguration;
this.storageEncrypted = builder.storageEncrypted;
this.subnetGroup = builder.subnetGroup;
this.vpcSubnets = builder.vpcSubnets;
}
@Override
public final software.amazon.awscdk.services.neptune.alpha.InstanceType getInstanceType() {
return this.instanceType;
}
@Override
public final software.amazon.awscdk.services.ec2.IVpc getVpc() {
return this.vpc;
}
@Override
public final java.util.List getAssociatedRoles() {
return this.associatedRoles;
}
@Override
public final java.lang.Boolean getAutoMinorVersionUpgrade() {
return this.autoMinorVersionUpgrade;
}
@Override
public final software.amazon.awscdk.Duration getBackupRetention() {
return this.backupRetention;
}
@Override
public final java.util.List getCloudwatchLogsExports() {
return this.cloudwatchLogsExports;
}
@Override
public final software.amazon.awscdk.services.logs.RetentionDays getCloudwatchLogsRetention() {
return this.cloudwatchLogsRetention;
}
@Override
public final software.amazon.awscdk.services.iam.IRole getCloudwatchLogsRetentionRole() {
return this.cloudwatchLogsRetentionRole;
}
@Override
public final software.amazon.awscdk.services.neptune.alpha.IClusterParameterGroup getClusterParameterGroup() {
return this.clusterParameterGroup;
}
@Override
public final java.lang.Boolean getCopyTagsToSnapshot() {
return this.copyTagsToSnapshot;
}
@Override
public final java.lang.String getDbClusterName() {
return this.dbClusterName;
}
@Override
public final java.lang.Boolean getDeletionProtection() {
return this.deletionProtection;
}
@Override
public final software.amazon.awscdk.services.neptune.alpha.EngineVersion getEngineVersion() {
return this.engineVersion;
}
@Override
public final java.lang.Boolean getIamAuthentication() {
return this.iamAuthentication;
}
@Override
public final java.lang.String getInstanceIdentifierBase() {
return this.instanceIdentifierBase;
}
@Override
public final java.lang.Number getInstances() {
return this.instances;
}
@Override
public final software.amazon.awscdk.services.kms.IKey getKmsKey() {
return this.kmsKey;
}
@Override
public final software.amazon.awscdk.services.neptune.alpha.IParameterGroup getParameterGroup() {
return this.parameterGroup;
}
@Override
public final java.lang.Number getPort() {
return this.port;
}
@Override
public final java.lang.String getPreferredBackupWindow() {
return this.preferredBackupWindow;
}
@Override
public final java.lang.String getPreferredMaintenanceWindow() {
return this.preferredMaintenanceWindow;
}
@Override
public final software.amazon.awscdk.RemovalPolicy getRemovalPolicy() {
return this.removalPolicy;
}
@Override
public final java.util.List getSecurityGroups() {
return this.securityGroups;
}
@Override
public final software.amazon.awscdk.services.neptune.alpha.ServerlessScalingConfiguration getServerlessScalingConfiguration() {
return this.serverlessScalingConfiguration;
}
@Override
public final java.lang.Boolean getStorageEncrypted() {
return this.storageEncrypted;
}
@Override
public final software.amazon.awscdk.services.neptune.alpha.ISubnetGroup getSubnetGroup() {
return this.subnetGroup;
}
@Override
public final software.amazon.awscdk.services.ec2.SubnetSelection getVpcSubnets() {
return this.vpcSubnets;
}
@Override
@software.amazon.jsii.Internal
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("instanceType", om.valueToTree(this.getInstanceType()));
data.set("vpc", om.valueToTree(this.getVpc()));
if (this.getAssociatedRoles() != null) {
data.set("associatedRoles", om.valueToTree(this.getAssociatedRoles()));
}
if (this.getAutoMinorVersionUpgrade() != null) {
data.set("autoMinorVersionUpgrade", om.valueToTree(this.getAutoMinorVersionUpgrade()));
}
if (this.getBackupRetention() != null) {
data.set("backupRetention", om.valueToTree(this.getBackupRetention()));
}
if (this.getCloudwatchLogsExports() != null) {
data.set("cloudwatchLogsExports", om.valueToTree(this.getCloudwatchLogsExports()));
}
if (this.getCloudwatchLogsRetention() != null) {
data.set("cloudwatchLogsRetention", om.valueToTree(this.getCloudwatchLogsRetention()));
}
if (this.getCloudwatchLogsRetentionRole() != null) {
data.set("cloudwatchLogsRetentionRole", om.valueToTree(this.getCloudwatchLogsRetentionRole()));
}
if (this.getClusterParameterGroup() != null) {
data.set("clusterParameterGroup", om.valueToTree(this.getClusterParameterGroup()));
}
if (this.getCopyTagsToSnapshot() != null) {
data.set("copyTagsToSnapshot", om.valueToTree(this.getCopyTagsToSnapshot()));
}
if (this.getDbClusterName() != null) {
data.set("dbClusterName", om.valueToTree(this.getDbClusterName()));
}
if (this.getDeletionProtection() != null) {
data.set("deletionProtection", om.valueToTree(this.getDeletionProtection()));
}
if (this.getEngineVersion() != null) {
data.set("engineVersion", om.valueToTree(this.getEngineVersion()));
}
if (this.getIamAuthentication() != null) {
data.set("iamAuthentication", om.valueToTree(this.getIamAuthentication()));
}
if (this.getInstanceIdentifierBase() != null) {
data.set("instanceIdentifierBase", om.valueToTree(this.getInstanceIdentifierBase()));
}
if (this.getInstances() != null) {
data.set("instances", om.valueToTree(this.getInstances()));
}
if (this.getKmsKey() != null) {
data.set("kmsKey", om.valueToTree(this.getKmsKey()));
}
if (this.getParameterGroup() != null) {
data.set("parameterGroup", om.valueToTree(this.getParameterGroup()));
}
if (this.getPort() != null) {
data.set("port", om.valueToTree(this.getPort()));
}
if (this.getPreferredBackupWindow() != null) {
data.set("preferredBackupWindow", om.valueToTree(this.getPreferredBackupWindow()));
}
if (this.getPreferredMaintenanceWindow() != null) {
data.set("preferredMaintenanceWindow", om.valueToTree(this.getPreferredMaintenanceWindow()));
}
if (this.getRemovalPolicy() != null) {
data.set("removalPolicy", om.valueToTree(this.getRemovalPolicy()));
}
if (this.getSecurityGroups() != null) {
data.set("securityGroups", om.valueToTree(this.getSecurityGroups()));
}
if (this.getServerlessScalingConfiguration() != null) {
data.set("serverlessScalingConfiguration", om.valueToTree(this.getServerlessScalingConfiguration()));
}
if (this.getStorageEncrypted() != null) {
data.set("storageEncrypted", om.valueToTree(this.getStorageEncrypted()));
}
if (this.getSubnetGroup() != null) {
data.set("subnetGroup", om.valueToTree(this.getSubnetGroup()));
}
if (this.getVpcSubnets() != null) {
data.set("vpcSubnets", om.valueToTree(this.getVpcSubnets()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@aws-cdk/aws-neptune-alpha.DatabaseClusterProps"));
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 final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DatabaseClusterProps.Jsii$Proxy that = (DatabaseClusterProps.Jsii$Proxy) o;
if (!instanceType.equals(that.instanceType)) return false;
if (!vpc.equals(that.vpc)) return false;
if (this.associatedRoles != null ? !this.associatedRoles.equals(that.associatedRoles) : that.associatedRoles != null) return false;
if (this.autoMinorVersionUpgrade != null ? !this.autoMinorVersionUpgrade.equals(that.autoMinorVersionUpgrade) : that.autoMinorVersionUpgrade != null) return false;
if (this.backupRetention != null ? !this.backupRetention.equals(that.backupRetention) : that.backupRetention != null) return false;
if (this.cloudwatchLogsExports != null ? !this.cloudwatchLogsExports.equals(that.cloudwatchLogsExports) : that.cloudwatchLogsExports != null) return false;
if (this.cloudwatchLogsRetention != null ? !this.cloudwatchLogsRetention.equals(that.cloudwatchLogsRetention) : that.cloudwatchLogsRetention != null) return false;
if (this.cloudwatchLogsRetentionRole != null ? !this.cloudwatchLogsRetentionRole.equals(that.cloudwatchLogsRetentionRole) : that.cloudwatchLogsRetentionRole != null) return false;
if (this.clusterParameterGroup != null ? !this.clusterParameterGroup.equals(that.clusterParameterGroup) : that.clusterParameterGroup != null) return false;
if (this.copyTagsToSnapshot != null ? !this.copyTagsToSnapshot.equals(that.copyTagsToSnapshot) : that.copyTagsToSnapshot != null) return false;
if (this.dbClusterName != null ? !this.dbClusterName.equals(that.dbClusterName) : that.dbClusterName != null) return false;
if (this.deletionProtection != null ? !this.deletionProtection.equals(that.deletionProtection) : that.deletionProtection != null) return false;
if (this.engineVersion != null ? !this.engineVersion.equals(that.engineVersion) : that.engineVersion != null) return false;
if (this.iamAuthentication != null ? !this.iamAuthentication.equals(that.iamAuthentication) : that.iamAuthentication != null) return false;
if (this.instanceIdentifierBase != null ? !this.instanceIdentifierBase.equals(that.instanceIdentifierBase) : that.instanceIdentifierBase != null) return false;
if (this.instances != null ? !this.instances.equals(that.instances) : that.instances != null) return false;
if (this.kmsKey != null ? !this.kmsKey.equals(that.kmsKey) : that.kmsKey != null) return false;
if (this.parameterGroup != null ? !this.parameterGroup.equals(that.parameterGroup) : that.parameterGroup != null) return false;
if (this.port != null ? !this.port.equals(that.port) : that.port != null) return false;
if (this.preferredBackupWindow != null ? !this.preferredBackupWindow.equals(that.preferredBackupWindow) : that.preferredBackupWindow != null) return false;
if (this.preferredMaintenanceWindow != null ? !this.preferredMaintenanceWindow.equals(that.preferredMaintenanceWindow) : that.preferredMaintenanceWindow != null) return false;
if (this.removalPolicy != null ? !this.removalPolicy.equals(that.removalPolicy) : that.removalPolicy != null) return false;
if (this.securityGroups != null ? !this.securityGroups.equals(that.securityGroups) : that.securityGroups != null) return false;
if (this.serverlessScalingConfiguration != null ? !this.serverlessScalingConfiguration.equals(that.serverlessScalingConfiguration) : that.serverlessScalingConfiguration != null) return false;
if (this.storageEncrypted != null ? !this.storageEncrypted.equals(that.storageEncrypted) : that.storageEncrypted != null) return false;
if (this.subnetGroup != null ? !this.subnetGroup.equals(that.subnetGroup) : that.subnetGroup != null) return false;
return this.vpcSubnets != null ? this.vpcSubnets.equals(that.vpcSubnets) : that.vpcSubnets == null;
}
@Override
public final int hashCode() {
int result = this.instanceType.hashCode();
result = 31 * result + (this.vpc.hashCode());
result = 31 * result + (this.associatedRoles != null ? this.associatedRoles.hashCode() : 0);
result = 31 * result + (this.autoMinorVersionUpgrade != null ? this.autoMinorVersionUpgrade.hashCode() : 0);
result = 31 * result + (this.backupRetention != null ? this.backupRetention.hashCode() : 0);
result = 31 * result + (this.cloudwatchLogsExports != null ? this.cloudwatchLogsExports.hashCode() : 0);
result = 31 * result + (this.cloudwatchLogsRetention != null ? this.cloudwatchLogsRetention.hashCode() : 0);
result = 31 * result + (this.cloudwatchLogsRetentionRole != null ? this.cloudwatchLogsRetentionRole.hashCode() : 0);
result = 31 * result + (this.clusterParameterGroup != null ? this.clusterParameterGroup.hashCode() : 0);
result = 31 * result + (this.copyTagsToSnapshot != null ? this.copyTagsToSnapshot.hashCode() : 0);
result = 31 * result + (this.dbClusterName != null ? this.dbClusterName.hashCode() : 0);
result = 31 * result + (this.deletionProtection != null ? this.deletionProtection.hashCode() : 0);
result = 31 * result + (this.engineVersion != null ? this.engineVersion.hashCode() : 0);
result = 31 * result + (this.iamAuthentication != null ? this.iamAuthentication.hashCode() : 0);
result = 31 * result + (this.instanceIdentifierBase != null ? this.instanceIdentifierBase.hashCode() : 0);
result = 31 * result + (this.instances != null ? this.instances.hashCode() : 0);
result = 31 * result + (this.kmsKey != null ? this.kmsKey.hashCode() : 0);
result = 31 * result + (this.parameterGroup != null ? this.parameterGroup.hashCode() : 0);
result = 31 * result + (this.port != null ? this.port.hashCode() : 0);
result = 31 * result + (this.preferredBackupWindow != null ? this.preferredBackupWindow.hashCode() : 0);
result = 31 * result + (this.preferredMaintenanceWindow != null ? this.preferredMaintenanceWindow.hashCode() : 0);
result = 31 * result + (this.removalPolicy != null ? this.removalPolicy.hashCode() : 0);
result = 31 * result + (this.securityGroups != null ? this.securityGroups.hashCode() : 0);
result = 31 * result + (this.serverlessScalingConfiguration != null ? this.serverlessScalingConfiguration.hashCode() : 0);
result = 31 * result + (this.storageEncrypted != null ? this.storageEncrypted.hashCode() : 0);
result = 31 * result + (this.subnetGroup != null ? this.subnetGroup.hashCode() : 0);
result = 31 * result + (this.vpcSubnets != null ? this.vpcSubnets.hashCode() : 0);
return result;
}
}
}