API Reference

PREVIEW DOCUMENTATION - This is a preview of a new format for the AWS SDK for Go API Reference documentation. For the current AWS SDK for Go API Reference, see

We welcome your feedback on this new version of the documentation. Send your comments to


import ""

type CreateDBInstanceReadReplicaInput struct { AutoMinorVersionUpgrade *bool `type:"boolean"` AvailabilityZone *string `type:"string"` CopyTagsToSnapshot *bool `type:"boolean"` DBInstanceClass *string `type:"string"` DBInstanceIdentifier *string `type:"string" required:"true"` DBSubnetGroupName *string `type:"string"` DeletionProtection *bool `type:"boolean"` DestinationRegion *string `type:"string"` EnableCloudwatchLogsExports []*string `type:"list"` EnableIAMDatabaseAuthentication *bool `type:"boolean"` EnablePerformanceInsights *bool `type:"boolean"` Iops *int64 `type:"integer"` KmsKeyId *string `type:"string"` MonitoringInterval *int64 `type:"integer"` MonitoringRoleArn *string `type:"string"` MultiAZ *bool `type:"boolean"` OptionGroupName *string `type:"string"` PerformanceInsightsKMSKeyId *string `type:"string"` PerformanceInsightsRetentionPeriod *int64 `type:"integer"` Port *int64 `type:"integer"` PreSignedUrl *string `type:"string"` ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"` PubliclyAccessible *bool `type:"boolean"` SourceDBInstanceIdentifier *string `type:"string" required:"true"` SourceRegion *string `type:"string" ignore:"true"` StorageType *string `type:"string"` Tags []*Tag `locationNameList:"Tag" type:"list"` UseDefaultProcessorFeatures *bool `type:"boolean"` VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` }


Type: *bool

Indicates that minor engine upgrades are applied automatically to the Read Replica during the maintenance window.

Default: Inherits from the source DB instance


Type: *string

The Amazon EC2 Availability Zone that the Read Replica is created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d


Type: *bool

True to copy all tags from the Read Replica to snapshots of the Read Replica, and otherwise false. The default is false.


Type: *string

The compute and memory capacity of the Read Replica, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class ( in the Amazon RDS User Guide.

Default: Inherits from the source DB instance.


Type: *string

The DB instance identifier of the Read Replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.

DBInstanceIdentifier is a required field


Type: *string

Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance is not created in a VPC.


  • Can only be specified if the source DB instance identifier specifies a DB instance in another AWS Region.

  • If supplied, must match the name of an existing DBSubnetGroup.

  • The specified DB subnet group must be in the same AWS Region in which the operation is running.

  • All Read Replicas in one AWS Region that are created from the same source DB instance must either:>

Specify DB subnet groups from the same VPC. All these Read Replicas are created

in the same VPC.

Not specify a DB subnet group. All these Read Replicas are created outside

of any VPC.

Example: mySubnetgroup


Type: *bool

Indicates if the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false. For more information, see Deleting a DB Instance (


Type: *string

DestinationRegion is used for presigning the request to a given region.


Type: []*string

The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs ( in the Amazon RDS User Guide.


Type: *bool

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

  • For MySQL 5.6, minor version 5.6.34 or higher

  • For MySQL 5.7, minor version 5.7.16 or higher

  • Aurora MySQL 5.6 or higher

Default: false


Type: *bool

True to enable Performance Insights for the read replica, and otherwise false.

For more information, see Using Amazon Performance Insights ( in the Amazon RDS User Guide.


Type: *int64

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.


Type: *string

The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you create an encrypted Read Replica in the same AWS Region as the source DB instance, then you do not have to specify a value for this parameter. The Read Replica is encrypted with the same KMS key as the source DB instance.

If you create an encrypted Read Replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

You can't create an encrypted Read Replica from an unencrypted DB instance.


Type: *int64

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60


Type: *string

The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring ( in the Amazon RDS User Guide.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.


Type: *bool

Specifies whether the Read Replica is in a Multi-AZ deployment.

You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your Read Replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance.


Type: *string

The option group the DB instance is associated with. If omitted, the default option group for the engine specified is used.


Type: *string

The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.


Type: *int64

The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).


Type: *int64

The port number that the DB instance uses for connections.

Default: Inherits from the source DB instance

Valid Values: 1150-65535


Type: *string

The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance.

You must specify this parameter when you create an encrypted Read Replica from another AWS Region by using the Amazon RDS API. You can specify the --source-region option instead of this parameter when you create an encrypted Read Replica from another AWS Region by using the AWS CLI.

The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

  • DestinationRegion - The AWS Region that the encrypted Read Replica is created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

For example, if you create an encrypted DB instance in the us-west-1 AWS

Region, from a source DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.
  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the Read Replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted Read Replica from a DB instance in the us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) ( and Signature Version 4 Signing Process (


Contains the processor features of a DB instance class.

To specify the number of CPU cores, use the coreCount feature name for the Name parameter. To specify the number of threads per core, use the threadsPerCore feature name for the Name parameter.

You can set the processor features of the DB instance class for a DB instance when you call one of the following actions:

  • CreateDBInstance

  • ModifyDBInstance

  • RestoreDBInstanceFromDBSnapshot

  • RestoreDBInstanceFromS3

  • RestoreDBInstanceToPointInTime

You can view the valid processor values for a particular instance class by calling the DescribeOrderableDBInstanceOptions action and specifying the instance class for the DBInstanceClass parameter.

In addition, you can use the following actions for DB instance class processor information:

  • DescribeDBInstances

  • DescribeDBSnapshots

  • DescribeValidDBInstanceModifications

For more information, see Configuring the Processor of the DB Instance Class ( in the Amazon RDS User Guide.


Type: *bool

Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.


Type: *string

The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.


  • Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB instance.

  • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6 or later.

  • Can specify a DB instance that is a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region replication).

  • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.

  • If the source DB instance is in the same AWS Region as the Read Replica, specify a valid DB instance identifier.

SourceDBInstanceIdentifier is a required field


Type: *string

SourceRegion is the source region where the resource exists. This is not sent over the wire and is only used for presigning. This value should always have the same region as the source ARN.


Type: *string

Specifies the storage type to be associated with the Read Replica.

Valid values: standard | gp2 | io1

If you specify io1, you must also include a value for the Iops parameter.

Default: io1 if the Iops parameter is specified, otherwise standard


Metadata assigned to an Amazon RDS resource consisting of a key-value pair.


Type: *bool

A value that specifies that the DB instance class of the DB instance uses its default processor features.


Type: []*string

A list of EC2 VPC security groups to associate with the Read Replica.

Default: The default EC2 VPC security group for the DB subnet group's VPC.



func (s CreateDBInstanceReadReplicaInput) GoString() string

GoString returns the string representation


func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput

SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.


func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput

SetAvailabilityZone sets the AvailabilityZone field's value.


func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput

SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.


func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput

SetDBInstanceClass sets the DBInstanceClass field's value.


func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput

SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.


func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput

SetDBSubnetGroupName sets the DBSubnetGroupName field's value.


func (s *CreateDBInstanceReadReplicaInput) SetDeletionProtection(v bool) *CreateDBInstanceReadReplicaInput

SetDeletionProtection sets the DeletionProtection field's value.


func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput

SetDestinationRegion sets the DestinationRegion field's value.


func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput

SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.


func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput

SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.


func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput

SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.


func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput

SetIops sets the Iops field's value.


func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput

SetKmsKeyId sets the KmsKeyId field's value.


func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput

SetMonitoringInterval sets the MonitoringInterval field's value.


func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput

SetMonitoringRoleArn sets the MonitoringRoleArn field's value.


func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput

SetMultiAZ sets the MultiAZ field's value.


func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput

SetOptionGroupName sets the OptionGroupName field's value.


func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput

SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.


func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceReadReplicaInput

SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.


func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput

SetPort sets the Port field's value.


func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput

SetPreSignedUrl sets the PreSignedUrl field's value.


func (s *CreateDBInstanceReadReplicaInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceReadReplicaInput

SetProcessorFeatures sets the ProcessorFeatures field's value.


func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput

SetPubliclyAccessible sets the PubliclyAccessible field's value.


func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput

SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.


func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput

SetSourceRegion sets the SourceRegion field's value.


func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput

SetStorageType sets the StorageType field's value.


func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput

SetTags sets the Tags field's value.


func (s *CreateDBInstanceReadReplicaInput) SetUseDefaultProcessorFeatures(v bool) *CreateDBInstanceReadReplicaInput

SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.


func (s *CreateDBInstanceReadReplicaInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceReadReplicaInput

SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.


func (s CreateDBInstanceReadReplicaInput) String() string

String returns the string representation


func (s *CreateDBInstanceReadReplicaInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

On this page: