in aws-rds-optiongroup/src/main/java/software/amazon/rds/optiongroup/ReadHandler.java [27:62]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<RdsClient> proxyClient,
final Logger logger) {
return proxy.initiate("rds::read-option-group", proxyClient, request.getDesiredResourceState(), callbackContext)
.translateToServiceRequest(Translator::describeOptionGroupsRequest)
.backoffDelay(config.getBackoff())
.makeServiceCall((describeRequest, proxyInvocation) -> proxyInvocation.injectCredentialsAndInvokeV2(
describeRequest,
proxyInvocation.client()::describeOptionGroups
))
.handleError((describeRequest, exception, client, resourceModel, ctx) -> Commons.handleException(
ProgressEvent.progress(resourceModel, ctx),
exception,
DEFAULT_OPTION_GROUP_ERROR_RULE_SET
))
.done((describeRequest, describeResponse, proxyInvocation, model, context) -> {
final OptionGroup optionGroup = describeResponse.optionGroupsList().stream().findFirst().get();
final List<OptionConfiguration> optionConfigurations = Translator.translateOptionConfigurationsFromSdk(optionGroup.options());
final List<Tag> tags = listTags(proxyInvocation, optionGroup.optionGroupArn());
return ProgressEvent.success(
ResourceModel.builder()
.optionGroupName(optionGroup.optionGroupName())
.engineName(optionGroup.engineName())
.majorEngineVersion(optionGroup.majorEngineVersion())
.optionGroupDescription(optionGroup.optionGroupDescription())
.optionConfigurations(optionConfigurations)
.tags(tags)
.build(),
context
);
});
}