def credentialsProvider: AwsCredentialsProvider = AwsCredentialsProviderChainV2.of()

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}")
    }
  }