in aws-transfer-workflow/src/main/java/software/amazon/transfer/workflow/ListHandler.java [31:73]
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();
}
final List<ResourceModel> models = new ArrayList<>();
ListWorkflowsRequest listWorkflowsRequest = ListWorkflowsRequest.builder()
.maxResults(10)
.nextToken(request.getNextToken())
.build();
try {
ListWorkflowsResponse response =
proxy.injectCredentialsAndInvokeV2(listWorkflowsRequest, client::listWorkflows);
response.workflows().forEach(listedWorkflow -> {
ResourceModel model = ResourceModel.builder()
.arn(listedWorkflow.arn())
.description(listedWorkflow.description())
.workflowId(listedWorkflow.workflowId())
.build();
models.add(model);
});
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.nextToken(response.nextToken())
.status(OperationStatus.SUCCESS)
.build();
} catch (InvalidRequestException e) {
throw new CfnInvalidRequestException(listWorkflowsRequest.toString(), e);
} catch (InternalServiceErrorException e) {
throw new CfnServiceInternalErrorException("listWorkflow", e);
} catch (TransferException e) {
throw new CfnGeneralServiceException(e.getMessage(), e);
}
}