private Assessment updateAssessment()

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());
      }
    }
  }