in aws-sns-topicpolicy/src/main/java/software/amazon/sns/topicpolicy/CreateHandler.java [21:42]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<SnsClient> proxyClient,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
// Check if invalid request
if (CollectionUtils.isNullOrEmpty(model.getPolicyDocument())
|| CollectionUtils.isNullOrEmpty(model.getTopics()))
{
throw new CfnInvalidRequestException(
String.format("Invalid create request, topics & policy document cannot be null or empty : %s)",
model.toString()));
}
return ProgressEvent.progress(model, callbackContext)
.then(progress -> initCallbackContextAndPrimaryIdentifier(proxy, proxyClient, request, callbackContext,
progress))
.then(progress -> doCreate(proxy, proxyClient, request, progress, ACTION_CREATED, CREATE_HANDLER, logger ))
.then(progress -> ProgressEvent.success(model, callbackContext));
}