in aws-ssm-association/src/main/java/com/amazonaws/ssm/association/ReadHandler.java [56:103]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
logger.log(String.format("Processing ReadHandler request: %s", requestToStringConverter.convert(request)));
final ResourceModel requestModel = request.getDesiredResourceState();
final ProgressEvent<ResourceModel, CallbackContext> progressEvent = new ProgressEvent<>();
progressEvent.setStatus(OperationStatus.FAILED);
final String associationId = requestModel.getAssociationId();
if (StringUtils.isNullOrEmpty(associationId)) {
progressEvent.setErrorCode(HandlerErrorCode.NotFound);
progressEvent.setMessage("AssociationId must be present to read the existing association.");
return progressEvent;
}
final DescribeAssociationRequest describeAssociationRequest =
DescribeAssociationRequest.builder()
.associationId(associationId)
.build();
try {
final AssociationDescription association =
proxy.injectCredentialsAndInvokeV2(describeAssociationRequest, SSM_CLIENT::describeAssociation)
.associationDescription();
final ResourceModel existingModel =
associationDescriptionTranslator.associationDescriptionToResourceModel(association);
progressEvent.setResourceModel(existingModel);
progressEvent.setStatus(OperationStatus.SUCCESS);
} catch (Exception e) {
final BaseHandlerException cfnException = exceptionTranslator
.translateFromServiceException(e, describeAssociationRequest, requestModel);
logger.log(cfnException.getCause().getMessage());
throw cfnException;
}
return progressEvent;
}