diff --git a/aws-rds-dbinstance/aws-rds-dbinstance.json b/aws-rds-dbinstance/aws-rds-dbinstance.json
index babad1dac..c316a34c8 100644
--- a/aws-rds-dbinstance/aws-rds-dbinstance.json
+++ b/aws-rds-dbinstance/aws-rds-dbinstance.json
@@ -144,6 +144,15 @@
"default": 1,
"description": "The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups."
},
+ "BackupTarget": {
+ "type": "string",
+ "description": "Where to store automated backups and manual snapshots, either in the AWS Region (default) or locally in your Outpost.",
+ "default": "region",
+ "enum": [
+ "outposts",
+ "region"
+ ]
+ },
"CACertificateIdentifier": {
"type": "string",
"description": "The identifier of the CA certificate for this DB instance."
@@ -488,6 +497,7 @@
"/properties/StorageType": "$lowercase(StorageType)"
},
"createOnlyProperties": [
+ "/properties/BackupTarget",
"/properties/CharacterSetName",
"/properties/CustomIAMInstanceProfile",
"/properties/DBClusterIdentifier",
diff --git a/aws-rds-dbinstance/docs/README.md b/aws-rds-dbinstance/docs/README.md
index 6d1341579..3d6ff1ba3 100644
--- a/aws-rds-dbinstance/docs/README.md
+++ b/aws-rds-dbinstance/docs/README.md
@@ -19,6 +19,7 @@ To declare this entity in your AWS CloudFormation template, use the following sy
"AutomaticBackupReplicationRegion" : String,
"AvailabilityZone" : String,
"BackupRetentionPeriod" : Integer,
+ "BackupTarget" : String,
"CACertificateIdentifier" : String,
"CertificateDetails" : CertificateDetails,
"CertificateRotationRestart" : Boolean,
@@ -105,6 +106,7 @@ Properties:
AutomaticBackupReplicationRegion: String
AvailabilityZone: String
BackupRetentionPeriod: Integer
+ BackupTarget: String
CACertificateIdentifier: String
CertificateDetails: CertificateDetails
CertificateRotationRestart: Boolean
@@ -256,6 +258,18 @@ _Type_: Integer
_Update requires_: [Some interruptions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-some-interrupt)
+#### BackupTarget
+
+Where to store automated backups and manual snapshots, either in the AWS Region (default) or locally in your Outpost.
+
+_Required_: No
+
+_Type_: String
+
+_Allowed Values_: outposts
| region
+
+_Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)
+
#### CACertificateIdentifier
The identifier of the CA certificate for this DB instance.
@@ -1018,3 +1032,4 @@ Returns the CAIdentifier
value.
#### ValidTill
Returns the ValidTill
value.
+
diff --git a/aws-rds-dbinstance/src/main/java/software/amazon/rds/dbinstance/Translator.java b/aws-rds-dbinstance/src/main/java/software/amazon/rds/dbinstance/Translator.java
index 53520d6e3..b99533d32 100644
--- a/aws-rds-dbinstance/src/main/java/software/amazon/rds/dbinstance/Translator.java
+++ b/aws-rds-dbinstance/src/main/java/software/amazon/rds/dbinstance/Translator.java
@@ -245,6 +245,7 @@ public static CreateDbInstanceRequest createDbInstanceRequestV12(
.autoMinorVersionUpgrade(model.getAutoMinorVersionUpgrade())
.availabilityZone(model.getAvailabilityZone())
.backupRetentionPeriod(model.getBackupRetentionPeriod())
+ .backupTarget(model.getBackupTarget())
.customIamInstanceProfile(model.getCustomIAMInstanceProfile())
.characterSetName(model.getCharacterSetName())
.dbInstanceClass(model.getDBInstanceClass())
@@ -279,6 +280,7 @@ public static CreateDbInstanceRequest createDbInstanceRequest(
.autoMinorVersionUpgrade(model.getAutoMinorVersionUpgrade())
.availabilityZone(model.getAvailabilityZone())
.backupRetentionPeriod(model.getBackupRetentionPeriod())
+ .backupTarget(model.getBackupTarget())
.caCertificateIdentifier(model.getCACertificateIdentifier())
.characterSetName(model.getCharacterSetName())
.copyTagsToSnapshot(model.getCopyTagsToSnapshot())
@@ -824,6 +826,7 @@ public static ResourceModel.ResourceModelBuilder translateDbInstanceFromSdkBuild
.autoMinorVersionUpgrade(dbInstance.autoMinorVersionUpgrade())
.availabilityZone(dbInstance.availabilityZone())
.backupRetentionPeriod(dbInstance.backupRetentionPeriod())
+ .backupTarget(dbInstance.backupTarget())
.cACertificateIdentifier(dbInstance.caCertificateIdentifier())
.certificateDetails(translateCertificateDetailsFromSdk(dbInstance.certificateDetails()))
.characterSetName(dbInstance.characterSetName())