in aws-wafv2-loggingconfiguration/src/main/java/software/amazon/wafv2/loggingconfiguration/CreateHandler.java [21:48]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<Wafv2Client> proxyClient,
final Logger logger) {
this.logger = logger;
ResourceModel model = request.getDesiredResourceState();
if (StringUtils.isBlank(model.getResourceArn())) {
return ProgressEvent.failed(model, callbackContext, HandlerErrorCode.InvalidRequest, "Resource ARN cannot be empty");
}
if (model.getLogDestinationConfigs() == null || model.getLogDestinationConfigs().isEmpty()) {
return ProgressEvent.failed(model, callbackContext, HandlerErrorCode.InvalidRequest, "LogDestinationConfigs cannot be empty");
}
if (!Objects.isNull(model.getManagedByFirewallManager())) {
return ProgressEvent.failed(model, callbackContext, HandlerErrorCode.InvalidRequest, "ManagedByFirewallManager is a Read-Only property");
}
return ProgressEvent.progress(request.getDesiredResourceState(), callbackContext)
.then(progress -> preExistanceCheck(proxy, proxyClient, model, callbackContext))
.then(progress -> putLoggingConfiguration(proxy, proxyClient, model, callbackContext))
.then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
}