Show / Hide Table of Contents

Class DatabaseInstanceSourceProps

Construction properties for a DatabaseInstanceSource.

Inheritance
System.Object
DatabaseInstanceSourceProps
Implements
IDatabaseInstanceSourceProps
IDatabaseInstanceNewProps
Namespace: Amazon.CDK.AWS.RDS
Assembly: Amazon.CDK.AWS.RDS.dll
Syntax (csharp)
public class DatabaseInstanceSourceProps : Object, IDatabaseInstanceSourceProps, IDatabaseInstanceNewProps
Syntax (vb)
Public Class DatabaseInstanceSourceProps
    Inherits Object
    Implements IDatabaseInstanceSourceProps, IDatabaseInstanceNewProps
Remarks

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.EC2;
using Amazon.CDK.AWS.IAM;
using Amazon.CDK.AWS.KMS;
using Amazon.CDK.AWS.Logs;
using Amazon.CDK.AWS.RDS;
using Amazon.CDK.AWS.S3;
using Amazon.CDK;

Bucket bucket;
IInstanceEngine instanceEngine;
InstanceType instanceType;
Key key;
OptionGroup optionGroup;
ParameterGroup parameterGroup;
Role role;
SecurityGroup securityGroup;
Subnet subnet;
SubnetFilter subnetFilter;
SubnetGroup subnetGroup;
Vpc vpc;
var databaseInstanceSourceProps = new DatabaseInstanceSourceProps {
    Engine = instanceEngine,
    Vpc = vpc,

    // the properties below are optional
    AllocatedStorage = 123,
    AllowMajorVersionUpgrade = false,
    AutoMinorVersionUpgrade = false,
    AvailabilityZone = "availabilityZone",
    BackupRetention = Duration.Minutes(30),
    CloudwatchLogsExports = new [] { "cloudwatchLogsExports" },
    CloudwatchLogsRetention = RetentionDays.ONE_DAY,
    CloudwatchLogsRetentionRole = role,
    CopyTagsToSnapshot = false,
    DatabaseName = "databaseName",
    DeleteAutomatedBackups = false,
    DeletionProtection = false,
    Domain = "domain",
    DomainRole = role,
    EnablePerformanceInsights = false,
    IamAuthentication = false,
    InstanceIdentifier = "instanceIdentifier",
    InstanceType = instanceType,
    Iops = 123,
    LicenseModel = LicenseModel.LICENSE_INCLUDED,
    MaxAllocatedStorage = 123,
    MonitoringInterval = Duration.Minutes(30),
    MonitoringRole = role,
    MultiAz = false,
    OptionGroup = optionGroup,
    ParameterGroup = parameterGroup,
    Parameters = new Dictionary<string, string> {
        { "parametersKey", "parameters" }
    },
    PerformanceInsightEncryptionKey = key,
    PerformanceInsightRetention = PerformanceInsightRetention.DEFAULT,
    Port = 123,
    PreferredBackupWindow = "preferredBackupWindow",
    PreferredMaintenanceWindow = "preferredMaintenanceWindow",
    ProcessorFeatures = new ProcessorFeatures {
        CoreCount = 123,
        ThreadsPerCore = 123
    },
    PubliclyAccessible = false,
    RemovalPolicy = RemovalPolicy.DESTROY,
    S3ExportBuckets = new [] { bucket },
    S3ExportRole = role,
    S3ImportBuckets = new [] { bucket },
    S3ImportRole = role,
    SecurityGroups = new [] { securityGroup },
    StorageType = StorageType.STANDARD,
    SubnetGroup = subnetGroup,
    Timezone = "timezone",
    VpcPlacement = new SubnetSelection {
        AvailabilityZones = new [] { "availabilityZones" },
        OnePerAz = false,
        SubnetFilters = new [] { subnetFilter },
        SubnetGroupName = "subnetGroupName",
        SubnetName = "subnetName",
        Subnets = new [] { subnet },
        SubnetType = SubnetType.ISOLATED
    },
    VpcSubnets = new SubnetSelection {
        AvailabilityZones = new [] { "availabilityZones" },
        OnePerAz = false,
        SubnetFilters = new [] { subnetFilter },
        SubnetGroupName = "subnetGroupName",
        SubnetName = "subnetName",
        Subnets = new [] { subnet },
        SubnetType = SubnetType.ISOLATED
    }
};

Synopsis

Constructors

DatabaseInstanceSourceProps()

Properties

AllocatedStorage

The allocated storage size, specified in gigabytes (GB).

AllowMajorVersionUpgrade

Whether to allow major version upgrades.

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.

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.

CopyTagsToSnapshot

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

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.

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.

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.

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.

VpcPlacement

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

VpcSubnets

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

Constructors

DatabaseInstanceSourceProps()

public DatabaseInstanceSourceProps()

Properties

AllocatedStorage

The allocated storage size, specified in gigabytes (GB).

public Nullable<double> AllocatedStorage { get; set; }
Property Value

System.Nullable<System.Double>

Remarks

Default: 100

AllowMajorVersionUpgrade

Whether to allow major version upgrades.

public Nullable<bool> AllowMajorVersionUpgrade { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

Default: false

AutoMinorVersionUpgrade

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

public Nullable<bool> AutoMinorVersionUpgrade { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

Default: true

AvailabilityZone

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

public string AvailabilityZone { get; set; }
Property Value

System.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

CloudwatchLogsExports

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

public string[] CloudwatchLogsExports { get; set; }
Property Value

System.String[]

Remarks

Default: - no log exports

CloudwatchLogsRetention

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

public Nullable<RetentionDays> CloudwatchLogsRetention { get; set; }
Property Value

System.Nullable<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.

CopyTagsToSnapshot

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

public Nullable<bool> CopyTagsToSnapshot { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

Default: true

DatabaseName

The name of the database.

public string DatabaseName { get; set; }
Property Value

System.String

Remarks

Default: - no name

DeleteAutomatedBackups

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

public Nullable<bool> DeleteAutomatedBackups { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

Default: false

DeletionProtection

Indicates whether the DB instance should have deletion protection enabled.

public Nullable<bool> DeletionProtection { get; set; }
Property Value

System.Nullable<System.Boolean>

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

System.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 {@link DatabaseInstanceNewProps#domain} is specified

EnablePerformanceInsights

Whether to enable Performance Insights for the DB instance.

public Nullable<bool> EnablePerformanceInsights { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

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

Engine

The database engine.

public IInstanceEngine Engine { get; set; }
Property Value

IInstanceEngine

IamAuthentication

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

public Nullable<bool> IamAuthentication { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

Default: false

InstanceIdentifier

A name for the DB instance.

public string InstanceIdentifier { get; set; }
Property Value

System.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 Nullable<double> Iops { get; set; }
Property Value

System.Nullable<System.Double>

Remarks

The value must be equal to or greater than 1000.

Default: - no provisioned iops

LicenseModel

The license model.

public Nullable<LicenseModel> LicenseModel { get; set; }
Property Value

System.Nullable<LicenseModel>

Remarks

Default: - RDS default license model

MaxAllocatedStorage

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

public Nullable<double> MaxAllocatedStorage { get; set; }
Property Value

System.Nullable<System.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 Nullable<bool> MultiAz { get; set; }
Property Value

System.Nullable<System.Boolean>

Remarks

Default: false

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

System.Collections.Generic.IDictionary<System.String, System.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 Nullable<PerformanceInsightRetention> PerformanceInsightRetention { get; set; }
Property Value

System.Nullable<PerformanceInsightRetention>

Remarks

Default: 7

Port

The port for the instance.

public Nullable<double> Port { get; set; }
Property Value

System.Nullable<System.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

System.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

    System.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 Nullable<bool> PubliclyAccessible { get; set; }
    Property Value

    System.Nullable<System.Boolean>

    Remarks

    Default: - true if 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 Nullable<RemovalPolicy> RemovalPolicy { get; set; }
    Property Value

    System.Nullable<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

    StorageType

    The storage type.

    public Nullable<StorageType> StorageType { get; set; }
    Property Value

    System.Nullable<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

    System.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

    VpcPlacement

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

    public ISubnetSelection VpcPlacement { get; set; }
    Property Value

    ISubnetSelection

    Remarks

    Default: - private subnets

    Stability: Deprecated

    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

    IDatabaseInstanceSourceProps
    IDatabaseInstanceNewProps
    Back to top Generated by DocFX