in aws-panorama-applicationinstance/src/main/java/software/amazon/panorama/applicationinstance/ReadHandler.java [22:78]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<PanoramaClient> proxyClient,
final Logger logger
) {
this.logger = new LoggerWrapper(logger);
final ResourceModel model = request.getDesiredResourceState();
final DescribeApplicationInstanceRequest describeApplicationInstanceRequest = Translator.translateToReadRequest(model);
DescribeApplicationInstanceResponse describeApplicationInstanceResponse;
try {
describeApplicationInstanceResponse = proxyClient.injectCredentialsAndInvokeV2(describeApplicationInstanceRequest,
proxyClient.client()::describeApplicationInstance);
if (ApplicationInstanceStatus.REMOVAL_SUCCEEDED.equals(describeApplicationInstanceResponse.status())) {
throw new CfnNotFoundException(ResourceModel.TYPE_NAME, describeApplicationInstanceResponse.applicationInstanceId());
}
} catch (PanoramaException e) {
this.logger.error(String.format("Exception happened when reading ApplicationInstance. ApplicationInstanceId: %s",
describeApplicationInstanceRequest.applicationInstanceId()));
throw PanoramaExceptionTranslator.translateForAPIException(e,
"DescribeApplicationInstance",
ResourceModel.TYPE_NAME,
describeApplicationInstanceRequest.applicationInstanceId(),
describeApplicationInstanceRequest.toString());
} catch (AwsServiceException e) {
this.logger.error(String.format("Exception happened when reading ApplicationInstance. ApplicationInstanceId: %s",
describeApplicationInstanceRequest.applicationInstanceId()));
throw new CfnGeneralServiceException("DescribeApplicationInstance", e);
}
DescribeApplicationInstanceDetailsRequest describeApplicationInstanceDetailsRequest =
Translator.translateToDescribeApplicationInstanceDetails(model);
DescribeApplicationInstanceDetailsResponse describeApplicationInstanceDetailsResponse;
try {
describeApplicationInstanceDetailsResponse = proxyClient.injectCredentialsAndInvokeV2(describeApplicationInstanceDetailsRequest,
proxyClient.client()::describeApplicationInstanceDetails);
} catch (PanoramaException e) {
this.logger.error(String.format("Exception happened when reading ApplicationInstance details. ApplicationInstanceId: %s",
describeApplicationInstanceDetailsRequest.applicationInstanceId()));
throw PanoramaExceptionTranslator.translateForAPIException(e,
"DescribeApplicationInstanceDetails",
ResourceModel.TYPE_NAME,
describeApplicationInstanceDetailsRequest.applicationInstanceId(),
describeApplicationInstanceDetailsRequest.toString());
} catch (AwsServiceException e) {
this.logger.error(String.format("Exception happened when reading ApplicationInstance details. ApplicationInstanceId: %s",
describeApplicationInstanceDetailsRequest.applicationInstanceId()));
throw new CfnGeneralServiceException("describeApplicationInstanceDetails", e);
}
return ProgressEvent.defaultSuccessHandler(Translator.translateFromReadResponse(describeApplicationInstanceResponse, describeApplicationInstanceDetailsResponse));
}