in alias/src/main/java/software/amazon/kms/alias/ReadHandler.java [29:61]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<KmsClient> proxyClient,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
final Predicate<ResourceModel> predicate =
resourceModel -> resourceModel.getAliasName().equals(model.getAliasName());
String marker = null;
do {
request.setNextToken(marker);
final ProgressEvent<ResourceModel, CallbackContext> listModelsResponse =
new ListHandler(this.clientBuilder, this.aliasApiHelper,
this.eventualConsistencyHandlerHelper)
.handleRequest(proxy, request, callbackContext, proxyClient, logger);
final Optional<ResourceModel> targetResourceModel =
listModelsResponse.getResourceModels().stream()
.filter(predicate).findFirst();
if (targetResourceModel.isPresent()) {
return ProgressEvent.defaultSuccessHandler(targetResourceModel.get());
}
marker = listModelsResponse.getNextToken();
} while (!StringUtils.isNullOrEmpty(marker));
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.status(OperationStatus.FAILED)
.errorCode(HandlerErrorCode.NotFound)
.build();
}