in aws-logs-metricfilter/src/main/java/software/amazon/logs/metricfilter/CreateHandler.java [42:62]
private PutMetricFilterResponse createResource(
final ResourceModel model,
final PutMetricFilterRequest awsRequest,
final ProxyClient<CloudWatchLogsClient> proxyClient) {
try {
boolean exists = exists(proxyClient, model);
if (exists) {
throw new CfnAlreadyExistsException(ResourceModel.TYPE_NAME, model.getPrimaryIdentifier().toString());
}
logger.log(String.format("Resource doesn't exist. Creating a new one %s", ResourceModel.TYPE_NAME));
return proxyClient.injectCredentialsAndInvokeV2(awsRequest, proxyClient.client()::putMetricFilter);
} catch (final InvalidParameterException e) {
throw new CfnInvalidRequestException(ResourceModel.TYPE_NAME, e);
} catch (final LimitExceededException e) {
throw new CfnServiceLimitExceededException(e);
} catch (final OperationAbortedException e) {
throw new CfnResourceConflictException(e);
} catch (final ServiceUnavailableException e) {
throw new CfnServiceInternalErrorException(e);
}
}