Interface WorkMailMessageFlowAsyncClient

All Superinterfaces:
AutoCloseable, AwsClient, SdkAutoCloseable, SdkClient

@Generated("software.amazon.awssdk:codegen") @ThreadSafe public interface WorkMailMessageFlowAsyncClient extends AwsClient
Service client for accessing Amazon WorkMail Message Flow asynchronously. This can be created using the static builder() method.The asynchronous client performs non-blocking I/O when configured with any
invalid reference
SdkAsyncHttpClient
supported in the SDK. However, full non-blocking is not guaranteed as the async client may perform blocking calls in some cases such as credentials retrieval and endpoint discovery as part of the async API call.

The WorkMail Message Flow API provides access to email messages as they are being sent and received by a WorkMail organization.

  • Field Details

  • Method Details

    • getRawMessageContent

      default <ReturnT> CompletableFuture<ReturnT> getRawMessageContent(GetRawMessageContentRequest getRawMessageContentRequest, AsyncResponseTransformer<GetRawMessageContentResponse,ReturnT> asyncResponseTransformer)

      Retrieves the raw content of an in-transit email message, in MIME format.

      Parameters:
      getRawMessageContentRequest -
      asyncResponseTransformer - The response transformer for processing the streaming response in a non-blocking manner. See AsyncResponseTransformer for details on how this callback should be implemented and for links to precanned implementations for common scenarios like downloading to a file. The service documentation for the response content is as follows '

      The raw content of the email message, in MIME format.

      '.
      Returns:
      A future to the transformed result of the AsyncResponseTransformer.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invoke Throwable.getCause() to retrieve the underlying exception.
      • ResourceNotFoundException The requested email message is not found.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • WorkMailMessageFlowException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • getRawMessageContent

      default <ReturnT> CompletableFuture<ReturnT> getRawMessageContent(Consumer<GetRawMessageContentRequest.Builder> getRawMessageContentRequest, AsyncResponseTransformer<GetRawMessageContentResponse,ReturnT> asyncResponseTransformer)

      Retrieves the raw content of an in-transit email message, in MIME format.


      This is a convenience which creates an instance of the GetRawMessageContentRequest.Builder avoiding the need to create one manually via GetRawMessageContentRequest.builder()

      Parameters:
      getRawMessageContentRequest - A Consumer that will call methods on GetRawMessageContentRequest.Builder to create a request.
      asyncResponseTransformer - The response transformer for processing the streaming response in a non-blocking manner. See AsyncResponseTransformer for details on how this callback should be implemented and for links to precanned implementations for common scenarios like downloading to a file. The service documentation for the response content is as follows '

      The raw content of the email message, in MIME format.

      '.
      Returns:
      A future to the transformed result of the AsyncResponseTransformer.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invoke Throwable.getCause() to retrieve the underlying exception.
      • ResourceNotFoundException The requested email message is not found.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • WorkMailMessageFlowException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • getRawMessageContent

      default CompletableFuture<GetRawMessageContentResponse> getRawMessageContent(GetRawMessageContentRequest getRawMessageContentRequest, Path destinationPath)

      Retrieves the raw content of an in-transit email message, in MIME format.

      Parameters:
      getRawMessageContentRequest -
      destinationPath - Path to file that response contents will be written to. The file must not exist or this method will throw an exception. If the file is not writable by the current user then an exception will be thrown. The service documentation for the response content is as follows '

      The raw content of the email message, in MIME format.

      '.
      Returns:
      A future to the transformed result of the AsyncResponseTransformer.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invoke Throwable.getCause() to retrieve the underlying exception.
      • ResourceNotFoundException The requested email message is not found.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • WorkMailMessageFlowException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • getRawMessageContent

      default CompletableFuture<GetRawMessageContentResponse> getRawMessageContent(Consumer<GetRawMessageContentRequest.Builder> getRawMessageContentRequest, Path destinationPath)

      Retrieves the raw content of an in-transit email message, in MIME format.


      This is a convenience which creates an instance of the GetRawMessageContentRequest.Builder avoiding the need to create one manually via GetRawMessageContentRequest.builder()

      Parameters:
      getRawMessageContentRequest - A Consumer that will call methods on GetRawMessageContentRequest.Builder to create a request.
      destinationPath - Path to file that response contents will be written to. The file must not exist or this method will throw an exception. If the file is not writable by the current user then an exception will be thrown. The service documentation for the response content is as follows '

      The raw content of the email message, in MIME format.

      '.
      Returns:
      A future to the transformed result of the AsyncResponseTransformer.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invoke Throwable.getCause() to retrieve the underlying exception.
      • ResourceNotFoundException The requested email message is not found.
      • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
      • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
      • WorkMailMessageFlowException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • putRawMessageContent

      default CompletableFuture<PutRawMessageContentResponse> putRawMessageContent(PutRawMessageContentRequest putRawMessageContentRequest)

      Updates the raw content of an in-transit email message, in MIME format.

      This example describes how to update in-transit email message. For more information and examples for using this API, see Updating message content with AWS Lambda.

      Updates to an in-transit message only appear when you call PutRawMessageContent from an AWS Lambda function configured with a synchronous Run Lambda rule. If you call PutRawMessageContent on a delivered or sent message, the message remains unchanged, even though GetRawMessageContent returns an updated message.

      Parameters:
      putRawMessageContentRequest -
      Returns:
      A Java Future containing the result of the PutRawMessageContent operation returned by the service.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invoke Throwable.getCause() to retrieve the underlying exception.
      • ResourceNotFoundException The requested email message is not found.
      • InvalidContentLocationException WorkMail could not access the updated email content. Possible reasons:

        • You made the request in a region other than your S3 bucket region.

        • The S3 bucket owner is not the same as the calling AWS account.

        • You have an incomplete or missing S3 bucket policy. For more information about policies, see Updating message content with AWS Lambda in the WorkMail Administrator Guide.

        • MessageRejectedException The requested email could not be updated due to an error in the MIME content. Check the error message for more information about what caused the error.
        • MessageFrozenException The requested email is not eligible for update. This is usually the case for a redirected email.
        • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
        • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
        • WorkMailMessageFlowException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • putRawMessageContent

      default CompletableFuture<PutRawMessageContentResponse> putRawMessageContent(Consumer<PutRawMessageContentRequest.Builder> putRawMessageContentRequest)

      Updates the raw content of an in-transit email message, in MIME format.

      This example describes how to update in-transit email message. For more information and examples for using this API, see Updating message content with AWS Lambda.

      Updates to an in-transit message only appear when you call PutRawMessageContent from an AWS Lambda function configured with a synchronous Run Lambda rule. If you call PutRawMessageContent on a delivered or sent message, the message remains unchanged, even though GetRawMessageContent returns an updated message.


      This is a convenience which creates an instance of the PutRawMessageContentRequest.Builder avoiding the need to create one manually via PutRawMessageContentRequest.builder()

      Parameters:
      putRawMessageContentRequest - A Consumer that will call methods on PutRawMessageContentRequest.Builder to create a request.
      Returns:
      A Java Future containing the result of the PutRawMessageContent operation returned by the service.
      The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invoke Throwable.getCause() to retrieve the underlying exception.
      • ResourceNotFoundException The requested email message is not found.
      • InvalidContentLocationException WorkMail could not access the updated email content. Possible reasons:

        • You made the request in a region other than your S3 bucket region.

        • The S3 bucket owner is not the same as the calling AWS account.

        • You have an incomplete or missing S3 bucket policy. For more information about policies, see Updating message content with AWS Lambda in the WorkMail Administrator Guide.

        • MessageRejectedException The requested email could not be updated due to an error in the MIME content. Check the error message for more information about what caused the error.
        • MessageFrozenException The requested email is not eligible for update. This is usually the case for a redirected email.
        • SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
        • SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
        • WorkMailMessageFlowException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
      See Also:
    • serviceClientConfiguration

      default WorkMailMessageFlowServiceClientConfiguration serviceClientConfiguration()
      Description copied from interface: SdkClient
      The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration
      Specified by:
      serviceClientConfiguration in interface AwsClient
      Specified by:
      serviceClientConfiguration in interface SdkClient
      Returns:
      SdkServiceClientConfiguration
    • create

      Create a WorkMailMessageFlowAsyncClient with the region loaded from the DefaultAwsRegionProviderChain and credentials loaded from the DefaultCredentialsProvider.
    • builder

      Create a builder that can be used to configure and create a WorkMailMessageFlowAsyncClient.