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

aws.paramstore.default-context

application

aws.paramstore.enabled

true

Is AWS Parameter Store support enabled.

aws.paramstore.endpoint

Overrides the default endpoint.

aws.paramstore.fail-fast

true

Throw exceptions during config lookup if true, otherwise, log warnings.

aws.paramstore.name

Alternative to spring.application.name to use in looking up values in AWS Parameter Store.

aws.paramstore.prefix

/config

Prefix indicating first level for every property. Value must start with a forward slash followed by a valid path segment or be empty. Defaults to "/config".

aws.paramstore.profile-separator

_

aws.paramstore.region

If region value is not null or empty it will be used in creation of AWSSimpleSystemsManagement.

aws.secretsmanager.default-context

application

aws.secretsmanager.enabled

true

Is AWS Secrets Manager support enabled.

aws.secretsmanager.endpoint

Overrides the default endpoint.

aws.secretsmanager.fail-fast

true

Throw exceptions during config lookup if true, otherwise, log warnings.

aws.secretsmanager.name

Alternative to spring.application.name to use in looking up values in AWS Secrets Manager.

aws.secretsmanager.prefix

/secret

Prefix indicating first level for every property. Value must start with a forward slash followed by a valid path segment or be empty. Defaults to "/secret".

aws.secretsmanager.profile-separator

_

aws.secretsmanager.region

If region value is not null or empty it will be used in creation of AWSSecretsManager.

cloud.aws.credentials.access-key

The access key to be used with a static provider.

cloud.aws.credentials.instance-profile

false

Configures an instance profile credentials provider with no further configuration.

cloud.aws.credentials.profile-name

The AWS profile name.

cloud.aws.credentials.profile-path

The AWS profile path.

cloud.aws.credentials.secret-key

The secret key to be used with a static provider.

cloud.aws.elasticache.cache-names

cloud.aws.elasticache.clusters

Configures the cache clusters for the caching configuration. Support one or multiple caches {@link Cluster} configurations with their physical cache name (as configured in the ElastiCache service) or their logical cache name if the caches are configured inside a stack and {@link io.awspring.cloud.context.config.annotation.EnableStackConfiguration} annotation is used inside the application.

cloud.aws.elasticache.default-expiration

0

Configures the default expiration time in seconds if there is no custom expiration time configuration with a {@link Cluster} configuration for the cache. The expiration time is implementation specific (e.g. Redis or Memcached) and could therefore differ in the behaviour based on the cache implementation.

cloud.aws.elasticache.enabled

true

Enables ElastiCache integration.

cloud.aws.elasticache.expiry-time-per-cache

cloud.aws.instance.data.enabled

false

Enables Instance Data integration.

cloud.aws.loader.core-pool-size

1

The core pool size of the Task Executor used for parallel S3 interaction. @see org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor#setCorePoolSize(int)

cloud.aws.loader.max-pool-size

The maximum pool size of the Task Executor used for parallel S3 interaction. @see org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor#setMaxPoolSize(int)

cloud.aws.loader.queue-capacity

The maximum queue capacity for backed up S3 requests. @see org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor#setQueueCapacity(int)

cloud.aws.mail.enabled

true

Enables Mail integration.

cloud.aws.mail.endpoint

cloud.aws.mail.region

cloud.aws.rds.enabled

true

Enables RDS integration.

cloud.aws.rds.endpoint

cloud.aws.rds.instances

List of RdsInstances.

cloud.aws.rds.region

cloud.aws.region.static

cloud.aws.s3.endpoint

Overrides the default endpoint.

cloud.aws.s3.region

Overrides the default region.

cloud.aws.sns.enabled

true

Enables SNS integration.

cloud.aws.sns.endpoint

cloud.aws.sns.region

cloud.aws.sqs.enabled

true

Enables SQS integration.

cloud.aws.sqs.endpoint

cloud.aws.sqs.handler.default-deletion-policy

Configures global deletion policy used if deletion policy is not explicitly set on {@link SqsListener}.

cloud.aws.sqs.listener.auto-startup

true

Configures if this container should be automatically started.

cloud.aws.sqs.listener.back-off-time

The number of milliseconds the polling thread must wait before trying to recover when an error occurs (e.g. connection timeout).

cloud.aws.sqs.listener.max-number-of-messages

10

The maximum number of messages that should be retrieved during one poll to the Amazon SQS system. This number must be a positive, non-zero number that has a maximum number of 10. Values higher then 10 are currently not supported by the queueing system.

cloud.aws.sqs.listener.queue-stop-timeout

The queue stop timeout that waits for a queue to stop before interrupting the running thread.

cloud.aws.sqs.listener.visibility-timeout

The duration (in seconds) that the received messages are hidden from subsequent poll requests after being retrieved from the system.

cloud.aws.sqs.listener.wait-timeout

20

The wait timeout that the poll request will wait for new message to arrive if the are currently no messages on the queue. Higher values will reduce poll request to the system significantly. The value should be between 1 and 20. For more information read the <a href= "https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-long-polling.html">documentation</a>.

cloud.aws.sqs.region

cloud.aws.stack.auto

true

Enables the automatic stack name detection for the application.

cloud.aws.stack.enabled

true

Enables Stack integration.

cloud.aws.stack.name

The name of the manually configured stack name that will be used to retrieve the resources.

spring.cloud.aws.security.cognito.algorithm

RS256

Encryption algorithm used to sign the JWK token.

spring.cloud.aws.security.cognito.app-client-id

Non-dynamic audience string to validate.

spring.cloud.aws.security.cognito.enabled

true

Enables Cognito integration.

spring.cloud.aws.security.cognito.region

Region of the user pool.

spring.cloud.aws.security.cognito.user-pool-id

Id of the user pool.

spring.cloud.aws.ses.enabled

true

Enables Simple Email Service integration.

spring.cloud.aws.ses.region

Overrides the default region.