in aws-ecr-replicationconfiguration/src/main/java/software/amazon/ecr/replicationconfiguration/ListHandler.java [22:59]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<EcrClient> proxyClient,
final Logger logger) {
final EcrClient client = proxyClient.client();
DescribeRegistryResponse response;
try {
response = describeRegistryResource(proxy, client);
logger.log(String.format("%s [%s] List Read Successful", ResourceModel.TYPE_NAME, response.replicationConfiguration()));
} catch (AwsServiceException e) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.status(OperationStatus.FAILED)
.resourceModels(emptyList())
.errorCode(HandlerErrorCode.GeneralServiceException)
.message(e.getMessage())
.build();
}
List<ResourceModel> models;
if (hasExistingResource(response)) {
ResourceModel returnModel = Response.generateResourceModel(request.getAwsAccountId(), response);
models = singletonList(returnModel);
} else {
// If no resource exists then return success with empty list.
models = emptyList();
}
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.status(OperationStatus.SUCCESS)
.nextToken(null)
.build();
}