All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.burkard.cdk.services.applicationautoscaling.TargetTrackingScalingPolicy.scala Maven / Gradle / Ivy

package io.burkard.cdk.services.applicationautoscaling

@SuppressWarnings(Array("org.wartremover.warts.DefaultArguments", "org.wartremover.warts.Null", "DisableSyntax.null"))
object TargetTrackingScalingPolicy {

  def apply(
    internalResourceId: String,
    scalingTarget: software.amazon.awscdk.services.applicationautoscaling.IScalableTarget,
    customMetric: Option[software.amazon.awscdk.services.cloudwatch.IMetric] = None,
    disableScaleIn: Option[Boolean] = None,
    policyName: Option[String] = None,
    scaleOutCooldown: Option[software.amazon.awscdk.Duration] = None,
    predefinedMetric: Option[software.amazon.awscdk.services.applicationautoscaling.PredefinedMetric] = None,
    resourceLabel: Option[String] = None,
    scaleInCooldown: Option[software.amazon.awscdk.Duration] = None,
    targetValue: Option[Number] = None
  )(implicit stackCtx: software.amazon.awscdk.Stack): software.amazon.awscdk.services.applicationautoscaling.TargetTrackingScalingPolicy =
    software.amazon.awscdk.services.applicationautoscaling.TargetTrackingScalingPolicy.Builder
      .create(stackCtx, internalResourceId)
      .scalingTarget(scalingTarget)
      .customMetric(customMetric.orNull)
      .disableScaleIn(disableScaleIn.map(Boolean.box).orNull)
      .policyName(policyName.orNull)
      .scaleOutCooldown(scaleOutCooldown.orNull)
      .predefinedMetric(predefinedMetric.orNull)
      .resourceLabel(resourceLabel.orNull)
      .scaleInCooldown(scaleInCooldown.orNull)
      .targetValue(targetValue.orNull)
      .build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy