in aws-servicecatalog-serviceactionassociation/src/main/java/software/amazon/servicecatalog/serviceactionassociation/ReadHandler.java [16:49]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ActionAssociationController controller = ActionAssociationController
.builder()
.logger(logger)
.proxy(proxy)
.scClient(SCClientBuilder.getClient())
.build();
try {
final ResourceModel desiredModel = request.getDesiredResourceState();
final String serviceActionId = desiredModel.getServiceActionId();
final String productId = desiredModel.getProductId();
final String provisioningArtifactId = desiredModel.getProvisioningArtifactId();
final boolean isMatch = controller.isServiceActionAssociatedToPA(productId, provisioningArtifactId, serviceActionId);
if(isMatch){
ResourceModel resourceModel = ResourceModel
.builder()
.serviceActionId(serviceActionId)
.provisioningArtifactId(provisioningArtifactId)
.productId(productId)
.build();
return ProgressEvent.defaultSuccessHandler(resourceModel);
} else {
throw ResourceNotFoundException.builder().message(String.format(RESOURCE_NOT_FOUND_EXCEPTION, serviceActionId, productId, provisioningArtifactId)).build();
}
} catch (SdkException e) {
throw ExceptionTranslator.translateToCfnException(e);
}
}