public ProgressEvent handleRequest()

in aws-timestream-scheduledquery/src/main/java/software/amazon/timestream/scheduledquery/ReadHandler.java [36:82]


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

        final ResourceModel model = request.getDesiredResourceState();

        timestreamClient = TimestreamClientFactory.get(proxy, logger);
        this.proxy = proxy;

        final DescribeScheduledQueryRequest describeScheduledQueryRequest =
                new DescribeScheduledQueryRequest().withScheduledQueryArn(model.getArn());

        try {
            final DescribeScheduledQueryResult describeScheduledQueryResult =
                    this.proxy.injectCredentialsAndInvoke(describeScheduledQueryRequest, timestreamClient::describeScheduledQuery);

            final ScheduledQueryDescription scheduledQueryDescription = describeScheduledQueryResult.getScheduledQuery();
            model.setArn(scheduledQueryDescription.getArn());
            model.setSQName(scheduledQueryDescription.getName());
            model.setSQQueryString(scheduledQueryDescription.getQueryString());
            model.setSQScheduleConfiguration(scheduledQueryDescription.getScheduleConfiguration().toString());
            model.setSQNotificationConfiguration(scheduledQueryDescription.getNotificationConfiguration().toString());
            model.setSQScheduledQueryExecutionRoleArn(scheduledQueryDescription.getScheduledQueryExecutionRoleArn());
            model.setSQTargetConfiguration(scheduledQueryDescription.getTargetConfiguration() != null ?
                    scheduledQueryDescription.getTargetConfiguration().toString() : null);
            model.setSQErrorReportConfiguration(scheduledQueryDescription.getErrorReportConfiguration().toString());
            model.setSQKmsKeyId(scheduledQueryDescription.getKmsKeyId());
            model.setTags(getTags(scheduledQueryDescription.getArn()));
        } catch (ResourceNotFoundException ex) {
            throw new CfnNotFoundException(ex);
        } catch (ValidationException | InvalidEndpointException ex) {
            throw new CfnInvalidRequestException(request.toString(), ex);
        } catch (AccessDeniedException ex) {
            throw new CfnAccessDeniedException(DESCRIBE_SCHEDULED_QUERY, ex);
        } catch (ThrottlingException ex) {
            throw new CfnThrottlingException(DESCRIBE_SCHEDULED_QUERY, ex);
        } catch (InternalServerException ex) {
            throw new CfnInternalFailureException(ex);
        }

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