Appendix A: Common application properties

Various properties can be specified inside your application.properties file, inside your application.yml file, or as command line switches. This appendix provides a list of common Spring Cloud AWS properties and references to the underlying classes that consume them.

Property contributions can come from additional jar files on your classpath, so you should not consider this an exhaustive list. Also, you can define your own properties.
Name Default Description

spring.cloud.aws.cloudwatch.endpoint

Overrides the default endpoint.

spring.cloud.aws.cloudwatch.region

Overrides the default region.

spring.cloud.aws.credentials.access-key

The access key to be used with a static provider.

spring.cloud.aws.credentials.instance-profile

false

Configures an instance profile credentials provider with no further configuration.

spring.cloud.aws.credentials.profile.name

Profile name.

spring.cloud.aws.credentials.profile.path

Profile file path.

spring.cloud.aws.credentials.secret-key

The secret key to be used with a static provider.

spring.cloud.aws.credentials.sts.async-credentials-update

false

Enables provider to asynchronously fetch credentials in the background. Defaults to synchronous blocking if not specified otherwise.

spring.cloud.aws.credentials.sts.role-arn

ARN of IAM role associated with STS. If not provided this will be read from {@link software.amazon.awssdk.core.SdkSystemSetting}.

spring.cloud.aws.credentials.sts.role-session-name

Role session name that will be used by credentials provider. By default this is read from {@link software.amazon.awssdk.core.SdkSystemSetting}.

spring.cloud.aws.credentials.sts.web-identity-token-file

Absolute path to the web identity token file that will be used by credentials provider. By default this will be read from {@link software.amazon.awssdk.core.SdkSystemSetting}.

spring.cloud.aws.defaults-mode

Sets the {@link DefaultsMode} that will be used to determine how certain default configuration options are resolved in the SDK. <a href= "https://aws.amazon.com/blogs/developer/introducing-smart-configuration-defaults-in-the-aws-sdk-for-java-v2/">Introducing Smart Configuration Defaults in the AWS SDK for Java v2</a>

spring.cloud.aws.dualstack-enabled

Configure whether the SDK should use the AWS dualstack endpoint.

spring.cloud.aws.dynamodb.dax.cluster-update-interval-millis

Interval between polling of cluster members for membership changes.

spring.cloud.aws.dynamodb.dax.connect-timeout-millis

Connection timeout.

spring.cloud.aws.dynamodb.dax.connection-ttl-millis

Connection time to live.

spring.cloud.aws.dynamodb.dax.endpoint-refresh-timeout-millis

Timeout for endpoint refresh.

spring.cloud.aws.dynamodb.dax.idle-timeout-millis

Timeout for idle connections with the DAX cluster.

spring.cloud.aws.dynamodb.dax.max-concurrency

Maximum number of concurrent requests.

spring.cloud.aws.dynamodb.dax.max-pending-connection-acquires

Maximum number of pending Connections to acquire.

spring.cloud.aws.dynamodb.dax.read-retries

Number of times to retry reads, initial try is not counted.

spring.cloud.aws.dynamodb.dax.request-timeout-millis

Request timeout for connections with the DAX cluster.

spring.cloud.aws.dynamodb.dax.skip-host-name-verification

Skips hostname verification in url.

spring.cloud.aws.dynamodb.dax.url

DAX cluster endpoint.

spring.cloud.aws.dynamodb.dax.write-retries

Number of times to retry writes, initial try is not counted.

spring.cloud.aws.dynamodb.enabled

true

Enables DynamoDb integration.

spring.cloud.aws.dynamodb.endpoint

Overrides the default endpoint.

spring.cloud.aws.dynamodb.region

Overrides the default region.

spring.cloud.aws.dynamodb.table-prefix

The prefix used to resolve table names.

spring.cloud.aws.dynamodb.table-suffix

The suffix used to resolve table names.

spring.cloud.aws.endpoint

Overrides the default endpoint for all auto-configured AWS clients.

spring.cloud.aws.fips-enabled

Configure whether the SDK should use the AWS fips endpoints.

spring.cloud.aws.parameterstore.enabled

true

Enables ParameterStore integration.

spring.cloud.aws.parameterstore.endpoint

Overrides the default endpoint.

spring.cloud.aws.parameterstore.region

Overrides the default region.

spring.cloud.aws.parameterstore.reload.max-wait-for-restart

2s

If {@link ReloadStrategy#RESTART_CONTEXT} is configured, maximum waiting time for server restart.

spring.cloud.aws.parameterstore.reload.period

1m

Refresh period for {@link PollingAwsPropertySourceChangeDetector}.

spring.cloud.aws.parameterstore.reload.strategy

Reload strategy to run when properties change.

spring.cloud.aws.region.instance-profile

false

Configures an instance profile region provider with no further configuration.

spring.cloud.aws.region.profile.name

Profile name.

spring.cloud.aws.region.profile.path

Profile file path.

spring.cloud.aws.region.static

spring.cloud.aws.s3.accelerate-mode-enabled

Option to enable using the accelerate endpoint when accessing S3. Accelerate endpoints allow faster transfer of objects by using Amazon CloudFront’s globally distributed edge locations.

spring.cloud.aws.s3.checksum-validation-enabled

Option to disable doing a validation of the checksum of an object stored in S3.

spring.cloud.aws.s3.chunked-encoding-enabled

Option to enable using chunked encoding when signing the request payload for {@link software.amazon.awssdk.services.s3.model.PutObjectRequest} and {@link software.amazon.awssdk.services.s3.model.UploadPartRequest}.

spring.cloud.aws.s3.cross-region-enabled

Enables cross-region bucket access.

spring.cloud.aws.s3.crt.initial-read-buffer-size-in-bytes

Configure the starting buffer size the client will use to buffer the parts downloaded from S3. Maintain a larger window to keep up a high download throughput; parts cannot download in parallel unless the window is large enough to hold multiple parts. Maintain a smaller window to limit the amount of data buffered in memory.

spring.cloud.aws.s3.crt.max-concurrency

Specifies the maximum number of S3 connections that should be established during transfer.

spring.cloud.aws.s3.crt.minimum-part-size-in-bytes

Sets the minimum part size for transfer parts. Decreasing the minimum part size causes multipart transfer to be split into a larger number of smaller parts. Setting this value too low has a negative effect on transfer speeds, causing extra latency and network communication for each part.

spring.cloud.aws.s3.crt.target-throughput-in-gbps

The target throughput for transfer requests. Higher value means more S3 connections will be opened. Whether the transfer manager can achieve the configured target throughput depends on various factors such as the network bandwidth of the environment and the configured max-concurrency.

spring.cloud.aws.s3.enabled

true

Enables S3 integration.

spring.cloud.aws.s3.endpoint

Overrides the default endpoint.

spring.cloud.aws.s3.path-style-access-enabled

Option to enable using path style access for accessing S3 objects instead of DNS style access. DNS style access is preferred as it will result in better load balancing when accessing S3.

spring.cloud.aws.s3.region

Overrides the default region.

spring.cloud.aws.s3.transfer-manager.follow-symbolic-links

Specifies whether to follow symbolic links when traversing the file tree in S3TransferManager#uploadDirectory operation.

spring.cloud.aws.s3.transfer-manager.max-depth

Specifies the maximum number of levels of directories to visit in S3TransferManager#uploadDirectory operation.

spring.cloud.aws.s3.use-arn-region-enabled

If an S3 resource ARN is passed in as the target of an S3 operation that has a different region to the one the client was configured with, this flag must be set to 'true' to permit the client to make a cross-region call to the region specified in the ARN otherwise an exception will be thrown.

spring.cloud.aws.secretsmanager.enabled

true

Enables Secrets Manager integration.

spring.cloud.aws.secretsmanager.endpoint

Overrides the default endpoint.

spring.cloud.aws.secretsmanager.region

Overrides the default region.

spring.cloud.aws.secretsmanager.reload.max-wait-for-restart

2s

If {@link ReloadStrategy#RESTART_CONTEXT} is configured, maximum waiting time for server restart.

spring.cloud.aws.secretsmanager.reload.period

1m

Refresh period for {@link PollingAwsPropertySourceChangeDetector}.

spring.cloud.aws.secretsmanager.reload.strategy

Reload strategy to run when properties change.

spring.cloud.aws.ses.configuration-set-name

Configures configuration set name.

spring.cloud.aws.ses.enabled

true

Enables Simple Email Service integration.

spring.cloud.aws.ses.endpoint

Overrides the default endpoint.

spring.cloud.aws.ses.from-arn

Configures from ARN. Only applies to SendRawEmail operation.

spring.cloud.aws.ses.region

Overrides the default region.

spring.cloud.aws.ses.source-arn

Configures source ARN. Used only for sending authorization.

spring.cloud.aws.sns.enabled

true

Enables SNS integration.

spring.cloud.aws.sns.endpoint

Overrides the default endpoint.

spring.cloud.aws.sns.region

Overrides the default region.

spring.cloud.aws.sqs.enabled

true

Enables SQS integration.

spring.cloud.aws.sqs.endpoint

Overrides the default endpoint.

spring.cloud.aws.sqs.listener.max-concurrent-messages

The maximum concurrent messages that can be processed simultaneously for each queue. Note that if acknowledgement batching is being used, the actual maximum number of messages inflight might be higher.

spring.cloud.aws.sqs.listener.max-messages-per-poll

The maximum number of messages to be retrieved in a single poll to SQS.

spring.cloud.aws.sqs.listener.poll-timeout

The maximum amount of time for a poll to SQS.

spring.cloud.aws.sqs.region

Overrides the default region.