
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