Class PayloadStorageConfiguration
java.lang.Object
software.amazon.payloadoffloading.PayloadStorageConfiguration
Amazon payload storage configuration options such as Amazon S3 client, bucket name, and payload size threshold for payloads.
Server side encryption is optional and can be enabled using with withServerSideEncryption(ServerSideEncryptionStrategy)
or setServerSideEncryptionStrategy(ServerSideEncryptionStrategy)
There are two possible options for server side encrption. This can be using a customer managed key or AWS managed CMK.
Example usage:
withServerSideEncryption(ServerSideEncrptionFactory.awsManagedCmk())
or
withServerSideEncryption(ServerSideEncrptionFactory.customerKey(YOUR_CUSTOMER_ID))
- See Also:
-
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionsoftware.amazon.awssdk.services.s3.model.ObjectCannedACLGets the AWS ACL to apply to the Amazon S3 putObject request.intGets the payload size threshold for storing payloads in Amazon S3.Gets the name of the S3 bucket which is being used for storing payload.software.amazon.awssdk.services.s3.S3ClientGets the Amazon S3 client which is being used for storing payloads.The method of service side encryption which should be used, if required.booleanChecks whether or not all payloads regardless of their size are being stored in Amazon S3.booleanChecks whether an ACL have been configured for storing objects in Amazon S3.booleanCheck if the support for payloads if enabled.voidsetAlwaysThroughS3(boolean alwaysThroughS3) Sets whether or not all payloads regardless of their size should be stored in Amazon S3.voidsetObjectCannedACL(software.amazon.awssdk.services.s3.model.ObjectCannedACL objectCannedACL) Configures the ACL to apply to the Amazon S3 putObject request.voidsetPayloadSizeThreshold(int payloadSizeThreshold) Sets the payload size threshold for storing payloads in Amazon S3.voidDisables support for payloads.voidsetPayloadSupportEnabled(software.amazon.awssdk.services.s3.S3Client s3, String s3BucketName) Enables support for payloads .voidsetServerSideEncryptionStrategy(ServerSideEncryptionStrategy serverSideEncryptionStrategy) Sets which method of server side encryption should be use, if required.withAlwaysThroughS3(boolean alwaysThroughS3) Sets whether or not all payloads regardless of their size should be stored in Amazon S3.withObjectCannedACL(software.amazon.awssdk.services.s3.model.ObjectCannedACL objectCannedACL) Configures the ACL to apply to the Amazon S3 putObject request.withPayloadSizeThreshold(int payloadSizeThreshold) Sets the payload size threshold for storing payloads in Amazon S3.Disables support for payload.withPayloadSupportEnabled(software.amazon.awssdk.services.s3.S3Client s3, String s3BucketName) Enables support for payload.withServerSideEncryption(ServerSideEncryptionStrategy serverSideEncryptionStrategy) Sets which method of server side encryption should be used, if required.
-
Constructor Details
-
PayloadStorageConfiguration
public PayloadStorageConfiguration() -
PayloadStorageConfiguration
-
-
Method Details
-
setPayloadSupportEnabled
public void setPayloadSupportEnabled(software.amazon.awssdk.services.s3.S3Client s3, String s3BucketName) Enables support for payloads .- Parameters:
s3- Amazon S3 client which is going to be used for storing payload.s3BucketName- Name of the bucket which is going to be used for storing payload. The bucket must be already created and configured in s3.
-
withPayloadSupportEnabled
public PayloadStorageConfiguration withPayloadSupportEnabled(software.amazon.awssdk.services.s3.S3Client s3, String s3BucketName) Enables support for payload.- Parameters:
s3- Amazon S3 client which is going to be used for storing payloads.s3BucketName- Name of the bucket which is going to be used for storing payloads. The bucket must be already created and configured in s3.- Returns:
- the updated PayloadStorageConfiguration object.
-
setPayloadSupportDisabled
public void setPayloadSupportDisabled()Disables support for payloads. -
withPayloadSupportDisabled
Disables support for payload.- Returns:
- the updated PayloadStorageConfiguration object.
-
isPayloadSupportEnabled
public boolean isPayloadSupportEnabled()Check if the support for payloads if enabled.- Returns:
- true if support for payloads is enabled.
-
getS3Client
public software.amazon.awssdk.services.s3.S3Client getS3Client()Gets the Amazon S3 client which is being used for storing payloads.- Returns:
- Reference to the Amazon S3 client which is being used.
-
getS3BucketName
Gets the name of the S3 bucket which is being used for storing payload.- Returns:
- The name of the bucket which is being used.
-
withPayloadSizeThreshold
Sets the payload size threshold for storing payloads in Amazon S3.- Parameters:
payloadSizeThreshold- Payload size threshold to be used for storing in Amazon S3. Default: 256KB.- Returns:
- the updated PayloadStorageConfiguration object.
-
getPayloadSizeThreshold
public int getPayloadSizeThreshold()Gets the payload size threshold for storing payloads in Amazon S3.- Returns:
- payload size threshold which is being used for storing in Amazon S3. Default: 256KB.
-
setPayloadSizeThreshold
public void setPayloadSizeThreshold(int payloadSizeThreshold) Sets the payload size threshold for storing payloads in Amazon S3.- Parameters:
payloadSizeThreshold- Payload size threshold to be used for storing in Amazon S3. Default: 256KB.
-
withAlwaysThroughS3
Sets whether or not all payloads regardless of their size should be stored in Amazon S3.- Parameters:
alwaysThroughS3- Whether or not all payloads regardless of their size should be stored in Amazon S3. Default: false- Returns:
- the updated PayloadStorageConfiguration object.
-
isAlwaysThroughS3
public boolean isAlwaysThroughS3()Checks whether or not all payloads regardless of their size are being stored in Amazon S3.- Returns:
- True if all payloads regardless of their size are being stored in Amazon S3. Default: false
-
setAlwaysThroughS3
public void setAlwaysThroughS3(boolean alwaysThroughS3) Sets whether or not all payloads regardless of their size should be stored in Amazon S3.- Parameters:
alwaysThroughS3- Whether or not all payloads regardless of their size should be stored in Amazon S3. Default: false
-
withServerSideEncryption
public PayloadStorageConfiguration withServerSideEncryption(ServerSideEncryptionStrategy serverSideEncryptionStrategy) Sets which method of server side encryption should be used, if required. This is optional, it is set only when you want to configure S3 server side encryption with KMS.- Parameters:
serverSideEncryptionStrategy- The method of encryption required for S3 server side encryption with KMS.- Returns:
- the updated PayloadStorageConfiguration object.
-
setServerSideEncryptionStrategy
public void setServerSideEncryptionStrategy(ServerSideEncryptionStrategy serverSideEncryptionStrategy) Sets which method of server side encryption should be use, if required. This is optional, it is set only when you want to configure S3 Server Side Encryption with KMS.- Parameters:
serverSideEncryptionStrategy- The method of encryption required for S3 server side encryption with KMS.
-
getServerSideEncryptionStrategy
The method of service side encryption which should be used, if required.- Returns:
- The server side encryption method required. Default null.
-
setObjectCannedACL
public void setObjectCannedACL(software.amazon.awssdk.services.s3.model.ObjectCannedACL objectCannedACL) Configures the ACL to apply to the Amazon S3 putObject request.- Parameters:
objectCannedACL- The ACL to be used when storing objects in Amazon S3
-
withObjectCannedACL
public PayloadStorageConfiguration withObjectCannedACL(software.amazon.awssdk.services.s3.model.ObjectCannedACL objectCannedACL) Configures the ACL to apply to the Amazon S3 putObject request.- Parameters:
objectCannedACL- The ACL to be used when storing objects in Amazon S3
-
isObjectCannedACLDefined
public boolean isObjectCannedACLDefined()Checks whether an ACL have been configured for storing objects in Amazon S3.- Returns:
- True if ACL is defined
-
getObjectCannedACL
public software.amazon.awssdk.services.s3.model.ObjectCannedACL getObjectCannedACL()Gets the AWS ACL to apply to the Amazon S3 putObject request.- Returns:
- Amazon S3 object ACL
-