in src/main/scala/com/gu/mobile/content/notifications/lib/NotificationsDynamoDb.scala [39:56]
def apply(config: Configuration): NotificationsDynamoDb = {
//Table is in the mobile aws account wheras the lambda runs in the capi account
logger.info(s"Configuring database access with cross acccount role: ${config.crossAccountDynamoRole} on table: ${config.contentDynamoTableName}")
val dynamoCredentialsProvider = new AWSCredentialsProviderChain(
new ProfileCredentialsProvider(),
new STSAssumeRoleSessionCredentialsProvider.Builder(config.crossAccountDynamoRole, "mobile-db").build())
val client = AmazonDynamoDBClientBuilder.standard()
.withRegion(Regions.EU_WEST_1)
.withCredentials(dynamoCredentialsProvider)
.build()
val dynamoDB = new DynamoDB(client)
new NotificationsDynamoDb(dynamoDB, config)
}