Show / Hide Table of Contents

Class DatabaseInstanceFromSnapshotProps

Construction properties for a DatabaseInstanceFromSnapshot.

Inheritance
object
DatabaseInstanceFromSnapshotProps
Implements
IDatabaseInstanceFromSnapshotProps
IDatabaseInstanceSourceProps
IDatabaseInstanceNewProps
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
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 preferredMaintenanceWindow setting.

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

double?

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

string

Remarks

Default: - no preference

BackupRetention

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

public Duration? BackupRetention { get; set; }
Property Value

Duration

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

CaCertificate

Remarks

Specifying or updating this property triggers a reboot.

For RDS DB engines:

Default: - RDS will choose a certificate authority

See: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html

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

RetentionDays?

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

IRole

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

string

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

    SnapshotCredentials

    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

    string

    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

    string

    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

    IRole

    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

    IInstanceEngine

    Remarks

    ExampleMetadata: infused

    EngineLifecycleSupport

    The life cycle type for this DB instance.

    public EngineLifecycleSupport? EngineLifecycleSupport { get; set; }
    Property Value

    EngineLifecycleSupport?

    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

    string

    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

    InstanceType

    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

    double?

    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

    LicenseModel?

    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

    double?

    Remarks

    Default: - No autoscaling of RDS instance

    See: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling

    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

    Duration

    Remarks

    Default: - no enhanced monitoring

    MonitoringRole

    Role that will be used to manage DB instance monitoring.

    public IRole? MonitoringRole { get; set; }
    Property Value

    IRole

    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

    NetworkType?

    Remarks

    Default: - IPV4

    OptionGroup

    The option group to associate with the instance.

    public IOptionGroup? OptionGroup { get; set; }
    Property Value

    IOptionGroup

    Remarks

    Default: - no option group

    ParameterGroup

    The DB parameter group to associate with the instance.

    public IParameterGroup? ParameterGroup { get; set; }
    Property Value

    IParameterGroup

    Remarks

    Default: - no parameter group

    Parameters

    The parameters in the DBParameterGroup to create automatically.

    public IDictionary<string, string>? Parameters { get; set; }
    Property Value

    IDictionary<string, string>

    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

    IKey

    Remarks

    Default: - default master key

    PerformanceInsightRetention

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

    public PerformanceInsightRetention? PerformanceInsightRetention { get; set; }
    Property Value

    PerformanceInsightRetention?

    Remarks

    Default: 7 this is the free tier

    Port

    The port for the instance.

    public double? Port { get; set; }
    Property Value

    double?

    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

    string

    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

      string

      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

      IProcessorFeatures

      Remarks

      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

      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

      RemovalPolicy?

      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

      IRole

      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

      IRole

      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

      ISecurityGroup[]

      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

      string

      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

        double?

        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

        StorageType?

        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

        ISubnetGroup

        Remarks

        Default: - a new subnet group will be created.

        Timezone

        The time zone of the instance.

        public string? Timezone { get; set; }
        Property Value

        string

        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

        IVpc

        Remarks

        ExampleMetadata: infused

        VpcSubnets

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

        public ISubnetSelection? VpcSubnets { get; set; }
        Property Value

        ISubnetSelection

        Remarks

        Default: - private subnets

        Implements

        IDatabaseInstanceFromSnapshotProps
        IDatabaseInstanceSourceProps
        IDatabaseInstanceNewProps
        Back to top Generated by DocFX