in aws-transfer-workflow/src/main/java/software/amazon/transfer/workflow/ReadHandler.java [35:91]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
if (this.client == null){
this.client = ClientBuilder.getClient();
}
ResourceModel model = request.getDesiredResourceState();
DescribeWorkflowRequest describeWorkflowRequest = DescribeWorkflowRequest.builder()
.workflowId(model.getWorkflowId())
.build();
try {
DescribeWorkflowResponse response = proxy
.injectCredentialsAndInvokeV2(describeWorkflowRequest, client::describeWorkflow);
logger.log(String.format("%s %s described successfully",
ResourceModel.TYPE_NAME, model.getPrimaryIdentifier()));
DescribedWorkflow describedWorkflow = response.workflow();
ResourceModel resourceModel = ResourceModel.builder()
.arn(describedWorkflow.arn())
.description(describedWorkflow.description())
.onExceptionSteps((CollectionUtils.isNullOrEmpty(describedWorkflow.onExceptionSteps())) ?
null : describedWorkflow.onExceptionSteps()
.stream()
.map(Converter.WorkflowStepConverter::fromSdk)
.collect(Collectors.toList()))
.steps((CollectionUtils.isNullOrEmpty(describedWorkflow.steps())) ?
null : describedWorkflow.steps()
.stream()
.map(Converter.WorkflowStepConverter::fromSdk)
.collect(Collectors.toList()))
.tags((CollectionUtils.isNullOrEmpty(describedWorkflow.tags())) ?
null : describedWorkflow.tags()
.stream()
.map(Converter.TagConverter::fromSdk)
.collect(Collectors.toSet()))
.workflowId(model.getWorkflowId())
.build();
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(resourceModel)
.status(OperationStatus.SUCCESS)
.build();
} catch (InvalidRequestException e) {
throw new CfnInvalidRequestException(describeWorkflowRequest.toString(), e);
} catch (InternalServiceErrorException e) {
throw new CfnServiceInternalErrorException("describeWorkflow", e);
} catch (ResourceNotFoundException e) {
throw new CfnNotFoundException(ResourceModel.TYPE_NAME,
model.getPrimaryIdentifier().toString());
} catch (TransferException e) {
throw new CfnGeneralServiceException(e.getMessage(), e);
}
}