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

io.github.vigoo.zioaws.elasticloadbalancing.model.HealthCheck.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.elasticloadbalancing.model
import scala.jdk.CollectionConverters.*
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
final case class HealthCheck(target: primitives.HealthCheckTarget, interval: primitives.HealthCheckInterval, timeout: primitives.HealthCheckTimeout, unhealthyThreshold: primitives.UnhealthyThreshold, healthyThreshold: primitives.HealthyThreshold) {
  def buildAwsValue(): software.amazon.awssdk.services.elasticloadbalancing.model.HealthCheck = {
    import HealthCheck.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.elasticloadbalancing.model.HealthCheck.builder().target(target: java.lang.String).interval(interval: java.lang.Integer).timeout(timeout: java.lang.Integer).unhealthyThreshold(unhealthyThreshold: java.lang.Integer).healthyThreshold(healthyThreshold: java.lang.Integer).build()
  }
  def asReadOnly: HealthCheck.ReadOnly = HealthCheck.wrap(buildAwsValue())
}
object HealthCheck {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.elasticloadbalancing.model.HealthCheck] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: HealthCheck = HealthCheck(targetValue, intervalValue, timeoutValue, unhealthyThresholdValue, healthyThresholdValue)
    def targetValue: primitives.HealthCheckTarget
    def intervalValue: primitives.HealthCheckInterval
    def timeoutValue: primitives.HealthCheckTimeout
    def unhealthyThresholdValue: primitives.UnhealthyThreshold
    def healthyThresholdValue: primitives.HealthyThreshold
    def target: ZIO[Any, Nothing, primitives.HealthCheckTarget] = ZIO.succeed(targetValue)
    def interval: ZIO[Any, Nothing, primitives.HealthCheckInterval] = ZIO.succeed(intervalValue)
    def timeout: ZIO[Any, Nothing, primitives.HealthCheckTimeout] = ZIO.succeed(timeoutValue)
    def unhealthyThreshold: ZIO[Any, Nothing, primitives.UnhealthyThreshold] = ZIO.succeed(unhealthyThresholdValue)
    def healthyThreshold: ZIO[Any, Nothing, primitives.HealthyThreshold] = ZIO.succeed(healthyThresholdValue)
  }
  private class Wrapper(impl: software.amazon.awssdk.services.elasticloadbalancing.model.HealthCheck) extends HealthCheck.ReadOnly {
    override def targetValue: primitives.HealthCheckTarget = impl.target(): primitives.HealthCheckTarget
    override def intervalValue: primitives.HealthCheckInterval = impl.interval(): primitives.HealthCheckInterval
    override def timeoutValue: primitives.HealthCheckTimeout = impl.timeout(): primitives.HealthCheckTimeout
    override def unhealthyThresholdValue: primitives.UnhealthyThreshold = impl.unhealthyThreshold(): primitives.UnhealthyThreshold
    override def healthyThresholdValue: primitives.HealthyThreshold = impl.healthyThreshold(): primitives.HealthyThreshold
  }
  def wrap(impl: software.amazon.awssdk.services.elasticloadbalancing.model.HealthCheck): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy