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())