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

zio.aws.waf.model.TimeWindow.scala Maven / Gradle / Ivy

There is a newer version: 7.28.29.14
Show newest version
package zio.aws.waf.model
import zio.ZIO
import zio.aws.core.BuilderHelper
import java.time.Instant
import zio.aws.waf.model.primitives.Timestamp
import scala.jdk.CollectionConverters.*
final case class TimeWindow(startTime: Timestamp, endTime: Timestamp) {
  def buildAwsValue(): software.amazon.awssdk.services.waf.model.TimeWindow = {
    import TimeWindow.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.waf.model.TimeWindow
      .builder()
      .startTime(Timestamp.unwrap(startTime): Instant)
      .endTime(Timestamp.unwrap(endTime): Instant)
      .build()
  }
  def asReadOnly: zio.aws.waf.model.TimeWindow.ReadOnly =
    zio.aws.waf.model.TimeWindow.wrap(buildAwsValue())
}
object TimeWindow {
  private lazy val zioAwsBuilderHelper
      : BuilderHelper[software.amazon.awssdk.services.waf.model.TimeWindow] =
    BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.waf.model.TimeWindow =
      zio.aws.waf.model.TimeWindow(startTime, endTime)
    def startTime: Timestamp
    def endTime: Timestamp
    def getStartTime: ZIO[Any, Nothing, Timestamp] = ZIO.succeed(startTime)
    def getEndTime: ZIO[Any, Nothing, Timestamp] = ZIO.succeed(endTime)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.waf.model.TimeWindow
  ) extends zio.aws.waf.model.TimeWindow.ReadOnly {
    override val startTime: Timestamp =
      zio.aws.waf.model.primitives.Timestamp(impl.startTime())
    override val endTime: Timestamp =
      zio.aws.waf.model.primitives.Timestamp(impl.endTime())
  }
  def wrap(
      impl: software.amazon.awssdk.services.waf.model.TimeWindow
  ): zio.aws.waf.model.TimeWindow.ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy