Set getDefaultParametersForRemovedParams()

in aws-memorydb-parametergroup/src/main/java/software/amazon/memorydb/parametergroup/UpdateHandler.java [204:228]


    Set<Parameter> getDefaultParametersForRemovedParams(final Set<String> removedParamKeys,
                                                        final ProxyClient<MemoryDbClient> proxyClient,
                                                        final ProgressEvent<ResourceModel, CallbackContext> progress) {
        Set<Parameter> removedParams;
        String nextToken = null;
        final ParameterGroup paramGroup = proxyClient.injectCredentialsAndInvokeV2(
                Translator.translateToReadRequest(progress.getResourceModel()), proxyClient.client()::describeParameterGroups).parameterGroups().get(0);
        do {
            try {
                final DescribeParametersResponse describeParametersResponse = proxyClient.injectCredentialsAndInvokeV2(
                        Translator.translateToDescribeParametersRequest(DEFAULT_PARAMETER_GROUP_NAME_PREFIX + paramGroup.family(), nextToken), proxyClient.client()::describeParameters);

                nextToken = describeParametersResponse.nextToken();
                removedParams = describeParametersResponse.parameters().stream().filter(defaultParam -> removedParamKeys.contains(defaultParam.name())).collect(Collectors.toSet());
                if (removedParams != null && removedParams.size() == removedParamKeys.size()) {
                    break;
                }
            } catch (final ParameterGroupNotFoundException e) {
                throw new CfnNotFoundException(e);
            } catch (final Exception e) {
                throw new CfnGeneralServiceException(e);
            }
        } while (!StringUtils.isNullOrEmpty(nextToken));
        return removedParams;
    }