in aws-wafv2-webacl/src/main/java/com/amazonaws/wafv2/webacl/ReadHandler.java [34:82]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
try {
final GetWebAclResponse response = getWebACLExceptionWrapper(proxy, model).execute();
final List<Tag> tags = HandlerHelper.getConvertedTags(proxy, client, response.webACL().arn(),
tag -> Tag.builder()
.key(tag.key())
.value(tag.value())
.build());
final ResourceModel.ResourceModelBuilder result = ResourceModel.builder()
// primary identifiers
.id(response.webACL().id())
.name(response.webACL().name())
.scope(model.getScope())
// read only fields
.arn(response.webACL().arn())
.capacity(new Integer(Math.toIntExact(response.webACL().capacity().longValue())))
// other fields
.description(response.webACL().description())
.defaultAction(StatementCommonsConverter.INSTANCE.invert(response.webACL().defaultAction()))
.rules(Optional.ofNullable(response.webACL().rules()).orElse(ImmutableList.of()).stream()
.map(rule -> Converter.INSTANCE.invert(rule))
.collect(Collectors.toList()))
.visibilityConfig(StatementCommonsConverter.INSTANCE.invert(response.webACL().visibilityConfig()))
.labelNamespace(response.webACL().labelNamespace())
.tags(tags);
if (MapUtils.isNotEmpty(response.webACL().customResponseBodies())) {
result.customResponseBodies(
Converter.INSTANCE.invert(response.webACL().customResponseBodies()));
}
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(result.build())
.status(OperationStatus.SUCCESS)
.build();
} catch (RuntimeException e) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.status(OperationStatus.FAILED)
.errorCode(ExceptionTranslationWrapper.translateExceptionIntoErrorCode(e))
.message(e.getMessage())
.build();
}
}