in aws-events-apidestination/src/main/java/software/amazon/events/apidestination/CreateHandler.java [29:59]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<EventBridgeClient> proxyClient,
final Logger logger) {
this.logger = logger;
final ResourceModel model = request.getDesiredResourceState();
logger.log(String.format("Resource module: %s", model.toString()));
verifyNonCreatableFields(model);
if (StringUtils.isNullOrEmpty(model.getName())) {
model.setName(
IdentifierUtils.generateResourceIdentifier(
request.getLogicalResourceIdentifier(), request.getClientRequestToken(), MAX_API_DESTINATION_NAME_LENGTH));
}
return ProgressEvent.progress(model, callbackContext)
.then(progress ->
proxy.initiate("AWS-Events-ApiDestination::Create", proxyClient, progress.getResourceModel(), progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToCreateRequest)
.makeServiceCall(this::createResource)
.progress()
)
.then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
}