in aws-memorydb-acl/src/main/java/software/amazon/memorydb/acl/CreateHandler.java [19:47]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<MemoryDbClient> proxyClient,
final Logger logger) {
this.logger = logger;
ResourceModel resourceModel = request.getDesiredResourceState();
logger.log(String.format("Resource model: %s", resourceModel.toString()));
if (!resourceModel.getACLName().matches("[a-z][a-z0-9\\\\-]*")) {
throw new CfnInvalidRequestException(ID_WRONG_FORMAT);
}
return ProgressEvent.progress(request.getDesiredResourceState(), callbackContext)
.then(progress ->
proxy.initiate("AWS-MemoryDB-ACL::Create", proxyClient, progress.getResourceModel(),
progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToCreateRequest)
.makeServiceCall((awsRequest, client) -> handleExceptions(() ->
client.injectCredentialsAndInvokeV2(awsRequest, client.client()::createACL)))
.stabilize(
(updateUserRequest, updateUserResponse, proxyInvocation, model, context) -> isAclStabilized(
proxyInvocation, model, logger))
.progress()
).then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
}