in src/main/scala/com/gu/mobile/content/notifications/Configuration.scala [37:54]
def credentialsProvider: AwsCredentialsProvider = AwsCredentialsProviderChainV2.of(
ProfileCredentialsProviderV2.builder.profileName("mobile").build,
StsAssumeRoleCredentialsProvider.builder
.stsClient(StsClient.create)
.refreshRequest(req)
.build())
val conf = {
(for {
identity <- AppIdentity.whoAmI(defaultAppName = appName, credentials = credentialsProvider)
} yield ConfigurationLoader.load(identity = identity, credentials = credentialsProvider) {
case AwsIdentity(app, stack, stage, _) =>
SSMConfigurationLocation(path = s"/$app/$stage/$stack", Regions.EU_WEST_1.getName)
}) match {
case Success(c) => c
case Failure(exception) => sys.error(s"Could not load config ${exception.getMessage}")
}
}