in aws-auditmanager-assessment/src/main/java/software/amazon/auditmanager/assessment/UpdateHandler.java [61:100]
private Assessment updateAssessment(
final ResourceModel currentModel,
final AmazonWebServicesClientProxy proxy,
final ProxyClient<AuditManagerClient> proxyClient) {
if (currentModel != null
&& currentModel.getStatus() != null
&& currentModel.getStatus().toString().equals(INACTIVE_ASSESSMENT_STATUS)) {
final UpdateAssessmentStatusRequest updateAssessmentStatusRequest = UpdateAssessmentStatusRequest.builder()
.assessmentId(currentModel.getAssessmentId())
.status(AssessmentStatus.INACTIVE)
.build();
try {
UpdateAssessmentStatusResponse updateAssessmentStatusResponse =
proxy.injectCredentialsAndInvokeV2(updateAssessmentStatusRequest,
proxyClient.client()::updateAssessmentStatus);
return updateAssessmentStatusResponse.assessment();
} catch (AwsServiceException e) {
throw ExceptionTranslator.translateToCfnException(e, currentModel.getAssessmentId());
}
} else {
final UpdateAssessmentRequest updateAssessmentRequest = UpdateAssessmentRequest.builder()
.assessmentId(currentModel.getAssessmentId())
.scope(AssessmentMetadataUtils.cfnScopeToSdkScope(currentModel.getScope()))
//optional attributes
.assessmentDescription((currentModel.getDescription() != null) ? currentModel.getDescription() : null)
.assessmentName((currentModel.getName() != null) ? currentModel.getName() : null)
.roles((currentModel.getRoles() != null) ?
AssessmentMetadataUtils.cfnRoleToSdkRoles(currentModel.getRoles()) : null)
.build();
try {
UpdateAssessmentResponse updateAssessmentResponse =
proxy.injectCredentialsAndInvokeV2(updateAssessmentRequest, proxyClient.client()::updateAssessment);
return updateAssessmentResponse.assessment();
} catch (AwsServiceException e) {
//Change to AwsServiceException with SDK
throw ExceptionTranslator.translateToCfnException(e, currentModel.getAssessmentId());
}
}
}