in activity/src/main/java/com/amazonaws/stepfunctions/cloudformation/activity/ReadHandler.java [19:63]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
logger.log("INFO Activity ReadHandler with clientRequestToken: " + request.getClientRequestToken());
final ResourceModel model = request.getDesiredResourceState();
try {
verifyActivityArnIsPresent(model.getArn());
final AWSStepFunctions sfnClient = ClientBuilder.getClient();
final DescribeActivityRequest describeActivityRequest = new DescribeActivityRequest()
.withActivityArn(model.getArn());
final DescribeActivityResult describeActivityResult =
proxy.injectCredentialsAndInvoke(describeActivityRequest, sfnClient::describeActivity);
List<Tag> activityTags = null;
try {
activityTags = TaggingHelper.listTagsForResource(model.getArn(), proxy, sfnClient);
} catch (final AmazonServiceException e) {
// To provide backwards compatibility, do not fail the request if ListTagsForResource
// permissions are not present
if (!Constants.ACCESS_DENIED_ERROR_CODE.equals(e.getErrorCode())) {
throw e;
}
logger.log("INFO ListTagsForResource permission not present, excluding tags from resource model");
}
final ResourceModel updatedModel =
ResourceModelUtils.getUpdatedResourceModelFromReadResults(describeActivityResult, activityTags);
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(updatedModel)
.status(OperationStatus.SUCCESS)
.build();
} catch (final Exception e) {
logger.log("ERROR Reading Activity, caused by " + e.toString());
return handleDefaultError(request, e);
}
}