diff --git a/aws-rds-cfn-common/pom.xml b/aws-rds-cfn-common/pom.xml
index 0d5b0e97f..9056c682e 100644
--- a/aws-rds-cfn-common/pom.xml
+++ b/aws-rds-cfn-common/pom.xml
@@ -27,12 +27,12 @@
software.amazon.awssdk
utils
- 2.21.17
+ 2.22.7
software.amazon.awssdk
rds
- 2.21.17
+ 2.22.7
software.amazon.cloudformation
diff --git a/aws-rds-customdbengineversion/aws-rds-customdbengineversion.json b/aws-rds-customdbengineversion/aws-rds-customdbengineversion.json
index 4521af65b..807fd2405 100644
--- a/aws-rds-customdbengineversion/aws-rds-customdbengineversion.json
+++ b/aws-rds-customdbengineversion/aws-rds-customdbengineversion.json
@@ -76,6 +76,18 @@
"type": "string",
"description": "The ARN of the custom engine version."
},
+ "SourceCustomDBEngineVersionIdentifier": {
+ "type": "string",
+ "description": "The identifier of the source custom engine version."
+ },
+ "UseAwsProvidedLatestImage": {
+ "type": "boolean",
+ "description": "A value that indicates whether AWS provided latest image is applied automatically to the Custom Engine Version. By default, AWS provided latest image is applied automatically."
+ },
+ "ImageId": {
+ "type": "string",
+ "description": "The identifier of Amazon Machine Image (AMI) used for CEV."
+ },
"Status": {
"type": "string",
"description": "The availability status to be assigned to the CEV.",
@@ -103,12 +115,13 @@
"/properties/KMSKeyId": "$join([\"arn:(aws)[-]{0,1}[a-z]{0,2}[-]{0,1}[a-z]{0,3}:kms:[a-z]{2}[-]{1}[a-z]{3,10}[-]{0,1}[a-z]{0,10}[-]{1}[1-3]{1}:[0-9]{12}[:]{1}key\\/\", KMSKeyId])"
},
"required": [
- "DatabaseInstallationFilesS3BucketName",
"Engine",
"EngineVersion"
],
"writeOnlyProperties": [
- "/properties/Manifest"
+ "/properties/Manifest",
+ "/properties/SourceCustomDbEngineVersionIdentifier",
+ "/properties/UseAwsProvidedLatestImage"
],
"readOnlyProperties": [
"/properties/DBEngineVersionArn"
@@ -122,14 +135,23 @@
"/properties/EngineVersion",
"/properties/DatabaseInstallationFilesS3BucketName",
"/properties/DatabaseInstallationFilesS3Prefix",
+ "/properties/ImageId",
"/properties/KMSKeyId",
- "/properties/Manifest"
+ "/properties/Manifest",
+ "/properties/SourceCustomDbEngineVersionIdentifier",
+ "/properties/UseAwsProvidedLatestImage"
],
"handlers": {
"create": {
"permissions": [
+ "ec2:CopySnapshot",
+ "ec2:DeleteSnapshot",
+ "ec2:DescribeSnapshots",
"kms:CreateGrant",
+ "kms:Decrypt",
"kms:DescribeKey",
+ "kms:GenerateDataKey",
+ "kms:ReEncrypt",
"mediaimport:CreateDatabaseBinarySnapshot",
"rds:AddTagsToResource",
"rds:CreateCustomDBEngineVersion",
diff --git a/aws-rds-customdbengineversion/docs/README.md b/aws-rds-customdbengineversion/docs/README.md
index 7c1cd625a..42adc00f1 100644
--- a/aws-rds-customdbengineversion/docs/README.md
+++ b/aws-rds-customdbengineversion/docs/README.md
@@ -19,6 +19,9 @@ To declare this entity in your AWS CloudFormation template, use the following sy
"EngineVersion" : String,
"KMSKeyId" : String,
"Manifest" : String,
+ "SourceCustomDBEngineVersionIdentifier" : String,
+ "UseAwsProvidedLatestImage" : Boolean,
+ "ImageId" : String,
"Status" : String,
"Tags" : [ Tag, ... ]
}
@@ -37,6 +40,9 @@ Properties:
EngineVersion: String
KMSKeyId: String
Manifest: String
+ SourceCustomDBEngineVersionIdentifier: String
+ UseAwsProvidedLatestImage: Boolean
+ ImageId: String
Status: String
Tags:
- Tag
@@ -48,7 +54,7 @@ Properties:
The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid bucket name is `my-custom-installation-files`.
-_Required_: Yes
+_Required_: No
_Type_: String
@@ -142,6 +148,36 @@ _Maximum Length_: 51000
_Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)
+#### SourceCustomDBEngineVersionIdentifier
+
+The identifier of the source custom engine version.
+
+_Required_: No
+
+_Type_: String
+
+_Update requires_: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)
+
+#### UseAwsProvidedLatestImage
+
+A value that indicates whether AWS provided latest image is applied automatically to the Custom Engine Version. By default, AWS provided latest image is applied automatically.
+
+_Required_: No
+
+_Type_: Boolean
+
+_Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)
+
+#### ImageId
+
+The identifier of Amazon Machine Image (AMI) used for CEV.
+
+_Required_: No
+
+_Type_: String
+
+_Update requires_: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)
+
#### Status
The availability status to be assigned to the CEV.
@@ -175,3 +211,4 @@ For more information about using the `Fn::GetAtt` intrinsic function, see [Fn::G
#### DBEngineVersionArn
The ARN of the custom engine version.
+
diff --git a/aws-rds-customdbengineversion/pom.xml b/aws-rds-customdbengineversion/pom.xml
index d28c3909a..d68d3a3ef 100644
--- a/aws-rds-customdbengineversion/pom.xml
+++ b/aws-rds-customdbengineversion/pom.xml
@@ -22,7 +22,7 @@
software.amazon.awssdk
rds
- 2.21.17
+ 2.22.7
software.amazon.rds.common
diff --git a/aws-rds-customdbengineversion/resource-role.yaml b/aws-rds-customdbengineversion/resource-role.yaml
index 1e53ffb44..e6394b5d2 100644
--- a/aws-rds-customdbengineversion/resource-role.yaml
+++ b/aws-rds-customdbengineversion/resource-role.yaml
@@ -30,8 +30,14 @@ Resources:
Statement:
- Effect: Allow
Action:
+ - "ec2:CopySnapshot"
+ - "ec2:DeleteSnapshot"
+ - "ec2:DescribeSnapshots"
- "kms:CreateGrant"
+ - "kms:Decrypt"
- "kms:DescribeKey"
+ - "kms:GenerateDataKey"
+ - "kms:ReEncrypt"
- "mediaimport:CreateDatabaseBinarySnapshot"
- "rds:AddTagsToResource"
- "rds:CreateCustomDBEngineVersion"
diff --git a/aws-rds-customdbengineversion/src/main/java/software/amazon/rds/customdbengineversion/Translator.java b/aws-rds-customdbengineversion/src/main/java/software/amazon/rds/customdbengineversion/Translator.java
index f7a15c252..eb6022383 100644
--- a/aws-rds-customdbengineversion/src/main/java/software/amazon/rds/customdbengineversion/Translator.java
+++ b/aws-rds-customdbengineversion/src/main/java/software/amazon/rds/customdbengineversion/Translator.java
@@ -31,9 +31,12 @@ public static CreateCustomDbEngineVersionRequest createCustomDbEngineVersionRequ
.description(model.getDescription())
.engine(model.getEngine())
.engineVersion(model.getEngineVersion())
+ .imageId(model.getImageId())
.kmsKeyId(model.getKMSKeyId())
.manifest(model.getManifest())
+ .sourceCustomDbEngineVersionIdentifier(model.getSourceCustomDBEngineVersionIdentifier())
.tags(Tagging.translateTagsToSdk(tags))
+ .useAwsProvidedLatestImage(model.getUseAwsProvidedLatestImage())
.build();
}
@@ -108,6 +111,7 @@ static ResourceModel translateFromSdk(
.description(engineVersion.dbEngineVersionDescription())
.engine(engineVersion.engine())
.engineVersion(engineVersion.engineVersion())
+ .imageId(engineVersion.image() != null ? engineVersion.image().imageId() : null)
.kMSKeyId(engineVersion.kmsKeyId())
.status(engineVersion.status())
.tags(translateTagsFromSdk(engineVersion.tagList()))
diff --git a/pom.xml b/pom.xml
index 1051ec29c..5c4a7537c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,6 +11,7 @@
aws-rds-cfn-test-common
aws-rds-cfn-common
+ aws-rds-customdbengineversion
aws-rds-dbcluster
aws-rds-dbclusterparametergroup
aws-rds-dbinstance