private ExceptionTranslationWrapper createRuleGroupExceptionWrapper()

in aws-wafv2-rulegroup/src/main/java/com/amazonaws/wafv2/rulegroup/CreateHandler.java [95:126]


    private ExceptionTranslationWrapper<CreateRuleGroupResponse> createRuleGroupExceptionWrapper(
            final AmazonWebServicesClientProxy proxy, final ResourceModel model) {
        return new ExceptionTranslationWrapper<CreateRuleGroupResponse>() {
            @Override
            public CreateRuleGroupResponse doWithTranslation() throws RuntimeException {
                final CreateRuleGroupRequest.Builder createRuleGroupRequestBuilder = CreateRuleGroupRequest.builder()
                        .name(model.getName())
                        .scope(model.getScope())
                        .description(model.getDescription())
                        .visibilityConfig(StatementCommonsConverter.INSTANCE.convert(model.getVisibilityConfig()))
                        .rules(Optional.ofNullable(model.getRules()).orElse(ImmutableList.of()).stream()
                                .map(rule -> Converter.INSTANCE.convert(rule))
                                .collect(Collectors.toList()))
                        .capacity(new Long(model.getCapacity().intValue()));

                if (MapUtils.isNotEmpty(model.getCustomResponseBodies())) {
                    createRuleGroupRequestBuilder.customResponseBodies(
                        Converter.INSTANCE.convert(model.getCustomResponseBodies()));
                }

                if (!CollectionUtils.isNullOrEmpty(model.getTags())) {
                    createRuleGroupRequestBuilder.tags(model.getTags().stream()
                            .map(Converter.INSTANCE::convert)
                            .collect(Collectors.toList()));
                }

                final CreateRuleGroupResponse response = proxy.injectCredentialsAndInvokeV2(
                        createRuleGroupRequestBuilder.build(), client::createRuleGroup);
                return response;
            }
        };
    }