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

io.github.vigoo.zioaws.swf.model.ActivityTypeConfiguration.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.swf.model
import zio.ZIO
import io.github.vigoo.zioaws.swf.model.primitives.{
  TaskPriority,
  DurationInSecondsOptional
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class ActivityTypeConfiguration(
    defaultTaskStartToCloseTimeout: Option[DurationInSecondsOptional] = None,
    defaultTaskHeartbeatTimeout: Option[DurationInSecondsOptional] = None,
    defaultTaskList: Option[io.github.vigoo.zioaws.swf.model.TaskList] = None,
    defaultTaskPriority: Option[TaskPriority] = None,
    defaultTaskScheduleToStartTimeout: Option[DurationInSecondsOptional] = None,
    defaultTaskScheduleToCloseTimeout: Option[DurationInSecondsOptional] = None
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.swf.model.ActivityTypeConfiguration = {
    import ActivityTypeConfiguration.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.swf.model.ActivityTypeConfiguration
      .builder()
      .optionallyWith(
        defaultTaskStartToCloseTimeout.map(value => value: java.lang.String)
      )(_.defaultTaskStartToCloseTimeout)
      .optionallyWith(
        defaultTaskHeartbeatTimeout.map(value => value: java.lang.String)
      )(_.defaultTaskHeartbeatTimeout)
      .optionallyWith(defaultTaskList.map(value => value.buildAwsValue()))(
        _.defaultTaskList
      )
      .optionallyWith(
        defaultTaskPriority.map(value => value: java.lang.String)
      )(_.defaultTaskPriority)
      .optionallyWith(
        defaultTaskScheduleToStartTimeout.map(value => value: java.lang.String)
      )(_.defaultTaskScheduleToStartTimeout)
      .optionallyWith(
        defaultTaskScheduleToCloseTimeout.map(value => value: java.lang.String)
      )(_.defaultTaskScheduleToCloseTimeout)
      .build()
  }
  def asReadOnly
      : io.github.vigoo.zioaws.swf.model.ActivityTypeConfiguration.ReadOnly =
    io.github.vigoo.zioaws.swf.model.ActivityTypeConfiguration
      .wrap(buildAwsValue())
}
object ActivityTypeConfiguration {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.swf.model.ActivityTypeConfiguration
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable: io.github.vigoo.zioaws.swf.model.ActivityTypeConfiguration =
      io.github.vigoo.zioaws.swf.model.ActivityTypeConfiguration(
        defaultTaskStartToCloseTimeoutValue.map(value => value),
        defaultTaskHeartbeatTimeoutValue.map(value => value),
        defaultTaskListValue.map(value => value.editable),
        defaultTaskPriorityValue.map(value => value),
        defaultTaskScheduleToStartTimeoutValue.map(value => value),
        defaultTaskScheduleToCloseTimeoutValue.map(value => value)
      )
    def defaultTaskStartToCloseTimeoutValue: Option[DurationInSecondsOptional]
    def defaultTaskHeartbeatTimeoutValue: Option[DurationInSecondsOptional]
    def defaultTaskListValue
        : Option[io.github.vigoo.zioaws.swf.model.TaskList.ReadOnly]
    def defaultTaskPriorityValue: Option[TaskPriority]
    def defaultTaskScheduleToStartTimeoutValue
        : Option[DurationInSecondsOptional]
    def defaultTaskScheduleToCloseTimeoutValue
        : Option[DurationInSecondsOptional]
    def defaultTaskStartToCloseTimeout
        : ZIO[Any, AwsError, DurationInSecondsOptional] =
      AwsError.unwrapOptionField(
        "defaultTaskStartToCloseTimeout",
        defaultTaskStartToCloseTimeoutValue
      )
    def defaultTaskHeartbeatTimeout
        : ZIO[Any, AwsError, DurationInSecondsOptional] =
      AwsError.unwrapOptionField(
        "defaultTaskHeartbeatTimeout",
        defaultTaskHeartbeatTimeoutValue
      )
    def defaultTaskList: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.swf.model.TaskList.ReadOnly
    ] = AwsError.unwrapOptionField("defaultTaskList", defaultTaskListValue)
    def defaultTaskPriority: ZIO[Any, AwsError, TaskPriority] = AwsError
      .unwrapOptionField("defaultTaskPriority", defaultTaskPriorityValue)
    def defaultTaskScheduleToStartTimeout
        : ZIO[Any, AwsError, DurationInSecondsOptional] =
      AwsError.unwrapOptionField(
        "defaultTaskScheduleToStartTimeout",
        defaultTaskScheduleToStartTimeoutValue
      )
    def defaultTaskScheduleToCloseTimeout
        : ZIO[Any, AwsError, DurationInSecondsOptional] =
      AwsError.unwrapOptionField(
        "defaultTaskScheduleToCloseTimeout",
        defaultTaskScheduleToCloseTimeoutValue
      )
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.swf.model.ActivityTypeConfiguration
  ) extends io.github.vigoo.zioaws.swf.model.ActivityTypeConfiguration.ReadOnly {
    override def defaultTaskStartToCloseTimeoutValue
        : Option[DurationInSecondsOptional] = scala
      .Option(impl.defaultTaskStartToCloseTimeout())
      .map(value => value: DurationInSecondsOptional)
    override def defaultTaskHeartbeatTimeoutValue
        : Option[DurationInSecondsOptional] = scala
      .Option(impl.defaultTaskHeartbeatTimeout())
      .map(value => value: DurationInSecondsOptional)
    override def defaultTaskListValue
        : Option[io.github.vigoo.zioaws.swf.model.TaskList.ReadOnly] = scala
      .Option(impl.defaultTaskList())
      .map(value => io.github.vigoo.zioaws.swf.model.TaskList.wrap(value))
    override def defaultTaskPriorityValue: Option[TaskPriority] =
      scala.Option(impl.defaultTaskPriority()).map(value => value: TaskPriority)
    override def defaultTaskScheduleToStartTimeoutValue
        : Option[DurationInSecondsOptional] = scala
      .Option(impl.defaultTaskScheduleToStartTimeout())
      .map(value => value: DurationInSecondsOptional)
    override def defaultTaskScheduleToCloseTimeoutValue
        : Option[DurationInSecondsOptional] = scala
      .Option(impl.defaultTaskScheduleToCloseTimeout())
      .map(value => value: DurationInSecondsOptional)
  }
  def wrap(
      impl: software.amazon.awssdk.services.swf.model.ActivityTypeConfiguration
  ): io.github.vigoo.zioaws.swf.model.ActivityTypeConfiguration.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy