private ExceptionTranslationWrapper createWebACLExceptionWrapper()

in aws-wafv2-webacl/src/main/java/com/amazonaws/wafv2/webacl/CreateHandler.java [94:122]


    private ExceptionTranslationWrapper<CreateWebAclResponse> createWebACLExceptionWrapper(
            final AmazonWebServicesClientProxy proxy, final ResourceModel model) {
        return new ExceptionTranslationWrapper<CreateWebAclResponse>() {
            @Override
            public CreateWebAclResponse doWithTranslation() throws RuntimeException {
                final CreateWebAclRequest.Builder createWebAclRequest = CreateWebAclRequest.builder()
                        .name(model.getName())
                        .scope(model.getScope())
                        .description(model.getDescription())
                        .defaultAction(StatementCommonsConverter.INSTANCE.convert(model.getDefaultAction()))
                        .visibilityConfig(StatementCommonsConverter.INSTANCE.convert(model.getVisibilityConfig()))
                        .rules(Optional.ofNullable(model.getRules()).orElse(ImmutableList.of()).stream()
                                .map(rule -> Converter.INSTANCE.convert(rule))
                                .collect(Collectors.toList()));
                if (MapUtils.isNotEmpty(model.getCustomResponseBodies())) {
                    createWebAclRequest.customResponseBodies(
                        Converter.INSTANCE.convert(model.getCustomResponseBodies()));
                }
                if (!CollectionUtils.isNullOrEmpty(model.getTags())) {
                    createWebAclRequest.tags(model.getTags().stream()
                            .map(Converter.INSTANCE::convert)
                            .collect(Collectors.toList()));
                }
                final CreateWebAclResponse response = proxy.injectCredentialsAndInvokeV2(
                        createWebAclRequest.build(), client::createWebACL);
                return response;
            }
        };
    }