
io.github.vigoo.zioaws.swf.model.ActivityTaskScheduledEventAttributes.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.swf.model
import zio.ZIO
import io.github.vigoo.zioaws.swf.model.primitives.{
TaskPriority,
Data,
ActivityId,
EventId,
DurationInSecondsOptional
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class ActivityTaskScheduledEventAttributes(
activityType: io.github.vigoo.zioaws.swf.model.ActivityType,
activityId: ActivityId,
input: Option[Data] = None,
control: Option[Data] = None,
scheduleToStartTimeout: Option[DurationInSecondsOptional] = None,
scheduleToCloseTimeout: Option[DurationInSecondsOptional] = None,
startToCloseTimeout: Option[DurationInSecondsOptional] = None,
taskList: io.github.vigoo.zioaws.swf.model.TaskList,
taskPriority: Option[TaskPriority] = None,
decisionTaskCompletedEventId: EventId,
heartbeatTimeout: Option[DurationInSecondsOptional] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.swf.model.ActivityTaskScheduledEventAttributes = {
import ActivityTaskScheduledEventAttributes.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.swf.model.ActivityTaskScheduledEventAttributes
.builder()
.activityType(activityType.buildAwsValue())
.activityId(activityId: java.lang.String)
.optionallyWith(input.map(value => value: java.lang.String))(_.input)
.optionallyWith(control.map(value => value: java.lang.String))(_.control)
.optionallyWith(
scheduleToStartTimeout.map(value => value: java.lang.String)
)(_.scheduleToStartTimeout)
.optionallyWith(
scheduleToCloseTimeout.map(value => value: java.lang.String)
)(_.scheduleToCloseTimeout)
.optionallyWith(
startToCloseTimeout.map(value => value: java.lang.String)
)(_.startToCloseTimeout)
.taskList(taskList.buildAwsValue())
.optionallyWith(taskPriority.map(value => value: java.lang.String))(
_.taskPriority
)
.decisionTaskCompletedEventId(
decisionTaskCompletedEventId: java.lang.Long
)
.optionallyWith(heartbeatTimeout.map(value => value: java.lang.String))(
_.heartbeatTimeout
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.swf.model.ActivityTaskScheduledEventAttributes.ReadOnly =
io.github.vigoo.zioaws.swf.model.ActivityTaskScheduledEventAttributes
.wrap(buildAwsValue())
}
object ActivityTaskScheduledEventAttributes {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.swf.model.ActivityTaskScheduledEventAttributes
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.swf.model.ActivityTaskScheduledEventAttributes =
io.github.vigoo.zioaws.swf.model.ActivityTaskScheduledEventAttributes(
activityTypeValue.editable,
activityIdValue,
inputValue.map(value => value),
controlValue.map(value => value),
scheduleToStartTimeoutValue.map(value => value),
scheduleToCloseTimeoutValue.map(value => value),
startToCloseTimeoutValue.map(value => value),
taskListValue.editable,
taskPriorityValue.map(value => value),
decisionTaskCompletedEventIdValue,
heartbeatTimeoutValue.map(value => value)
)
def activityTypeValue
: io.github.vigoo.zioaws.swf.model.ActivityType.ReadOnly
def activityIdValue: ActivityId
def inputValue: Option[Data]
def controlValue: Option[Data]
def scheduleToStartTimeoutValue: Option[DurationInSecondsOptional]
def scheduleToCloseTimeoutValue: Option[DurationInSecondsOptional]
def startToCloseTimeoutValue: Option[DurationInSecondsOptional]
def taskListValue: io.github.vigoo.zioaws.swf.model.TaskList.ReadOnly
def taskPriorityValue: Option[TaskPriority]
def decisionTaskCompletedEventIdValue: EventId
def heartbeatTimeoutValue: Option[DurationInSecondsOptional]
def activityType: ZIO[
Any,
Nothing,
io.github.vigoo.zioaws.swf.model.ActivityType.ReadOnly
] = ZIO.succeed(activityTypeValue)
def activityId: ZIO[Any, Nothing, ActivityId] = ZIO.succeed(activityIdValue)
def input: ZIO[Any, AwsError, Data] =
AwsError.unwrapOptionField("input", inputValue)
def control: ZIO[Any, AwsError, Data] =
AwsError.unwrapOptionField("control", controlValue)
def scheduleToStartTimeout: ZIO[Any, AwsError, DurationInSecondsOptional] =
AwsError.unwrapOptionField(
"scheduleToStartTimeout",
scheduleToStartTimeoutValue
)
def scheduleToCloseTimeout: ZIO[Any, AwsError, DurationInSecondsOptional] =
AwsError.unwrapOptionField(
"scheduleToCloseTimeout",
scheduleToCloseTimeoutValue
)
def startToCloseTimeout: ZIO[Any, AwsError, DurationInSecondsOptional] =
AwsError.unwrapOptionField(
"startToCloseTimeout",
startToCloseTimeoutValue
)
def taskList: ZIO[
Any,
Nothing,
io.github.vigoo.zioaws.swf.model.TaskList.ReadOnly
] = ZIO.succeed(taskListValue)
def taskPriority: ZIO[Any, AwsError, TaskPriority] =
AwsError.unwrapOptionField("taskPriority", taskPriorityValue)
def decisionTaskCompletedEventId: ZIO[Any, Nothing, EventId] =
ZIO.succeed(decisionTaskCompletedEventIdValue)
def heartbeatTimeout: ZIO[Any, AwsError, DurationInSecondsOptional] =
AwsError.unwrapOptionField("heartbeatTimeout", heartbeatTimeoutValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.swf.model.ActivityTaskScheduledEventAttributes
) extends io.github.vigoo.zioaws.swf.model.ActivityTaskScheduledEventAttributes.ReadOnly {
override def activityTypeValue
: io.github.vigoo.zioaws.swf.model.ActivityType.ReadOnly =
io.github.vigoo.zioaws.swf.model.ActivityType.wrap(impl.activityType())
override def activityIdValue: ActivityId = impl.activityId(): ActivityId
override def inputValue: Option[Data] =
scala.Option(impl.input()).map(value => value: Data)
override def controlValue: Option[Data] =
scala.Option(impl.control()).map(value => value: Data)
override def scheduleToStartTimeoutValue
: Option[DurationInSecondsOptional] = scala
.Option(impl.scheduleToStartTimeout())
.map(value => value: DurationInSecondsOptional)
override def scheduleToCloseTimeoutValue
: Option[DurationInSecondsOptional] = scala
.Option(impl.scheduleToCloseTimeout())
.map(value => value: DurationInSecondsOptional)
override def startToCloseTimeoutValue: Option[DurationInSecondsOptional] =
scala
.Option(impl.startToCloseTimeout())
.map(value => value: DurationInSecondsOptional)
override def taskListValue
: io.github.vigoo.zioaws.swf.model.TaskList.ReadOnly =
io.github.vigoo.zioaws.swf.model.TaskList.wrap(impl.taskList())
override def taskPriorityValue: Option[TaskPriority] =
scala.Option(impl.taskPriority()).map(value => value: TaskPriority)
override def decisionTaskCompletedEventIdValue: EventId =
impl.decisionTaskCompletedEventId(): EventId
override def heartbeatTimeoutValue: Option[DurationInSecondsOptional] =
scala
.Option(impl.heartbeatTimeout())
.map(value => value: DurationInSecondsOptional)
}
def wrap(
impl: software.amazon.awssdk.services.swf.model.ActivityTaskScheduledEventAttributes
): io.github.vigoo.zioaws.swf.model.ActivityTaskScheduledEventAttributes.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy