Skip to content

Commit da48b2a

Browse files
authored
Provide stackId in ResourceHandlerRequest (#314)
* Provide stackId in ResourceHandlerRequest
1 parent da4a7f3 commit da48b2a

3 files changed

Lines changed: 21 additions & 0 deletions

File tree

src/main/java/software/amazon/cloudformation/LambdaWrapper.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ public void handleRequest(final InputStream inputStream, final OutputStream outp
272272

273273
if (resourceHandlerRequest != null) {
274274
resourceHandlerRequest.setPreviousResourceTags(getPreviousResourceTags(request));
275+
resourceHandlerRequest.setStackId(getStackId(request));
275276
}
276277

277278
this.metricsPublisherProxy.publishInvocationMetric(Instant.now(), request.getAction());
@@ -570,6 +571,15 @@ protected Map<String, String> getPreviousResourceTags(final HandlerRequest<Resou
570571
return previousResourceTags;
571572
}
572573

574+
@VisibleForTesting
575+
protected String getStackId(final HandlerRequest<ResourceT, CallbackT> request) {
576+
if (request != null) {
577+
return request.getStackId();
578+
}
579+
580+
return null;
581+
}
582+
573583
private void replaceInMap(final Map<String, String> targetMap, final Map<String, String> sourceMap) {
574584
if (targetMap == null) {
575585
return;

src/main/java/software/amazon/cloudformation/proxy/ResourceHandlerRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ public class ResourceHandlerRequest<T> {
4343
private String logicalResourceIdentifier;
4444
private String nextToken;
4545
private String region;
46+
private String stackId;
4647
}

src/test/java/software/amazon/cloudformation/LambdaWrapperTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,4 +1078,14 @@ public void getPreviousResourceTags_resourceTagOverridesStackTag() {
10781078
assertThat(tags.size()).isEqualTo(1);
10791079
assertThat(tags.get("Tag1")).isEqualTo("Value2");
10801080
}
1081+
1082+
@Test
1083+
public void getStackId_setAndGetStackId() {
1084+
final HandlerRequest<TestModel, TestContext> request = new HandlerRequest<>();
1085+
request.setStackId("AWSStackId");
1086+
1087+
final String stackId = wrapper.getStackId(request);
1088+
assertThat(stackId).isNotNull();
1089+
assertThat(stackId).isEqualTo("AWSStackId");
1090+
}
10811091
}

0 commit comments

Comments
 (0)