public ProgressEvent handleRequest()

in aws-auditmanager-assessment/src/main/java/software/amazon/auditmanager/assessment/CreateHandler.java [25:52]


  public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
      final AmazonWebServicesClientProxy proxy,
      final ResourceHandlerRequest<ResourceModel> request,
      final CallbackContext callbackContext,
      final ProxyClient<AuditManagerClient> proxyClient,
      final Logger logger) {

    final ResourceModel model = request.getDesiredResourceState();

    if (hasReadOnlyProperties(model)) {
      throw new CfnInvalidRequestException("Attempting to set a ReadOnly Property.");
    }

    CreateAssessmentRequest createAssessmentRequest = Utils.transformToCreateAssessmentRequest(model);
    CreateAssessmentResponse createAssessmentResponse = null;

    try {
      createAssessmentResponse = proxy.injectCredentialsAndInvokeV2(createAssessmentRequest,
          proxyClient.client()::createAssessment);
    } catch (AwsServiceException e) {
      throw ExceptionTranslator.translateToCfnException(e, createAssessmentRequest.name());
    }

    return ProgressEvent.<ResourceModel, CallbackContext>builder()
        .resourceModel(Utils.transformToAssessmentResourceModel(model, createAssessmentResponse.assessment()))
        .status(OperationStatus.SUCCESS)
        .build();
  }