def roleArn()

in app/conf/Config.scala [19:41]


  def roleArn(awsAccountAuthConfigKey: String, config: Configuration): String =
    requiredString(config, s"federation.$awsAccountAuthConfigKey.aws.roleArn")

  // extract aws account ID from Role ARN
  private val AwsAccountId = """arn:aws:iam::(\d+):role/.+""".r
  def accountNumber(
      awsAccountAuthConfigKey: String,
      config: Configuration
  ): Try[String] = {
    for {
      role <- Try(roleArn(awsAccountAuthConfigKey, config))
      accountNumber <- role match {
        case AwsAccountId(accountId) => Success(accountId)
        case _ =>
          Failure(
            new JanusConfigurationException(
              s"Could not extract account number from role ARN $role",
              s"federation.$awsAccountAuthConfigKey.aws.roleArn"
            )
          )
      }
    } yield accountNumber
  }