Skip to content

Commit 7e11ec3

Browse files
author
Lambros Petrou
committed
Forward the ClientRequestToken as idempotency token to the Create API
https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-test-contract.html > All handlers MUST be idempotent when called using the same `ClientRequestToken`.
1 parent 0512e14 commit 7e11ec3

File tree

3 files changed

+4
-2
lines changed

3 files changed

+4
-2
lines changed

aws-codeguruprofiler-profilinggroup/src/main/java/software/amazon/codeguruprofiler/profilinggroup/CreateHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,12 @@ public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
2929
final Logger logger) {
3030

3131
final ResourceModel model = request.getDesiredResourceState();
32+
final String idempotencyToken = request.getClientRequestToken();
3233

3334
try {
3435
CreateProfilingGroupRequest createProfilingGroupRequest = CreateProfilingGroupRequest.builder()
3536
.profilingGroupName(model.getProfilingGroupName())
37+
.clientToken(idempotencyToken)
3638
.build();
3739

3840
proxy.injectCredentialsAndInvokeV2(createProfilingGroupRequest, profilerClient::createProfilingGroup);

aws-codeguruprofiler-profilinggroup/src/test/java/software/amazon/codeguruprofiler/profilinggroup/CreateHandlerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public void testSuccessState() {
6363
.when(proxy).injectCredentialsAndInvokeV2(
6464
ArgumentMatchers.eq(CreateProfilingGroupRequest
6565
.builder()
66-
.profilingGroupName("IronMan-Suit-34")
66+
.profilingGroupName("IronMan-Suit-34").clientToken("clientTokenXXX")
6767
.build()), any());
6868

6969
final ProgressEvent<ResourceModel, CallbackContext> response

aws-codeguruprofiler-profilinggroup/src/test/java/software/amazon/codeguruprofiler/profilinggroup/RequestBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ static ResourceHandlerRequest<ResourceModel> makeInvalidRequest() {
1212
}
1313

1414
static ResourceHandlerRequest<ResourceModel> makeRequest(ResourceModel model) {
15-
return ResourceHandlerRequest.<ResourceModel>builder().desiredResourceState(model).build();
15+
return ResourceHandlerRequest.<ResourceModel>builder().desiredResourceState(model).clientRequestToken("clientTokenXXX").build();
1616
}
1717
}

0 commit comments

Comments
 (0)