Class DatabaseInstanceFromSnapshotProps
Construction properties for a DatabaseInstanceFromSnapshot.
Implements
Inherited Members
Namespace: Amazon.CDK.AWS.RDS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class DatabaseInstanceFromSnapshotProps : IDatabaseInstanceFromSnapshotProps, IDatabaseInstanceSourceProps, IDatabaseInstanceNewProps
Syntax (vb)
Public Class DatabaseInstanceFromSnapshotProps Implements IDatabaseInstanceFromSnapshotProps, IDatabaseInstanceSourceProps, IDatabaseInstanceNewProps
Remarks
ExampleMetadata: infused
Examples
Vpc vpc;
var engine = DatabaseInstanceEngine.Postgres(new PostgresInstanceEngineProps { Version = PostgresEngineVersion.VER_16_3 });
var myKey = new Key(this, "MyKey");
new DatabaseInstanceFromSnapshot(this, "InstanceFromSnapshotWithCustomizedSecret", new DatabaseInstanceFromSnapshotProps {
Engine = engine,
Vpc = vpc,
SnapshotIdentifier = "mySnapshot",
Credentials = SnapshotCredentials.FromGeneratedSecret("username", new SnapshotCredentialsFromGeneratedPasswordOptions {
EncryptionKey = myKey,
ExcludeCharacters = "!&*^#@()",
ReplicaRegions = new [] { new ReplicaRegion { Region = "eu-west-1" }, new ReplicaRegion { Region = "eu-west-2" } }
})
});
Synopsis
Constructors
DatabaseInstanceFromSnapshotProps() | Construction properties for a DatabaseInstanceFromSnapshot. |
Properties
AllocatedStorage | The allocated storage size, specified in gibibytes (GiB). |
AllowMajorVersionUpgrade | Whether to allow major version upgrades. |
ApplyImmediately | Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the |
AutoMinorVersionUpgrade | Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window. |
AvailabilityZone | The name of the Availability Zone where the DB instance will be located. |
BackupRetention | The number of days during which automatic DB snapshots are retained. |
CaCertificate | The identifier of the CA certificate for this DB instance. |
CloudwatchLogsExports | The list of log types that need to be enabled for exporting to CloudWatch Logs. |
CloudwatchLogsRetention | The number of days log events are kept in CloudWatch Logs. |
CloudwatchLogsRetentionRole | The IAM role for the Lambda function associated with the custom resource that sets the retention policy. |
ClusterSnapshotIdentifier | The identifier for the Multi-AZ DB cluster snapshot to restore from. |
CopyTagsToSnapshot | Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance. |
Credentials | Master user credentials. |
DatabaseName | The name of the database. |
DeleteAutomatedBackups | Indicates whether automated backups should be deleted or retained when you delete a DB instance. |
DeletionProtection | Indicates whether the DB instance should have deletion protection enabled. |
Domain | The Active Directory directory ID to create the DB instance in. |
DomainRole | The IAM role to be used when making API calls to the Directory Service. |
EnablePerformanceInsights | Whether to enable Performance Insights for the DB instance. |
Engine | The database engine. |
EngineLifecycleSupport | The life cycle type for this DB instance. |
IamAuthentication | Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. |
InstanceIdentifier | A name for the DB instance. |
InstanceType | The name of the compute and memory capacity for the instance. |
Iops | The number of I/O operations per second (IOPS) that the database provisions. |
LicenseModel | The license model. |
MaxAllocatedStorage | Upper limit to which RDS can scale the storage in GiB(Gibibyte). |
MonitoringInterval | The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance. |
MonitoringRole | Role that will be used to manage DB instance monitoring. |
MultiAz | Specifies if the database instance is a multiple Availability Zone deployment. |
NetworkType | The network type of the DB instance. |
OptionGroup | The option group to associate with the instance. |
ParameterGroup | The DB parameter group to associate with the instance. |
Parameters | The parameters in the DBParameterGroup to create automatically. |
PerformanceInsightEncryptionKey | The AWS KMS key for encryption of Performance Insights data. |
PerformanceInsightRetention | The amount of time, in days, to retain Performance Insights data. |
Port | The port for the instance. |
PreferredBackupWindow | The daily time range during which automated backups are performed. |
PreferredMaintenanceWindow | The weekly time range (in UTC) during which system maintenance can occur. |
ProcessorFeatures | The number of CPU cores and the number of threads per core. |
PubliclyAccessible | Indicates whether the DB instance is an internet-facing instance. |
RemovalPolicy | The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update. |
S3ExportBuckets | S3 buckets that you want to load data into. |
S3ExportRole | Role that will be associated with this DB instance to enable S3 export. |
S3ImportBuckets | S3 buckets that you want to load data from. |
S3ImportRole | Role that will be associated with this DB instance to enable S3 import. |
SecurityGroups | The security groups to assign to the DB instance. |
SnapshotIdentifier | The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. |
StorageThroughput | The storage throughput, specified in mebibytes per second (MiBps). |
StorageType | The storage type. |
SubnetGroup | Existing subnet group for the instance. |
Timezone | The time zone of the instance. |
Vpc | The VPC network where the DB subnet group should be created. |
VpcSubnets | The type of subnets to add to the created DB subnet group. |
Constructors
DatabaseInstanceFromSnapshotProps()
Construction properties for a DatabaseInstanceFromSnapshot.
public DatabaseInstanceFromSnapshotProps()
Remarks
ExampleMetadata: infused
Examples
Vpc vpc;
var engine = DatabaseInstanceEngine.Postgres(new PostgresInstanceEngineProps { Version = PostgresEngineVersion.VER_16_3 });
var myKey = new Key(this, "MyKey");
new DatabaseInstanceFromSnapshot(this, "InstanceFromSnapshotWithCustomizedSecret", new DatabaseInstanceFromSnapshotProps {
Engine = engine,
Vpc = vpc,
SnapshotIdentifier = "mySnapshot",
Credentials = SnapshotCredentials.FromGeneratedSecret("username", new SnapshotCredentialsFromGeneratedPasswordOptions {
EncryptionKey = myKey,
ExcludeCharacters = "!&*^#@()",
ReplicaRegions = new [] { new ReplicaRegion { Region = "eu-west-1" }, new ReplicaRegion { Region = "eu-west-2" } }
})
});
Properties
AllocatedStorage
The allocated storage size, specified in gibibytes (GiB).
public double? AllocatedStorage { get; set; }
Property Value
Remarks
Default: 100
AllowMajorVersionUpgrade
Whether to allow major version upgrades.
public bool? AllowMajorVersionUpgrade { get; set; }
Property Value
bool?
Remarks
Default: false
ApplyImmediately
Specifies whether changes to the DB instance and any pending modifications are applied immediately, regardless of the preferredMaintenanceWindow
setting.
public bool? ApplyImmediately { get; set; }
Property Value
bool?
Remarks
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.
Default: - Changes will be applied immediately
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html
AutoMinorVersionUpgrade
Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.
public bool? AutoMinorVersionUpgrade { get; set; }
Property Value
bool?
Remarks
Default: true
AvailabilityZone
The name of the Availability Zone where the DB instance will be located.
public string? AvailabilityZone { get; set; }
Property Value
Remarks
Default: - no preference
BackupRetention
The number of days during which automatic DB snapshots are retained.
public Duration? BackupRetention { get; set; }
Property Value
Remarks
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.
Default: - Duration.days(1) for source instances, disabled for read replicas
CaCertificate
The identifier of the CA certificate for this DB instance.
public CaCertificate? CaCertificate { get; set; }
Property Value
Remarks
Specifying or updating this property triggers a reboot.
For RDS DB engines:
Default: - RDS will choose a certificate authority
CloudwatchLogsExports
The list of log types that need to be enabled for exporting to CloudWatch Logs.
public string[]? CloudwatchLogsExports { get; set; }
Property Value
string[]
Remarks
Default: - no log exports
CloudwatchLogsRetention
The number of days log events are kept in CloudWatch Logs.
public RetentionDays? CloudwatchLogsRetention { get; set; }
Property Value
Remarks
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
CloudwatchLogsRetentionRole
The IAM role for the Lambda function associated with the custom resource that sets the retention policy.
public IRole? CloudwatchLogsRetentionRole { get; set; }
Property Value
Remarks
Default: - a new role is created.
ClusterSnapshotIdentifier
The identifier for the Multi-AZ DB cluster snapshot to restore from.
public string? ClusterSnapshotIdentifier { get; set; }
Property Value
Remarks
For more information on Multi-AZ DB clusters, see Multi-AZ DB cluster deployments in the Amazon RDS User Guide .
Constraints:
Default: - None
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromMultiAZDBClusterSnapshot.html
CopyTagsToSnapshot
Indicates whether to copy all of the user-defined tags from the DB instance to snapshots of the DB instance.
public bool? CopyTagsToSnapshot { get; set; }
Property Value
bool?
Remarks
Default: true
Credentials
Master user credentials.
public SnapshotCredentials? Credentials { get; set; }
Property Value
Remarks
Note - It is not possible to change the master username for a snapshot; however, it is possible to provide (or generate) a new password.
Default: - The existing username and password from the snapshot will be used.
DatabaseName
The name of the database.
public string? DatabaseName { get; set; }
Property Value
Remarks
Default: - no name
DeleteAutomatedBackups
Indicates whether automated backups should be deleted or retained when you delete a DB instance.
public bool? DeleteAutomatedBackups { get; set; }
Property Value
bool?
Remarks
Default: true
DeletionProtection
Indicates whether the DB instance should have deletion protection enabled.
public bool? DeletionProtection { get; set; }
Property Value
bool?
Remarks
Default: - true if removalPolicy
is RETAIN, false otherwise
Domain
The Active Directory directory ID to create the DB instance in.
public string? Domain { get; set; }
Property Value
Remarks
Default: - Do not join domain
DomainRole
The IAM role to be used when making API calls to the Directory Service.
public IRole? DomainRole { get; set; }
Property Value
Remarks
The role needs the AWS-managed policy AmazonRDSDirectoryServiceAccess or equivalent.
Default: - The role will be created for you if DatabaseInstanceNewProps#domain
is specified
EnablePerformanceInsights
Whether to enable Performance Insights for the DB instance.
public bool? EnablePerformanceInsights { get; set; }
Property Value
bool?
Remarks
Default: - false, unless performanceInsightRetention
or performanceInsightEncryptionKey
is set.
Engine
The database engine.
public IInstanceEngine Engine { get; set; }
Property Value
Remarks
ExampleMetadata: infused
EngineLifecycleSupport
The life cycle type for this DB instance.
public EngineLifecycleSupport? EngineLifecycleSupport { get; set; }
Property Value
Remarks
This setting applies only to RDS for MySQL and RDS for PostgreSQL.
Default: undefined - AWS RDS default setting is EngineLifecycleSupport.OPEN_SOURCE_RDS_EXTENDED_SUPPORT
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html
IamAuthentication
Whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts.
public bool? IamAuthentication { get; set; }
Property Value
bool?
Remarks
Default: false
InstanceIdentifier
A name for the DB instance.
public string? InstanceIdentifier { get; set; }
Property Value
Remarks
If you specify a name, AWS CloudFormation converts it to lowercase.
Default: - a CloudFormation generated name
InstanceType
The name of the compute and memory capacity for the instance.
public InstanceType? InstanceType { get; set; }
Property Value
Remarks
Default: - m5.large (or, more specifically, db.m5.large)
Iops
The number of I/O operations per second (IOPS) that the database provisions.
public double? Iops { get; set; }
Property Value
Remarks
The value must be equal to or greater than 1000.
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).
LicenseModel
The license model.
public LicenseModel? LicenseModel { get; set; }
Property Value
Remarks
Default: - RDS default license model
MaxAllocatedStorage
Upper limit to which RDS can scale the storage in GiB(Gibibyte).
public double? MaxAllocatedStorage { get; set; }
Property Value
Remarks
Default: - No autoscaling of RDS instance
MonitoringInterval
The interval, in seconds, between points when Amazon RDS collects enhanced monitoring metrics for the DB instance.
public Duration? MonitoringInterval { get; set; }
Property Value
Remarks
Default: - no enhanced monitoring
MonitoringRole
Role that will be used to manage DB instance monitoring.
public IRole? MonitoringRole { get; set; }
Property Value
Remarks
Default: - A role is automatically created for you
MultiAz
Specifies if the database instance is a multiple Availability Zone deployment.
public bool? MultiAz { get; set; }
Property Value
bool?
Remarks
Default: false
NetworkType
The network type of the DB instance.
public NetworkType? NetworkType { get; set; }
Property Value
Remarks
Default: - IPV4
OptionGroup
The option group to associate with the instance.
public IOptionGroup? OptionGroup { get; set; }
Property Value
Remarks
Default: - no option group
ParameterGroup
The DB parameter group to associate with the instance.
public IParameterGroup? ParameterGroup { get; set; }
Property Value
Remarks
Default: - no parameter group
Parameters
The parameters in the DBParameterGroup to create automatically.
public IDictionary<string, string>? Parameters { get; set; }
Property Value
Remarks
You can only specify parameterGroup or parameters but not both. You need to use a versioned engine to auto-generate a DBParameterGroup.
Default: - None
PerformanceInsightEncryptionKey
The AWS KMS key for encryption of Performance Insights data.
public IKey? PerformanceInsightEncryptionKey { get; set; }
Property Value
Remarks
Default: - default master key
PerformanceInsightRetention
The amount of time, in days, to retain Performance Insights data.
public PerformanceInsightRetention? PerformanceInsightRetention { get; set; }
Property Value
Remarks
Default: 7 this is the free tier
Port
The port for the instance.
public double? Port { get; set; }
Property Value
Remarks
Default: - the default port for the chosen engine.
PreferredBackupWindow
The daily time range during which automated backups are performed.
public string? PreferredBackupWindow { get; set; }
Property Value
Remarks
Constraints:
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
PreferredMaintenanceWindow
The weekly time range (in UTC) during which system maintenance can occur.
public string? PreferredMaintenanceWindow { get; set; }
Property Value
Remarks
Format: ddd:hh24:mi-ddd:hh24:mi
Constraint: Minimum 30-minute window
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
ProcessorFeatures
The number of CPU cores and the number of threads per core.
public IProcessorFeatures? ProcessorFeatures { get; set; }
Property Value
Remarks
Default: - the default number of CPU cores and threads per core for the chosen instance class.
PubliclyAccessible
Indicates whether the DB instance is an internet-facing instance.
public bool? PubliclyAccessible { get; set; }
Property Value
bool?
Remarks
If not specified, the instance's vpcSubnets will be used to determine if the instance is internet-facing or not.
Default: - true
if the instance's vpcSubnets
is subnetType: SubnetType.PUBLIC
, false
otherwise
RemovalPolicy
The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update.
public RemovalPolicy? RemovalPolicy { get; set; }
Property Value
Remarks
Default: - RemovalPolicy.SNAPSHOT (remove the resource, but retain a snapshot of the data)
S3ExportBuckets
S3 buckets that you want to load data into.
public IBucket[]? S3ExportBuckets { get; set; }
Property Value
IBucket[]
Remarks
This property must not be used if s3ExportRole
is used.
For Microsoft SQL Server:
Default: - None
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html
S3ExportRole
Role that will be associated with this DB instance to enable S3 export.
public IRole? S3ExportRole { get; set; }
Property Value
Remarks
This property must not be used if s3ExportBuckets
is used.
For Microsoft SQL Server:
Default: - New role is created if s3ExportBuckets
is set, no role is defined otherwise
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html
S3ImportBuckets
S3 buckets that you want to load data from.
public IBucket[]? S3ImportBuckets { get; set; }
Property Value
IBucket[]
Remarks
This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines.
This property must not be used if s3ImportRole
is used.
For Microsoft SQL Server:
Default: - None
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html
S3ImportRole
Role that will be associated with this DB instance to enable S3 import.
public IRole? S3ImportRole { get; set; }
Property Value
Remarks
This feature is only supported by the Microsoft SQL Server, Oracle, and PostgreSQL engines.
This property must not be used if s3ImportBuckets
is used.
For Microsoft SQL Server:
Default: - New role is created if s3ImportBuckets
is set, no role is defined otherwise
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html
SecurityGroups
The security groups to assign to the DB instance.
public ISecurityGroup[]? SecurityGroups { get; set; }
Property Value
Remarks
Default: - a new security group is created
SnapshotIdentifier
The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance.
public string? SnapshotIdentifier { get; set; }
Property Value
Remarks
If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot. Constraints:
Default: - None
StorageThroughput
The storage throughput, specified in mebibytes per second (MiBps).
public double? StorageThroughput { get; set; }
Property Value
Remarks
Only applicable for GP3.
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).
See: https://docs.aws.amazon.com//AmazonRDS/latest/UserGuide/CHAP_Storage.html#gp3-storage
StorageType
The storage type.
public StorageType? StorageType { get; set; }
Property Value
Remarks
Storage types supported are gp2, io1, standard.
Default: GP2
See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#Concepts.Storage.GeneralSSD
SubnetGroup
Existing subnet group for the instance.
public ISubnetGroup? SubnetGroup { get; set; }
Property Value
Remarks
Default: - a new subnet group will be created.
Timezone
The time zone of the instance.
public string? Timezone { get; set; }
Property Value
Remarks
This is currently supported only by Microsoft Sql Server.
Default: - RDS default timezone
Vpc
The VPC network where the DB subnet group should be created.
public IVpc Vpc { get; set; }
Property Value
Remarks
ExampleMetadata: infused
VpcSubnets
The type of subnets to add to the created DB subnet group.
public ISubnetSelection? VpcSubnets { get; set; }
Property Value
Remarks
Default: - private subnets