def assumeRole()

in app/aws/Federation.scala [91:116]


  def assumeRole(
      username: String,
      roleArn: String,
      permission: Permission,
      sts: StsClient,
      duration: Duration
  ): Credentials = {
    val requestBuilder = AssumeRoleRequest
      .builder()
      .roleArn(roleArn)
      .roleSessionName(username)
      .durationSeconds(duration.getSeconds.toInt)
    permission.policy.foreach { policy =>
      requestBuilder.policy(policy)
    }
    permission.managedPolicyArns.foreach { managedPolicyArns =>
      requestBuilder.policyArns(
        managedPolicyArns.map { arn =>
          PolicyDescriptorType.builder().arn(arn).build()
        }.asJava
      )
    }
    val request = requestBuilder.build()
    val response = sts.assumeRole(request)
    response.credentials()
  }