Class: AWSCDK::RDS::DatabaseInstanceSourceProps

Inherits:
DatabaseInstanceNewProps
  • Object
show all
Defined in:
rds/database_instance_source_props.rb

Overview

Construction properties for a DatabaseInstanceSource.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(vpc:, apply_immediately: nil, auto_minor_version_upgrade: nil, availability_zone: nil, backup_retention: nil, ca_certificate: nil, cloudwatch_logs_exports: nil, cloudwatch_logs_retention: nil, cloudwatch_logs_retention_role: nil, copy_tags_to_snapshot: nil, database_insights_mode: nil, delete_automated_backups: nil, deletion_protection: nil, domain: nil, domain_role: nil, enable_performance_insights: nil, engine_lifecycle_support: nil, iam_authentication: nil, instance_identifier: nil, iops: nil, max_allocated_storage: nil, monitoring_interval: nil, monitoring_role: nil, multi_az: nil, network_type: nil, option_group: nil, parameter_group: nil, performance_insight_encryption_key: nil, performance_insight_retention: nil, port: nil, preferred_backup_window: nil, preferred_maintenance_window: nil, processor_features: nil, publicly_accessible: nil, removal_policy: nil, s3_export_buckets: nil, s3_export_role: nil, s3_import_buckets: nil, s3_import_role: nil, security_groups: nil, storage_throughput: nil, storage_type: nil, subnet_group: nil, vpc_subnets: nil, engine:, allocated_storage: nil, allow_major_version_upgrade: nil, database_name: nil, instance_type: nil, license_model: nil, parameters: nil, timezone: nil) ⇒ DatabaseInstanceSourceProps

Returns a new instance of DatabaseInstanceSourceProps.

Parameters:

  • vpc (AWSCDK::EC2::IVPC)

    The VPC network where the DB subnet group should be created.

  • apply_immediately (Boolean, nil) (defaults to: nil)

    Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the preferredMaintenanceWindow setting.

  • auto_minor_version_upgrade (Boolean, nil) (defaults to: nil)

    Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

  • availability_zone (String, nil) (defaults to: nil)

    The name of the Availability Zone where the DB instance will be located.

  • backup_retention (AWSCDK::Duration, nil) (defaults to: nil)

    The number of days during which automatic DB snapshots are retained.

  • ca_certificate (AWSCDK::RDS::CaCertificate, nil) (defaults to: nil)

    The identifier of the CA certificate for this DB instance.

  • cloudwatch_logs_exports (Array<String>, nil) (defaults to: nil)

    The list of log types that need to be enabled for exporting to CloudWatch Logs.

  • cloudwatch_logs_retention (AWSCDK::Logs::RetentionDays, nil) (defaults to: nil)

    The number of days log events are kept in CloudWatch Logs.

  • cloudwatch_logs_retention_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    The IAM role for the Lambda function associated with the custom resource that sets the retention policy.

  • copy_tags_to_snapshot (Boolean, nil) (defaults to: nil)

    Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance.

  • database_insights_mode (AWSCDK::RDS::DatabaseInsightsMode, nil) (defaults to: nil)

    The database insights mode.

  • delete_automated_backups (Boolean, nil) (defaults to: nil)

    Indicates whether automated backups should be deleted or retained when you delete a DB instance.

  • deletion_protection (Boolean, nil) (defaults to: nil)

    Indicates whether the DB instance should have deletion protection enabled.

  • domain (String, nil) (defaults to: nil)

    The Active Directory directory ID to create the DB instance in.

  • domain_role (AWSCDK::Interfaces::AWSIAM::IRoleRef, nil) (defaults to: nil)

    The IAM role to be used when making API calls to the Directory Service.

  • enable_performance_insights (Boolean, nil) (defaults to: nil)

    Whether to enable Performance Insights for the DB instance.

  • engine_lifecycle_support (AWSCDK::RDS::EngineLifecycleSupport, nil) (defaults to: nil)

    The life cycle type for this DB instance.

  • iam_authentication (Boolean, nil) (defaults to: nil)

    Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.

  • instance_identifier (String, nil) (defaults to: nil)

    A name for the DB instance.

  • iops (Numeric, nil) (defaults to: nil)

    The number of I/O operations per second (IOPS) that the database provisions.

  • max_allocated_storage (Numeric, nil) (defaults to: nil)

    Upper limit to which RDS can scale the storage in GiB(Gibibyte).

  • monitoring_interval (AWSCDK::Duration, nil) (defaults to: nil)

    The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance.

  • monitoring_role (AWSCDK::Interfaces::AWSIAM::IRoleRef, nil) (defaults to: nil)

    Role that will be used to manage DB instance monitoring.

  • multi_az (Boolean, nil) (defaults to: nil)

    Specifies if the database instance is a multiple Availability Zone deployment.

  • network_type (AWSCDK::RDS::NetworkType, nil) (defaults to: nil)

    The network type of the DB instance.

  • option_group (AWSCDK::RDS::IOptionGroup, nil) (defaults to: nil)

    The option group to associate with the instance.

  • parameter_group (AWSCDK::RDS::IParameterGroup, nil) (defaults to: nil)

    The DB parameter group to associate with the instance.

  • performance_insight_encryption_key (AWSCDK::Interfaces::AWSKMS::IKeyRef, nil) (defaults to: nil)

    The AWS KMS key for encryption of Performance Insights data.

  • performance_insight_retention (AWSCDK::RDS::PerformanceInsightRetention, nil) (defaults to: nil)

    The amount of time, in days, to retain Performance Insights data.

  • port (Numeric, nil) (defaults to: nil)

    The port for the instance.

  • preferred_backup_window (String, nil) (defaults to: nil)

    The daily time range during which automated backups are performed.

  • preferred_maintenance_window (String, nil) (defaults to: nil)

    The weekly time range (in UTC) during which system maintenance can occur.

  • processor_features (AWSCDK::RDS::ProcessorFeatures, nil) (defaults to: nil)

    The number of CPU cores and the number of threads per core.

  • publicly_accessible (Boolean, nil) (defaults to: nil)

    Indicates whether the DB instance is an internet-facing instance.

  • removal_policy (AWSCDK::RemovalPolicy, nil) (defaults to: nil)

    The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update.

  • s3_export_buckets (Array<AWSCDK::S3::IBucket>, nil) (defaults to: nil)

    S3 buckets that you want to load data into.

  • s3_export_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    Role that will be associated with this DB instance to enable S3 export.

  • s3_import_buckets (Array<AWSCDK::S3::IBucket>, nil) (defaults to: nil)

    S3 buckets that you want to load data from.

  • s3_import_role (AWSCDK::IAM::IRole, nil) (defaults to: nil)

    Role that will be associated with this DB instance to enable S3 import.

  • security_groups (Array<AWSCDK::EC2::ISecurityGroup>, nil) (defaults to: nil)

    The security groups to assign to the DB instance.

  • storage_throughput (Numeric, nil) (defaults to: nil)

    The storage throughput, specified in mebibytes per second (MiBps).

  • storage_type (AWSCDK::RDS::StorageType, nil) (defaults to: nil)

    The storage type to associate with the DB instance.

  • subnet_group (AWSCDK::Interfaces::AWSRDS::IDBSubnetGroupRef, nil) (defaults to: nil)

    Existing subnet group for the instance.

  • vpc_subnets (AWSCDK::EC2::SubnetSelection, nil) (defaults to: nil)

    The type of subnets to add to the created DB subnet group.

  • engine (AWSCDK::RDS::IInstanceEngine)

    The database engine.

  • allocated_storage (Numeric, nil) (defaults to: nil)

    The allocated storage size, specified in gibibytes (GiB).

  • allow_major_version_upgrade (Boolean, nil) (defaults to: nil)

    Whether to allow major version upgrades.

  • database_name (String, nil) (defaults to: nil)

    The name of the database.

  • instance_type (AWSCDK::EC2::InstanceType, nil) (defaults to: nil)

    The name of the compute and memory capacity for the instance.

  • license_model (AWSCDK::RDS::LicenseModel, nil) (defaults to: nil)

    The license model.

  • parameters (Hash{String => String}, nil) (defaults to: nil)

    The parameters in the DBParameterGroup to create automatically.

  • timezone (String, nil) (defaults to: nil)

    The time zone of the instance.



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'rds/database_instance_source_props.rb', line 59

def initialize(vpc:, apply_immediately: nil, auto_minor_version_upgrade: nil, availability_zone: nil, backup_retention: nil, ca_certificate: nil, cloudwatch_logs_exports: nil, cloudwatch_logs_retention: nil, cloudwatch_logs_retention_role: nil, copy_tags_to_snapshot: nil, database_insights_mode: nil, delete_automated_backups: nil, deletion_protection: nil, domain: nil, domain_role: nil, enable_performance_insights: nil, engine_lifecycle_support: nil, iam_authentication: nil, instance_identifier: nil, iops: nil, max_allocated_storage: nil, monitoring_interval: nil, monitoring_role: nil, multi_az: nil, network_type: nil, option_group: nil, parameter_group: nil, performance_insight_encryption_key: nil, performance_insight_retention: nil, port: nil, preferred_backup_window: nil, preferred_maintenance_window: nil, processor_features: nil, publicly_accessible: nil, removal_policy: nil, s3_export_buckets: nil, s3_export_role: nil, s3_import_buckets: nil, s3_import_role: nil, security_groups: nil, storage_throughput: nil, storage_type: nil, subnet_group: nil, vpc_subnets: nil, engine:, allocated_storage: nil, allow_major_version_upgrade: nil, database_name: nil, instance_type: nil, license_model: nil, parameters: nil, timezone: nil)
  @vpc = vpc
  Jsii::Type.check_type(@vpc, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLklWcGMifQ==")), "vpc")
  @apply_immediately = apply_immediately
  Jsii::Type.check_type(@apply_immediately, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "applyImmediately") unless @apply_immediately.nil?
  @auto_minor_version_upgrade = auto_minor_version_upgrade
  Jsii::Type.check_type(@auto_minor_version_upgrade, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "autoMinorVersionUpgrade") unless @auto_minor_version_upgrade.nil?
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil?
  @backup_retention = backup_retention
  Jsii::Type.check_type(@backup_retention, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "backupRetention") unless @backup_retention.nil?
  @ca_certificate = ca_certificate
  Jsii::Type.check_type(@ca_certificate, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkNhQ2VydGlmaWNhdGUifQ==")), "caCertificate") unless @ca_certificate.nil?
  @cloudwatch_logs_exports = cloudwatch_logs_exports
  Jsii::Type.check_type(@cloudwatch_logs_exports, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cloudwatchLogsExports") unless @cloudwatch_logs_exports.nil?
  @cloudwatch_logs_retention = cloudwatch_logs_retention
  Jsii::Type.check_type(@cloudwatch_logs_retention, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbG9ncy5SZXRlbnRpb25EYXlzIn0=")), "cloudwatchLogsRetention") unless @cloudwatch_logs_retention.nil?
  @cloudwatch_logs_retention_role = cloudwatch_logs_retention_role
  Jsii::Type.check_type(@cloudwatch_logs_retention_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "cloudwatchLogsRetentionRole") unless @cloudwatch_logs_retention_role.nil?
  @copy_tags_to_snapshot = copy_tags_to_snapshot
  Jsii::Type.check_type(@copy_tags_to_snapshot, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "copyTagsToSnapshot") unless @copy_tags_to_snapshot.nil?
  @database_insights_mode = database_insights_mode
  Jsii::Type.check_type(@database_insights_mode, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkRhdGFiYXNlSW5zaWdodHNNb2RlIn0=")), "databaseInsightsMode") unless @database_insights_mode.nil?
  @delete_automated_backups = delete_automated_backups
  Jsii::Type.check_type(@delete_automated_backups, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "deleteAutomatedBackups") unless @delete_automated_backups.nil?
  @deletion_protection = deletion_protection
  Jsii::Type.check_type(@deletion_protection, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "deletionProtection") unless @deletion_protection.nil?
  @domain = domain
  Jsii::Type.check_type(@domain, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domain") unless @domain.nil?
  @domain_role = domain_role
  Jsii::Type.check_type(@domain_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifQ==")), "domainRole") unless @domain_role.nil?
  @enable_performance_insights = enable_performance_insights
  Jsii::Type.check_type(@enable_performance_insights, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enablePerformanceInsights") unless @enable_performance_insights.nil?
  @engine_lifecycle_support = engine_lifecycle_support
  Jsii::Type.check_type(@engine_lifecycle_support, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkVuZ2luZUxpZmVjeWNsZVN1cHBvcnQifQ==")), "engineLifecycleSupport") unless @engine_lifecycle_support.nil?
  @iam_authentication = iam_authentication
  Jsii::Type.check_type(@iam_authentication, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "iamAuthentication") unless @iam_authentication.nil?
  @instance_identifier = instance_identifier
  Jsii::Type.check_type(@instance_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceIdentifier") unless @instance_identifier.nil?
  @iops = iops
  Jsii::Type.check_type(@iops, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "iops") unless @iops.nil?
  @max_allocated_storage = max_allocated_storage
  Jsii::Type.check_type(@max_allocated_storage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxAllocatedStorage") unless @max_allocated_storage.nil?
  @monitoring_interval = monitoring_interval
  Jsii::Type.check_type(@monitoring_interval, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5EdXJhdGlvbiJ9")), "monitoringInterval") unless @monitoring_interval.nil?
  @monitoring_role = monitoring_role
  Jsii::Type.check_type(@monitoring_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifQ==")), "monitoringRole") unless @monitoring_role.nil?
  @multi_az = multi_az
  Jsii::Type.check_type(@multi_az, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "multiAz") unless @multi_az.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLk5ldHdvcmtUeXBlIn0=")), "networkType") unless @network_type.nil?
  @option_group = option_group
  Jsii::Type.check_type(@option_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLklPcHRpb25Hcm91cCJ9")), "optionGroup") unless @option_group.nil?
  @parameter_group = parameter_group
  Jsii::Type.check_type(@parameter_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLklQYXJhbWV0ZXJHcm91cCJ9")), "parameterGroup") unless @parameter_group.nil?
  @performance_insight_encryption_key = performance_insight_encryption_key
  Jsii::Type.check_type(@performance_insight_encryption_key, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9")), "performanceInsightEncryptionKey") unless @performance_insight_encryption_key.nil?
  @performance_insight_retention = performance_insight_retention
  Jsii::Type.check_type(@performance_insight_retention, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLlBlcmZvcm1hbmNlSW5zaWdodFJldGVudGlvbiJ9")), "performanceInsightRetention") unless @performance_insight_retention.nil?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil?
  @preferred_backup_window = preferred_backup_window
  Jsii::Type.check_type(@preferred_backup_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredBackupWindow") unless @preferred_backup_window.nil?
  @preferred_maintenance_window = preferred_maintenance_window
  Jsii::Type.check_type(@preferred_maintenance_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless @preferred_maintenance_window.nil?
  @processor_features = processor_features.is_a?(Hash) ? ::AWSCDK::RDS::ProcessorFeatures.new(**processor_features.transform_keys(&:to_sym)) : processor_features
  Jsii::Type.check_type(@processor_features, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLlByb2Nlc3NvckZlYXR1cmVzIn0=")), "processorFeatures") unless @processor_features.nil?
  @publicly_accessible = publicly_accessible
  Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "publiclyAccessible") unless @publicly_accessible.nil?
  @removal_policy = removal_policy
  Jsii::Type.check_type(@removal_policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "removalPolicy") unless @removal_policy.nil?
  @s3_export_buckets = s3_export_buckets
  Jsii::Type.check_type(@s3_export_buckets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5JQnVja2V0In0sImtpbmQiOiJhcnJheSJ9fQ==")), "s3ExportBuckets") unless @s3_export_buckets.nil?
  @s3_export_role = s3_export_role
  Jsii::Type.check_type(@s3_export_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "s3ExportRole") unless @s3_export_role.nil?
  @s3_import_buckets = s3_import_buckets
  Jsii::Type.check_type(@s3_import_buckets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19zMy5JQnVja2V0In0sImtpbmQiOiJhcnJheSJ9fQ==")), "s3ImportBuckets") unless @s3_import_buckets.nil?
  @s3_import_role = s3_import_role
  Jsii::Type.check_type(@s3_import_role, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLklSb2xlIn0=")), "s3ImportRole") unless @s3_import_role.nil?
  @security_groups = security_groups
  Jsii::Type.check_type(@security_groups, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuSVNlY3VyaXR5R3JvdXAifSwia2luZCI6ImFycmF5In19")), "securityGroups") unless @security_groups.nil?
  @storage_throughput = storage_throughput
  Jsii::Type.check_type(@storage_throughput, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "storageThroughput") unless @storage_throughput.nil?
  @storage_type = storage_type
  Jsii::Type.check_type(@storage_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLlN0b3JhZ2VUeXBlIn0=")), "storageType") unless @storage_type.nil?
  @subnet_group = subnet_group
  Jsii::Type.check_type(@subnet_group, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19yZHMuSURCU3VibmV0R3JvdXBSZWYifQ==")), "subnetGroup") unless @subnet_group.nil?
  @vpc_subnets = vpc_subnets.is_a?(Hash) ? ::AWSCDK::EC2::SubnetSelection.new(**vpc_subnets.transform_keys(&:to_sym)) : vpc_subnets
  Jsii::Type.check_type(@vpc_subnets, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLlN1Ym5ldFNlbGVjdGlvbiJ9")), "vpcSubnets") unless @vpc_subnets.nil?
  @engine = engine
  Jsii::Type.check_type(@engine, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLklJbnN0YW5jZUVuZ2luZSJ9")), "engine")
  @allocated_storage = allocated_storage
  Jsii::Type.check_type(@allocated_storage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "allocatedStorage") unless @allocated_storage.nil?
  @allow_major_version_upgrade = allow_major_version_upgrade
  Jsii::Type.check_type(@allow_major_version_upgrade, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "allowMajorVersionUpgrade") unless @allow_major_version_upgrade.nil?
  @database_name = database_name
  Jsii::Type.check_type(@database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseName") unless @database_name.nil?
  @instance_type = instance_type
  Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLkluc3RhbmNlVHlwZSJ9")), "instanceType") unless @instance_type.nil?
  @license_model = license_model
  Jsii::Type.check_type(@license_model, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkxpY2Vuc2VNb2RlbCJ9")), "licenseModel") unless @license_model.nil?
  @parameters = parameters
  Jsii::Type.check_type(@parameters, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "parameters") unless @parameters.nil?
  @timezone = timezone
  Jsii::Type.check_type(@timezone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "timezone") unless @timezone.nil?
end

Instance Attribute Details

#allocated_storageNumeric? (readonly)

Note:

Default: 100

The allocated storage size, specified in gibibytes (GiB).

Returns:

  • (Numeric, nil)


472
473
474
# File 'rds/database_instance_source_props.rb', line 472

def allocated_storage
  @allocated_storage
end

#allow_major_version_upgradeBoolean? (readonly)

Note:

Default: false

Whether to allow major version upgrades.

Returns:

  • (Boolean, nil)


477
478
479
# File 'rds/database_instance_source_props.rb', line 477

def allow_major_version_upgrade
  @allow_major_version_upgrade
end

#apply_immediatelyBoolean? (readonly)

Note:

Default: - Changes will be applied immediately

Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the preferredMaintenanceWindow setting.

If set to false, changes are applied during the next maintenance window.

Until RDS applies the changes, the DB instance remains in a drift state. As a result, the configuration doesn't fully reflect the requested modifications and temporarily diverges from the intended state.

This property also determines whether the DB instance reboots when a static parameter is modified in the associated DB parameter group.



182
183
184
# File 'rds/database_instance_source_props.rb', line 182

def apply_immediately
  @apply_immediately
end

#auto_minor_version_upgradeBoolean? (readonly)

Note:

Default: true

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Returns:

  • (Boolean, nil)


187
188
189
# File 'rds/database_instance_source_props.rb', line 187

def auto_minor_version_upgrade
  @auto_minor_version_upgrade
end

#availability_zoneString? (readonly)

Note:

Default: - no preference

The name of the Availability Zone where the DB instance will be located.

Returns:

  • (String, nil)


192
193
194
# File 'rds/database_instance_source_props.rb', line 192

def availability_zone
  @availability_zone
end

#backup_retentionAWSCDK::Duration? (readonly)

Note:

Default: - Duration.days(1) for source instances, disabled for read replicas

The number of days during which automatic DB snapshots are retained.

Set to zero to disable backups. When creating a read replica, you must enable automatic backups on the source database instance by setting the backup retention to a value other than zero.

Returns:



201
202
203
# File 'rds/database_instance_source_props.rb', line 201

def backup_retention
  @backup_retention
end

#ca_certificateAWSCDK::RDS::CaCertificate? (readonly)

Note:

Default: - RDS will choose a certificate authority

The identifier of the CA certificate for this DB instance.

Specifying or updating this property triggers a reboot.

For RDS DB engines:



211
212
213
# File 'rds/database_instance_source_props.rb', line 211

def ca_certificate
  @ca_certificate
end

#cloudwatch_logs_exportsArray<String>? (readonly)

Note:

Default: - no log exports

The list of log types that need to be enabled for exporting to CloudWatch Logs.

Returns:

  • (Array<String>, nil)


216
217
218
# File 'rds/database_instance_source_props.rb', line 216

def cloudwatch_logs_exports
  @cloudwatch_logs_exports
end

#cloudwatch_logs_retentionAWSCDK::Logs::RetentionDays? (readonly)

Note:

Default: - logs never expire

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.

Returns:



225
226
227
# File 'rds/database_instance_source_props.rb', line 225

def cloudwatch_logs_retention
  @cloudwatch_logs_retention
end

#cloudwatch_logs_retention_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - a new role is created.

The IAM role for the Lambda function associated with the custom resource that sets the retention policy.

Returns:



230
231
232
# File 'rds/database_instance_source_props.rb', line 230

def cloudwatch_logs_retention_role
  @cloudwatch_logs_retention_role
end

#copy_tags_to_snapshotBoolean? (readonly)

Note:

Default: true

Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance.

Returns:

  • (Boolean, nil)


235
236
237
# File 'rds/database_instance_source_props.rb', line 235

def copy_tags_to_snapshot
  @copy_tags_to_snapshot
end

#database_insights_modeAWSCDK::RDS::DatabaseInsightsMode? (readonly)

Note:

Default: - DatabaseInsightsMode.STANDARD when performance insights are enabled, otherwise not set.

The database insights mode.



240
241
242
# File 'rds/database_instance_source_props.rb', line 240

def database_insights_mode
  @database_insights_mode
end

#database_nameString? (readonly)

Note:

Default: - no name

The name of the database.

Returns:

  • (String, nil)


482
483
484
# File 'rds/database_instance_source_props.rb', line 482

def database_name
  @database_name
end

#delete_automated_backupsBoolean? (readonly)

Note:

Default: true

Indicates whether automated backups should be deleted or retained when you delete a DB instance.

Returns:

  • (Boolean, nil)


245
246
247
# File 'rds/database_instance_source_props.rb', line 245

def delete_automated_backups
  @delete_automated_backups
end

#deletion_protectionBoolean? (readonly)

Note:

Default: - true if removalPolicy is RETAIN, false otherwise

Indicates whether the DB instance should have deletion protection enabled.

Returns:

  • (Boolean, nil)


250
251
252
# File 'rds/database_instance_source_props.rb', line 250

def deletion_protection
  @deletion_protection
end

#domainString? (readonly)

Note:

Default: - Do not join domain

The Active Directory directory ID to create the DB instance in.

Returns:

  • (String, nil)


255
256
257
# File 'rds/database_instance_source_props.rb', line 255

def domain
  @domain
end

#domain_roleAWSCDK::Interfaces::AWSIAM::IRoleRef? (readonly)

Note:

Default: - The role will be created for you if DatabaseInstanceNewProps#domain is specified

The IAM role to be used when making API calls to the Directory Service.

The role needs the AWS-managed policy AmazonRDSDirectoryServiceAccess or equivalent.



263
264
265
# File 'rds/database_instance_source_props.rb', line 263

def domain_role
  @domain_role
end

#enable_performance_insightsBoolean? (readonly)

Note:

Default: - false, unless performanceInsightRetention or performanceInsightEncryptionKey is set.

Whether to enable Performance Insights for the DB instance.

Returns:

  • (Boolean, nil)


268
269
270
# File 'rds/database_instance_source_props.rb', line 268

def enable_performance_insights
  @enable_performance_insights
end

#engineAWSCDK::RDS::IInstanceEngine (readonly)

The database engine.



467
468
469
# File 'rds/database_instance_source_props.rb', line 467

def engine
  @engine
end

#engine_lifecycle_supportAWSCDK::RDS::EngineLifecycleSupport? (readonly)

Note:

Default: undefined - AWS RDS default setting is EngineLifecycleSupport.OPEN_SOURCE_RDS_EXTENDED_SUPPORT

The life cycle type for this DB instance.

This setting applies only to RDS for MySQL and RDS for PostgreSQL.



276
277
278
# File 'rds/database_instance_source_props.rb', line 276

def engine_lifecycle_support
  @engine_lifecycle_support
end

#iam_authenticationBoolean? (readonly)

Note:

Default: false

Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.

Returns:

  • (Boolean, nil)


281
282
283
# File 'rds/database_instance_source_props.rb', line 281

def iam_authentication
  @iam_authentication
end

#instance_identifierString? (readonly)

Note:

Default: - a CloudFormation generated name

A name for the DB instance.

If you specify a name, AWS CloudFormation converts it to lowercase.

Returns:

  • (String, nil)


289
290
291
# File 'rds/database_instance_source_props.rb', line 289

def instance_identifier
  @instance_identifier
end

#instance_typeAWSCDK::EC2::InstanceType? (readonly)

Note:

Default: - m5.large (or, more specifically, db.m5.large)

The name of the compute and memory capacity for the instance.

Returns:



487
488
489
# File 'rds/database_instance_source_props.rb', line 487

def instance_type
  @instance_type
end

#iopsNumeric? (readonly)

Note:

Default: - no provisioned iops if storage type is not specified. For GP3: 3,000 IOPS if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 12,000 IOPS otherwise (except for SQL Server where the default is always 3,000 IOPS).

The number of I/O operations per second (IOPS) that the database provisions.

The value must be equal to or greater than 1000.

Returns:

  • (Numeric, nil)


296
297
298
# File 'rds/database_instance_source_props.rb', line 296

def iops
  @iops
end

#license_modelAWSCDK::RDS::LicenseModel? (readonly)

Note:

Default: - RDS default license model

The license model.

Returns:



492
493
494
# File 'rds/database_instance_source_props.rb', line 492

def license_model
  @license_model
end

#max_allocated_storageNumeric? (readonly)

Note:

Default: - No autoscaling of RDS instance

Upper limit to which RDS can scale the storage in GiB(Gibibyte).



302
303
304
# File 'rds/database_instance_source_props.rb', line 302

def max_allocated_storage
  @max_allocated_storage
end

#monitoring_intervalAWSCDK::Duration? (readonly)

Note:

Default: - no enhanced monitoring

The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance.

Returns:



307
308
309
# File 'rds/database_instance_source_props.rb', line 307

def monitoring_interval
  @monitoring_interval
end

#monitoring_roleAWSCDK::Interfaces::AWSIAM::IRoleRef? (readonly)

Note:

Default: - A role is automatically created for you

Role that will be used to manage DB instance monitoring.



312
313
314
# File 'rds/database_instance_source_props.rb', line 312

def monitoring_role
  @monitoring_role
end

#multi_azBoolean? (readonly)

Note:

Default: false

Specifies if the database instance is a multiple Availability Zone deployment.

Returns:

  • (Boolean, nil)


317
318
319
# File 'rds/database_instance_source_props.rb', line 317

def multi_az
  @multi_az
end

#network_typeAWSCDK::RDS::NetworkType? (readonly)

Note:

Default: - IPV4

The network type of the DB instance.

Returns:



322
323
324
# File 'rds/database_instance_source_props.rb', line 322

def network_type
  @network_type
end

#option_groupAWSCDK::RDS::IOptionGroup? (readonly)

Note:

Default: - no option group

The option group to associate with the instance.

Returns:



327
328
329
# File 'rds/database_instance_source_props.rb', line 327

def option_group
  @option_group
end

#parameter_groupAWSCDK::RDS::IParameterGroup? (readonly)

Note:

Default: - no parameter group

The DB parameter group to associate with the instance.



332
333
334
# File 'rds/database_instance_source_props.rb', line 332

def parameter_group
  @parameter_group
end

#parametersHash{String => String}? (readonly)

Note:

Default: - None

The parameters in the DBParameterGroup to create automatically.

You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBParameterGroup.

Returns:

  • (Hash{String => String}, nil)


500
501
502
# File 'rds/database_instance_source_props.rb', line 500

def parameters
  @parameters
end

#performance_insight_encryption_keyAWSCDK::Interfaces::AWSKMS::IKeyRef? (readonly)

Note:

Default: - default master key

The AWS KMS key for encryption of Performance Insights data.



337
338
339
# File 'rds/database_instance_source_props.rb', line 337

def performance_insight_encryption_key
  @performance_insight_encryption_key
end

#performance_insight_retentionAWSCDK::RDS::PerformanceInsightRetention? (readonly)

Note:

Default: 7 this is the free tier

The amount of time, in days, to retain Performance Insights data.

If you set database_insights_mode to DatabaseInsightsMode.ADVANCED, you must set this property to PerformanceInsightRetention.MONTHS_15.



344
345
346
# File 'rds/database_instance_source_props.rb', line 344

def performance_insight_retention
  @performance_insight_retention
end

#portNumeric? (readonly)

Note:

Default: - the default port for the chosen engine.

The port for the instance.

Returns:

  • (Numeric, nil)


349
350
351
# File 'rds/database_instance_source_props.rb', line 349

def port
  @port
end

#preferred_backup_windowString? (readonly)

Note:

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 https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow

The daily time range during which automated backups are performed.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.
  • Must be in Universal Coordinated Time (UTC).
  • Must not conflict with the preferred maintenance window.
  • Must be at least 30 minutes.

Returns:

  • (String, nil)


361
362
363
# File 'rds/database_instance_source_props.rb', line 361

def preferred_backup_window
  @preferred_backup_window
end

#preferred_maintenance_windowString? (readonly)

Note:

Default: - a 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. To see the time blocks available, see https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance

The weekly time range (in UTC) during which system maintenance can occur.

Format: ddd:hh24:mi-ddd:hh24:mi Constraint: Minimum 30-minute window

Returns:

  • (String, nil)


369
370
371
# File 'rds/database_instance_source_props.rb', line 369

def preferred_maintenance_window
  @preferred_maintenance_window
end

#processor_featuresAWSCDK::RDS::ProcessorFeatures? (readonly)

Note:

Default: - the default number of CPU cores and threads per core for the chosen instance class. See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor

The number of CPU cores and the number of threads per core.



374
375
376
# File 'rds/database_instance_source_props.rb', line 374

def processor_features
  @processor_features
end

#publicly_accessibleBoolean? (readonly)

Note:

Default: - true if the instance's vpcSubnets is subnetType: SubnetType.PUBLIC, false otherwise

Indicates whether the DB instance is an internet-facing instance.

If not specified, the instance's vpcSubnets will be used to determine if the instance is internet-facing or not.

Returns:

  • (Boolean, nil)


383
384
385
# File 'rds/database_instance_source_props.rb', line 383

def publicly_accessible
  @publicly_accessible
end

#removal_policyAWSCDK::RemovalPolicy? (readonly)

Note:

Default: - RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data)

The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update.

Returns:



388
389
390
# File 'rds/database_instance_source_props.rb', line 388

def removal_policy
  @removal_policy
end

#s3_export_bucketsArray<AWSCDK::S3::IBucket>? (readonly)

Note:

Default: - None

S3 buckets that you want to load data into.

This property must not be used if s3_export_role is used.

For Microsoft SQL Server:



398
399
400
# File 'rds/database_instance_source_props.rb', line 398

def s3_export_buckets
  @s3_export_buckets
end

#s3_export_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - New role is created if s3ExportBuckets is set, no role is defined otherwise

Role that will be associated with this DB instance to enable S3 export.

This property must not be used if s3_export_buckets is used.

For Microsoft SQL Server:



408
409
410
# File 'rds/database_instance_source_props.rb', line 408

def s3_export_role
  @s3_export_role
end

#s3_import_bucketsArray<AWSCDK::S3::IBucket>? (readonly)

Note:

Default: - None

S3 buckets that you want to load data from.

This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines.

This property must not be used if s3_import_role is used.

For Microsoft SQL Server:



420
421
422
# File 'rds/database_instance_source_props.rb', line 420

def s3_import_buckets
  @s3_import_buckets
end

#s3_import_roleAWSCDK::IAM::IRole? (readonly)

Note:

Default: - New role is created if s3ImportBuckets is set, no role is defined otherwise

Role that will be associated with this DB instance to enable S3 import.

This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines.

This property must not be used if s3_import_buckets is used.

For Microsoft SQL Server:



432
433
434
# File 'rds/database_instance_source_props.rb', line 432

def s3_import_role
  @s3_import_role
end

#security_groupsArray<AWSCDK::EC2::ISecurityGroup>? (readonly)

Note:

Default: - a new security group is created

The security groups to assign to the DB instance.

Returns:



437
438
439
# File 'rds/database_instance_source_props.rb', line 437

def security_groups
  @security_groups
end

#storage_throughputNumeric? (readonly)

Note:

Default: - 125 MiBps if allocated storage is less than 400 GiB for MariaDB, MySQL, and PostgreSQL, less than 200 GiB for Oracle and less than 20 GiB for SQL Server. 500 MiBps otherwise (except for SQL Server where the default is always 125 MiBps).

The storage throughput, specified in mebibytes per second (MiBps).

Only applicable for GP3.



445
446
447
# File 'rds/database_instance_source_props.rb', line 445

def storage_throughput
  @storage_throughput
end

#storage_typeAWSCDK::RDS::StorageType? (readonly)

Note:

Default: StorageType.GP2

The storage type to associate with the DB instance.

Storage types supported are gp2, gp3, io1, io2, and standard.



453
454
455
# File 'rds/database_instance_source_props.rb', line 453

def storage_type
  @storage_type
end

#subnet_groupAWSCDK::Interfaces::AWSRDS::IDBSubnetGroupRef? (readonly)

Note:

Default: - a new subnet group will be created.

Existing subnet group for the instance.



458
459
460
# File 'rds/database_instance_source_props.rb', line 458

def subnet_group
  @subnet_group
end

#timezoneString? (readonly)

Note:

Default: - RDS default timezone

The time zone of the instance.

This is currently supported only by Microsoft Sql Server.

Returns:

  • (String, nil)


507
508
509
# File 'rds/database_instance_source_props.rb', line 507

def timezone
  @timezone
end

#vpcAWSCDK::EC2::IVPC (readonly)

The VPC network where the DB subnet group should be created.

Returns:



169
170
171
# File 'rds/database_instance_source_props.rb', line 169

def vpc
  @vpc
end

#vpc_subnetsAWSCDK::EC2::SubnetSelection? (readonly)

Note:

Default: - private subnets

The type of subnets to add to the created DB subnet group.



463
464
465
# File 'rds/database_instance_source_props.rb', line 463

def vpc_subnets
  @vpc_subnets
end

Class Method Details

.jsii_propertiesObject



509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
# File 'rds/database_instance_source_props.rb', line 509

def self.jsii_properties
  {
    :vpc => "vpc",
    :apply_immediately => "applyImmediately",
    :auto_minor_version_upgrade => "autoMinorVersionUpgrade",
    :availability_zone => "availabilityZone",
    :backup_retention => "backupRetention",
    :ca_certificate => "caCertificate",
    :cloudwatch_logs_exports => "cloudwatchLogsExports",
    :cloudwatch_logs_retention => "cloudwatchLogsRetention",
    :cloudwatch_logs_retention_role => "cloudwatchLogsRetentionRole",
    :copy_tags_to_snapshot => "copyTagsToSnapshot",
    :database_insights_mode => "databaseInsightsMode",
    :delete_automated_backups => "deleteAutomatedBackups",
    :deletion_protection => "deletionProtection",
    :domain => "domain",
    :domain_role => "domainRole",
    :enable_performance_insights => "enablePerformanceInsights",
    :engine_lifecycle_support => "engineLifecycleSupport",
    :iam_authentication => "iamAuthentication",
    :instance_identifier => "instanceIdentifier",
    :iops => "iops",
    :max_allocated_storage => "maxAllocatedStorage",
    :monitoring_interval => "monitoringInterval",
    :monitoring_role => "monitoringRole",
    :multi_az => "multiAz",
    :network_type => "networkType",
    :option_group => "optionGroup",
    :parameter_group => "parameterGroup",
    :performance_insight_encryption_key => "performanceInsightEncryptionKey",
    :performance_insight_retention => "performanceInsightRetention",
    :port => "port",
    :preferred_backup_window => "preferredBackupWindow",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :processor_features => "processorFeatures",
    :publicly_accessible => "publiclyAccessible",
    :removal_policy => "removalPolicy",
    :s3_export_buckets => "s3ExportBuckets",
    :s3_export_role => "s3ExportRole",
    :s3_import_buckets => "s3ImportBuckets",
    :s3_import_role => "s3ImportRole",
    :security_groups => "securityGroups",
    :storage_throughput => "storageThroughput",
    :storage_type => "storageType",
    :subnet_group => "subnetGroup",
    :vpc_subnets => "vpcSubnets",
    :engine => "engine",
    :allocated_storage => "allocatedStorage",
    :allow_major_version_upgrade => "allowMajorVersionUpgrade",
    :database_name => "databaseName",
    :instance_type => "instanceType",
    :license_model => "licenseModel",
    :parameters => "parameters",
    :timezone => "timezone",
  }
end

Instance Method Details

#to_jsiiObject



566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
# File 'rds/database_instance_source_props.rb', line 566

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "vpc" => @vpc,
    "applyImmediately" => @apply_immediately,
    "autoMinorVersionUpgrade" => @auto_minor_version_upgrade,
    "availabilityZone" => @availability_zone,
    "backupRetention" => @backup_retention,
    "caCertificate" => @ca_certificate,
    "cloudwatchLogsExports" => @cloudwatch_logs_exports,
    "cloudwatchLogsRetention" => @cloudwatch_logs_retention,
    "cloudwatchLogsRetentionRole" => @cloudwatch_logs_retention_role,
    "copyTagsToSnapshot" => @copy_tags_to_snapshot,
    "databaseInsightsMode" => @database_insights_mode,
    "deleteAutomatedBackups" => @delete_automated_backups,
    "deletionProtection" => @deletion_protection,
    "domain" => @domain,
    "domainRole" => @domain_role,
    "enablePerformanceInsights" => @enable_performance_insights,
    "engineLifecycleSupport" => @engine_lifecycle_support,
    "iamAuthentication" => @iam_authentication,
    "instanceIdentifier" => @instance_identifier,
    "iops" => @iops,
    "maxAllocatedStorage" => @max_allocated_storage,
    "monitoringInterval" => @monitoring_interval,
    "monitoringRole" => @monitoring_role,
    "multiAz" => @multi_az,
    "networkType" => @network_type,
    "optionGroup" => @option_group,
    "parameterGroup" => @parameter_group,
    "performanceInsightEncryptionKey" => @performance_insight_encryption_key,
    "performanceInsightRetention" => @performance_insight_retention,
    "port" => @port,
    "preferredBackupWindow" => @preferred_backup_window,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "processorFeatures" => @processor_features,
    "publiclyAccessible" => @publicly_accessible,
    "removalPolicy" => @removal_policy,
    "s3ExportBuckets" => @s3_export_buckets,
    "s3ExportRole" => @s3_export_role,
    "s3ImportBuckets" => @s3_import_buckets,
    "s3ImportRole" => @s3_import_role,
    "securityGroups" => @security_groups,
    "storageThroughput" => @storage_throughput,
    "storageType" => @storage_type,
    "subnetGroup" => @subnet_group,
    "vpcSubnets" => @vpc_subnets,
    "engine" => @engine,
    "allocatedStorage" => @allocated_storage,
    "allowMajorVersionUpgrade" => @allow_major_version_upgrade,
    "databaseName" => @database_name,
    "instanceType" => @instance_type,
    "licenseModel" => @license_model,
    "parameters" => @parameters,
    "timezone" => @timezone,
  })
  result.compact
end