Skip to content

Commit

Permalink
add tagging parameter for createGlobalCluster
Browse files Browse the repository at this point in the history
  • Loading branch information
akwan224 committed Sep 19, 2024
1 parent a4a70a6 commit 20d5c32
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 4 deletions.
38 changes: 37 additions & 1 deletion aws-rds-globalcluster/aws-rds-globalcluster.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,16 @@
"aurora-postgresql"
]
},
"Tags": {
"type": "array",
"maxItems": 50,
"uniqueItems": true,
"insertionOrder": false,
"description": "An array of key-value pairs to apply to this resource.",
"items": {
"$ref": "#/definitions/Tag"
}
},
"EngineLifecycleSupport": {
"description": "The life cycle type of the global cluster. You can use this setting to enroll your global cluster into Amazon RDS Extended Support.",
"type": "string"
Expand Down Expand Up @@ -46,6 +56,30 @@
"type": "boolean"
}
},
"definitions": {
"Tag": {
"description": "A key-value pair to associate with a resource.",
"type": "object",
"additionalProperties": false,
"properties": {
"Key": {
"type": "string",
"description": "The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
"minLength": 1,
"maxLength": 128
},
"Value": {
"type": "string",
"description": "The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. ",
"minLength": 0,
"maxLength": 256
}
},
"required": [
"Key"
]
}
},
"oneOf": [
{
"required": [
Expand Down Expand Up @@ -87,7 +121,9 @@
"update": {
"permissions": [
"rds:ModifyGlobalCluster",
"rds:DescribeGlobalClusters"
"rds:DescribeGlobalClusters",
"rds:AddTagsToResource",
"rds:RemoveTagsFromResource"
]
},
"delete": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ protected ProgressEvent<ResourceModel, CallbackContext> createGlobalClusterWithS
.done((describeDbClusterRequest, describeDbClusterResponse, proxyClient2, resourceModel, callbackContext) -> {
final String arn = describeDbClusterResponse.dbClusters().get(0).dbClusterArn();
try {
proxyClient2.injectCredentialsAndInvokeV2(Translator.createGlobalClusterRequest(resourceModel, arn), proxyClient2.client()::createGlobalCluster);
proxyClient2.injectCredentialsAndInvokeV2(Translator.createGlobalClusterRequest(resourceModel, arn, Tagging.TagSet.emptySet()), proxyClient2.client()::createGlobalCluster);
callbackContext.setGlobalClusterCreated(true);
} catch (GlobalClusterAlreadyExistsException e) {
throw new CfnAlreadyExistsException(e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
public class Translator {

static CreateGlobalClusterRequest createGlobalClusterRequest(final ResourceModel model) {
return createGlobalClusterRequest(model, null);
return createGlobalClusterRequest(model, null, Tagging.TagSet.emptySet());
}

static CreateGlobalClusterRequest createGlobalClusterRequest(final ResourceModel model, String dbClusterArn) {
static CreateGlobalClusterRequest createGlobalClusterRequest(final ResourceModel model, String dbClusterArn, final Tagging.TagSet tagSet) {
return CreateGlobalClusterRequest.builder()
.engine(model.getEngine())
.engineVersion(model.getEngineVersion())
Expand All @@ -33,6 +33,7 @@ static CreateGlobalClusterRequest createGlobalClusterRequest(final ResourceModel
.sourceDBClusterIdentifier(StringUtils.isBlank(dbClusterArn) ? model.getSourceDBClusterIdentifier() : dbClusterArn)
.storageEncrypted(model.getStorageEncrypted())
.engineLifecycleSupport(model.getEngineLifecycleSupport())
.tags(Tagging.translateTagsToSdk(tagSet))
.build();
}

Expand Down

0 comments on commit 20d5c32

Please sign in to comment.