def mandatoryConfig()

in app/components/AppComponents.scala [122:163]


  def mandatoryConfig(key: String): String = configuration
    .get[Option[String]](key)
    .getOrElse(sys.error(s"Missing config key: $key"))

  val awsCredsForV1 = new AWSCredentialsProviderChain(
    new ProfileCredentialsProvider("deployTools"),
    new ProfileCredentialsProvider(),
    InstanceProfileCredentialsProvider.getInstance()
  )

  val awsCredsForV2 = AwsCredentialsProviderChainV2
    .builder()
    .credentialsProviders(
      ProfileCredentialsProviderV2.create("deployTools"),
      ProfileCredentialsProviderV2.create(),
      InstanceProfileCredentialsProviderV2.create()
    )
    .build()

  val region = Regions.EU_WEST_1

  val clientConfiguration = new ClientConfiguration().withRetryPolicy(
    new RetryPolicy(
      new LoggingRetryCondition(),
      PredefinedRetryPolicies.DEFAULT_BACKOFF_STRATEGY,
      20,
      false
    )
  )

  val secretStateSupplier: SnapshotProvider = {
    new SecretSupplier(
      TransitionTiming(usageDelay = ofMinutes(3), overlapDuration = ofHours(2)),
      s"/$stage/deploy/amigo/play.http.secret.key",
      AwsSdkV2(
        SsmClient.builder
          .credentialsProvider(awsCredsForV2)
          .region(Region.of(region.getName))
          .build()
      )
    )
  }