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

io.github.vigoo.zioaws.sfn.model.HistoryEvent.scala Maven / Gradle / Ivy

There is a newer version: 4.17.280.4
Show newest version
package io.github.vigoo.zioaws.sfn.model
import zio.ZIO
import java.time.Instant
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import io.github.vigoo.zioaws.sfn.model.primitives.{EventId, Timestamp}
import scala.jdk.CollectionConverters._
final case class HistoryEvent(
    timestamp: Timestamp,
    `type`: io.github.vigoo.zioaws.sfn.model.HistoryEventType,
    id: EventId,
    previousEventId: Option[EventId] = None,
    activityFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityFailedEventDetails
    ] = None,
    activityScheduleFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityScheduleFailedEventDetails
    ] = None,
    activityScheduledEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityScheduledEventDetails
    ] = None,
    activityStartedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityStartedEventDetails
    ] = None,
    activitySucceededEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ActivitySucceededEventDetails
    ] = None,
    activityTimedOutEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityTimedOutEventDetails
    ] = None,
    taskFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskFailedEventDetails
    ] = None,
    taskScheduledEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskScheduledEventDetails
    ] = None,
    taskStartFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskStartFailedEventDetails
    ] = None,
    taskStartedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskStartedEventDetails
    ] = None,
    taskSubmitFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSubmitFailedEventDetails
    ] = None,
    taskSubmittedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSubmittedEventDetails
    ] = None,
    taskSucceededEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSucceededEventDetails
    ] = None,
    taskTimedOutEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.TaskTimedOutEventDetails
    ] = None,
    executionFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionFailedEventDetails
    ] = None,
    executionStartedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionStartedEventDetails
    ] = None,
    executionSucceededEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionSucceededEventDetails
    ] = None,
    executionAbortedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionAbortedEventDetails
    ] = None,
    executionTimedOutEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionTimedOutEventDetails
    ] = None,
    mapStateStartedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.MapStateStartedEventDetails
    ] = None,
    mapIterationStartedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails
    ] = None,
    mapIterationSucceededEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails
    ] = None,
    mapIterationFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails
    ] = None,
    mapIterationAbortedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails
    ] = None,
    lambdaFunctionFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionFailedEventDetails
    ] = None,
    lambdaFunctionScheduleFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduleFailedEventDetails
    ] = None,
    lambdaFunctionScheduledEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduledEventDetails
    ] = None,
    lambdaFunctionStartFailedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionStartFailedEventDetails
    ] = None,
    lambdaFunctionSucceededEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionSucceededEventDetails
    ] = None,
    lambdaFunctionTimedOutEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionTimedOutEventDetails
    ] = None,
    stateEnteredEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.StateEnteredEventDetails
    ] = None,
    stateExitedEventDetails: Option[
      io.github.vigoo.zioaws.sfn.model.StateExitedEventDetails
    ] = None
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.sfn.model.HistoryEvent = {
    import HistoryEvent.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.sfn.model.HistoryEvent
      .builder()
      .timestamp(timestamp: Instant)
      .`type`(`type`.unwrap)
      .id(id: java.lang.Long)
      .optionallyWith(previousEventId.map(value => value: java.lang.Long))(
        _.previousEventId
      )
      .optionallyWith(
        activityFailedEventDetails.map(value => value.buildAwsValue())
      )(_.activityFailedEventDetails)
      .optionallyWith(
        activityScheduleFailedEventDetails.map(value => value.buildAwsValue())
      )(_.activityScheduleFailedEventDetails)
      .optionallyWith(
        activityScheduledEventDetails.map(value => value.buildAwsValue())
      )(_.activityScheduledEventDetails)
      .optionallyWith(
        activityStartedEventDetails.map(value => value.buildAwsValue())
      )(_.activityStartedEventDetails)
      .optionallyWith(
        activitySucceededEventDetails.map(value => value.buildAwsValue())
      )(_.activitySucceededEventDetails)
      .optionallyWith(
        activityTimedOutEventDetails.map(value => value.buildAwsValue())
      )(_.activityTimedOutEventDetails)
      .optionallyWith(
        taskFailedEventDetails.map(value => value.buildAwsValue())
      )(_.taskFailedEventDetails)
      .optionallyWith(
        taskScheduledEventDetails.map(value => value.buildAwsValue())
      )(_.taskScheduledEventDetails)
      .optionallyWith(
        taskStartFailedEventDetails.map(value => value.buildAwsValue())
      )(_.taskStartFailedEventDetails)
      .optionallyWith(
        taskStartedEventDetails.map(value => value.buildAwsValue())
      )(_.taskStartedEventDetails)
      .optionallyWith(
        taskSubmitFailedEventDetails.map(value => value.buildAwsValue())
      )(_.taskSubmitFailedEventDetails)
      .optionallyWith(
        taskSubmittedEventDetails.map(value => value.buildAwsValue())
      )(_.taskSubmittedEventDetails)
      .optionallyWith(
        taskSucceededEventDetails.map(value => value.buildAwsValue())
      )(_.taskSucceededEventDetails)
      .optionallyWith(
        taskTimedOutEventDetails.map(value => value.buildAwsValue())
      )(_.taskTimedOutEventDetails)
      .optionallyWith(
        executionFailedEventDetails.map(value => value.buildAwsValue())
      )(_.executionFailedEventDetails)
      .optionallyWith(
        executionStartedEventDetails.map(value => value.buildAwsValue())
      )(_.executionStartedEventDetails)
      .optionallyWith(
        executionSucceededEventDetails.map(value => value.buildAwsValue())
      )(_.executionSucceededEventDetails)
      .optionallyWith(
        executionAbortedEventDetails.map(value => value.buildAwsValue())
      )(_.executionAbortedEventDetails)
      .optionallyWith(
        executionTimedOutEventDetails.map(value => value.buildAwsValue())
      )(_.executionTimedOutEventDetails)
      .optionallyWith(
        mapStateStartedEventDetails.map(value => value.buildAwsValue())
      )(_.mapStateStartedEventDetails)
      .optionallyWith(
        mapIterationStartedEventDetails.map(value => value.buildAwsValue())
      )(_.mapIterationStartedEventDetails)
      .optionallyWith(
        mapIterationSucceededEventDetails.map(value => value.buildAwsValue())
      )(_.mapIterationSucceededEventDetails)
      .optionallyWith(
        mapIterationFailedEventDetails.map(value => value.buildAwsValue())
      )(_.mapIterationFailedEventDetails)
      .optionallyWith(
        mapIterationAbortedEventDetails.map(value => value.buildAwsValue())
      )(_.mapIterationAbortedEventDetails)
      .optionallyWith(
        lambdaFunctionFailedEventDetails.map(value => value.buildAwsValue())
      )(_.lambdaFunctionFailedEventDetails)
      .optionallyWith(
        lambdaFunctionScheduleFailedEventDetails.map(value =>
          value.buildAwsValue()
        )
      )(_.lambdaFunctionScheduleFailedEventDetails)
      .optionallyWith(
        lambdaFunctionScheduledEventDetails.map(value => value.buildAwsValue())
      )(_.lambdaFunctionScheduledEventDetails)
      .optionallyWith(
        lambdaFunctionStartFailedEventDetails.map(value =>
          value.buildAwsValue()
        )
      )(_.lambdaFunctionStartFailedEventDetails)
      .optionallyWith(
        lambdaFunctionSucceededEventDetails.map(value => value.buildAwsValue())
      )(_.lambdaFunctionSucceededEventDetails)
      .optionallyWith(
        lambdaFunctionTimedOutEventDetails.map(value => value.buildAwsValue())
      )(_.lambdaFunctionTimedOutEventDetails)
      .optionallyWith(
        stateEnteredEventDetails.map(value => value.buildAwsValue())
      )(_.stateEnteredEventDetails)
      .optionallyWith(
        stateExitedEventDetails.map(value => value.buildAwsValue())
      )(_.stateExitedEventDetails)
      .build()
  }
  def asReadOnly: io.github.vigoo.zioaws.sfn.model.HistoryEvent.ReadOnly =
    io.github.vigoo.zioaws.sfn.model.HistoryEvent.wrap(buildAwsValue())
}
object HistoryEvent {
  private lazy val zioAwsBuilderHelper
      : BuilderHelper[software.amazon.awssdk.services.sfn.model.HistoryEvent] =
    BuilderHelper.apply
  trait ReadOnly {
    def editable: io.github.vigoo.zioaws.sfn.model.HistoryEvent =
      io.github.vigoo.zioaws.sfn.model.HistoryEvent(
        timestampValue,
        typeValue,
        idValue,
        previousEventIdValue.map(value => value),
        activityFailedEventDetailsValue.map(value => value.editable),
        activityScheduleFailedEventDetailsValue.map(value => value.editable),
        activityScheduledEventDetailsValue.map(value => value.editable),
        activityStartedEventDetailsValue.map(value => value.editable),
        activitySucceededEventDetailsValue.map(value => value.editable),
        activityTimedOutEventDetailsValue.map(value => value.editable),
        taskFailedEventDetailsValue.map(value => value.editable),
        taskScheduledEventDetailsValue.map(value => value.editable),
        taskStartFailedEventDetailsValue.map(value => value.editable),
        taskStartedEventDetailsValue.map(value => value.editable),
        taskSubmitFailedEventDetailsValue.map(value => value.editable),
        taskSubmittedEventDetailsValue.map(value => value.editable),
        taskSucceededEventDetailsValue.map(value => value.editable),
        taskTimedOutEventDetailsValue.map(value => value.editable),
        executionFailedEventDetailsValue.map(value => value.editable),
        executionStartedEventDetailsValue.map(value => value.editable),
        executionSucceededEventDetailsValue.map(value => value.editable),
        executionAbortedEventDetailsValue.map(value => value.editable),
        executionTimedOutEventDetailsValue.map(value => value.editable),
        mapStateStartedEventDetailsValue.map(value => value.editable),
        mapIterationStartedEventDetailsValue.map(value => value.editable),
        mapIterationSucceededEventDetailsValue.map(value => value.editable),
        mapIterationFailedEventDetailsValue.map(value => value.editable),
        mapIterationAbortedEventDetailsValue.map(value => value.editable),
        lambdaFunctionFailedEventDetailsValue.map(value => value.editable),
        lambdaFunctionScheduleFailedEventDetailsValue.map(value =>
          value.editable
        ),
        lambdaFunctionScheduledEventDetailsValue.map(value => value.editable),
        lambdaFunctionStartFailedEventDetailsValue.map(value => value.editable),
        lambdaFunctionSucceededEventDetailsValue.map(value => value.editable),
        lambdaFunctionTimedOutEventDetailsValue.map(value => value.editable),
        stateEnteredEventDetailsValue.map(value => value.editable),
        stateExitedEventDetailsValue.map(value => value.editable)
      )
    def timestampValue: Timestamp
    def typeValue: io.github.vigoo.zioaws.sfn.model.HistoryEventType
    def idValue: EventId
    def previousEventIdValue: Option[EventId]
    def activityFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityFailedEventDetails.ReadOnly
    ]
    def activityScheduleFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityScheduleFailedEventDetails.ReadOnly
    ]
    def activityScheduledEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityScheduledEventDetails.ReadOnly
    ]
    def activityStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityStartedEventDetails.ReadOnly
    ]
    def activitySucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivitySucceededEventDetails.ReadOnly
    ]
    def activityTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityTimedOutEventDetails.ReadOnly
    ]
    def taskFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskFailedEventDetails.ReadOnly
    ]
    def taskScheduledEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskScheduledEventDetails.ReadOnly
    ]
    def taskStartFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskStartFailedEventDetails.ReadOnly
    ]
    def taskStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskStartedEventDetails.ReadOnly
    ]
    def taskSubmitFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSubmitFailedEventDetails.ReadOnly
    ]
    def taskSubmittedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSubmittedEventDetails.ReadOnly
    ]
    def taskSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSucceededEventDetails.ReadOnly
    ]
    def taskTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskTimedOutEventDetails.ReadOnly
    ]
    def executionFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionFailedEventDetails.ReadOnly
    ]
    def executionStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionStartedEventDetails.ReadOnly
    ]
    def executionSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionSucceededEventDetails.ReadOnly
    ]
    def executionAbortedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionAbortedEventDetails.ReadOnly
    ]
    def executionTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionTimedOutEventDetails.ReadOnly
    ]
    def mapStateStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapStateStartedEventDetails.ReadOnly
    ]
    def mapIterationStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ]
    def mapIterationSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ]
    def mapIterationFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ]
    def mapIterationAbortedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ]
    def lambdaFunctionFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionFailedEventDetails.ReadOnly
    ]
    def lambdaFunctionScheduleFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduleFailedEventDetails.ReadOnly
    ]
    def lambdaFunctionScheduledEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduledEventDetails.ReadOnly
    ]
    def lambdaFunctionStartFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionStartFailedEventDetails.ReadOnly
    ]
    def lambdaFunctionSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionSucceededEventDetails.ReadOnly
    ]
    def lambdaFunctionTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionTimedOutEventDetails.ReadOnly
    ]
    def stateEnteredEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.StateEnteredEventDetails.ReadOnly
    ]
    def stateExitedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.StateExitedEventDetails.ReadOnly
    ]
    def timestamp: ZIO[Any, Nothing, Timestamp] = ZIO.succeed(timestampValue)
    def `type`
        : ZIO[Any, Nothing, io.github.vigoo.zioaws.sfn.model.HistoryEventType] =
      ZIO.succeed(typeValue)
    def id: ZIO[Any, Nothing, EventId] = ZIO.succeed(idValue)
    def previousEventId: ZIO[Any, AwsError, EventId] =
      AwsError.unwrapOptionField("previousEventId", previousEventIdValue)
    def activityFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ActivityFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "activityFailedEventDetails",
      activityFailedEventDetailsValue
    )
    def activityScheduleFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ActivityScheduleFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "activityScheduleFailedEventDetails",
      activityScheduleFailedEventDetailsValue
    )
    def activityScheduledEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ActivityScheduledEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "activityScheduledEventDetails",
      activityScheduledEventDetailsValue
    )
    def activityStartedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ActivityStartedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "activityStartedEventDetails",
      activityStartedEventDetailsValue
    )
    def activitySucceededEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ActivitySucceededEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "activitySucceededEventDetails",
      activitySucceededEventDetailsValue
    )
    def activityTimedOutEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ActivityTimedOutEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "activityTimedOutEventDetails",
      activityTimedOutEventDetailsValue
    )
    def taskFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskFailedEventDetails",
      taskFailedEventDetailsValue
    )
    def taskScheduledEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskScheduledEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskScheduledEventDetails",
      taskScheduledEventDetailsValue
    )
    def taskStartFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskStartFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskStartFailedEventDetails",
      taskStartFailedEventDetailsValue
    )
    def taskStartedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskStartedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskStartedEventDetails",
      taskStartedEventDetailsValue
    )
    def taskSubmitFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskSubmitFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskSubmitFailedEventDetails",
      taskSubmitFailedEventDetailsValue
    )
    def taskSubmittedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskSubmittedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskSubmittedEventDetails",
      taskSubmittedEventDetailsValue
    )
    def taskSucceededEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskSucceededEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskSucceededEventDetails",
      taskSucceededEventDetailsValue
    )
    def taskTimedOutEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.TaskTimedOutEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "taskTimedOutEventDetails",
      taskTimedOutEventDetailsValue
    )
    def executionFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ExecutionFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "executionFailedEventDetails",
      executionFailedEventDetailsValue
    )
    def executionStartedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ExecutionStartedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "executionStartedEventDetails",
      executionStartedEventDetailsValue
    )
    def executionSucceededEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ExecutionSucceededEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "executionSucceededEventDetails",
      executionSucceededEventDetailsValue
    )
    def executionAbortedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ExecutionAbortedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "executionAbortedEventDetails",
      executionAbortedEventDetailsValue
    )
    def executionTimedOutEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.ExecutionTimedOutEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "executionTimedOutEventDetails",
      executionTimedOutEventDetailsValue
    )
    def mapStateStartedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.MapStateStartedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "mapStateStartedEventDetails",
      mapStateStartedEventDetailsValue
    )
    def mapIterationStartedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "mapIterationStartedEventDetails",
      mapIterationStartedEventDetailsValue
    )
    def mapIterationSucceededEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "mapIterationSucceededEventDetails",
      mapIterationSucceededEventDetailsValue
    )
    def mapIterationFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "mapIterationFailedEventDetails",
      mapIterationFailedEventDetailsValue
    )
    def mapIterationAbortedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "mapIterationAbortedEventDetails",
      mapIterationAbortedEventDetailsValue
    )
    def lambdaFunctionFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "lambdaFunctionFailedEventDetails",
      lambdaFunctionFailedEventDetailsValue
    )
    def lambdaFunctionScheduleFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduleFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "lambdaFunctionScheduleFailedEventDetails",
      lambdaFunctionScheduleFailedEventDetailsValue
    )
    def lambdaFunctionScheduledEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduledEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "lambdaFunctionScheduledEventDetails",
      lambdaFunctionScheduledEventDetailsValue
    )
    def lambdaFunctionStartFailedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionStartFailedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "lambdaFunctionStartFailedEventDetails",
      lambdaFunctionStartFailedEventDetailsValue
    )
    def lambdaFunctionSucceededEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionSucceededEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "lambdaFunctionSucceededEventDetails",
      lambdaFunctionSucceededEventDetailsValue
    )
    def lambdaFunctionTimedOutEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionTimedOutEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "lambdaFunctionTimedOutEventDetails",
      lambdaFunctionTimedOutEventDetailsValue
    )
    def stateEnteredEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.StateEnteredEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "stateEnteredEventDetails",
      stateEnteredEventDetailsValue
    )
    def stateExitedEventDetails: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.sfn.model.StateExitedEventDetails.ReadOnly
    ] = AwsError.unwrapOptionField(
      "stateExitedEventDetails",
      stateExitedEventDetailsValue
    )
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.sfn.model.HistoryEvent
  ) extends io.github.vigoo.zioaws.sfn.model.HistoryEvent.ReadOnly {
    override def timestampValue: Timestamp = impl.timestamp(): Timestamp
    override def typeValue: io.github.vigoo.zioaws.sfn.model.HistoryEventType =
      io.github.vigoo.zioaws.sfn.model.HistoryEventType.wrap(impl.`type`())
    override def idValue: EventId = impl.id(): EventId
    override def previousEventIdValue: Option[EventId] =
      scala.Option(impl.previousEventId()).map(value => value: EventId)
    override def activityFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.activityFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ActivityFailedEventDetails.wrap(value)
      )
    override def activityScheduleFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityScheduleFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.activityScheduleFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ActivityScheduleFailedEventDetails
          .wrap(value)
      )
    override def activityScheduledEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityScheduledEventDetails.ReadOnly
    ] = scala
      .Option(impl.activityScheduledEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ActivityScheduledEventDetails
          .wrap(value)
      )
    override def activityStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityStartedEventDetails.ReadOnly
    ] = scala
      .Option(impl.activityStartedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ActivityStartedEventDetails.wrap(value)
      )
    override def activitySucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivitySucceededEventDetails.ReadOnly
    ] = scala
      .Option(impl.activitySucceededEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ActivitySucceededEventDetails
          .wrap(value)
      )
    override def activityTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ActivityTimedOutEventDetails.ReadOnly
    ] = scala
      .Option(impl.activityTimedOutEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ActivityTimedOutEventDetails
          .wrap(value)
      )
    override def taskFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskFailedEventDetails.wrap(value)
      )
    override def taskScheduledEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskScheduledEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskScheduledEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskScheduledEventDetails.wrap(value)
      )
    override def taskStartFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskStartFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskStartFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskStartFailedEventDetails.wrap(value)
      )
    override def taskStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskStartedEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskStartedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskStartedEventDetails.wrap(value)
      )
    override def taskSubmitFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSubmitFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskSubmitFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskSubmitFailedEventDetails
          .wrap(value)
      )
    override def taskSubmittedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSubmittedEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskSubmittedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskSubmittedEventDetails.wrap(value)
      )
    override def taskSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskSucceededEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskSucceededEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskSucceededEventDetails.wrap(value)
      )
    override def taskTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.TaskTimedOutEventDetails.ReadOnly
    ] = scala
      .Option(impl.taskTimedOutEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.TaskTimedOutEventDetails.wrap(value)
      )
    override def executionFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.executionFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ExecutionFailedEventDetails.wrap(value)
      )
    override def executionStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionStartedEventDetails.ReadOnly
    ] = scala
      .Option(impl.executionStartedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ExecutionStartedEventDetails
          .wrap(value)
      )
    override def executionSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionSucceededEventDetails.ReadOnly
    ] = scala
      .Option(impl.executionSucceededEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ExecutionSucceededEventDetails
          .wrap(value)
      )
    override def executionAbortedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionAbortedEventDetails.ReadOnly
    ] = scala
      .Option(impl.executionAbortedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ExecutionAbortedEventDetails
          .wrap(value)
      )
    override def executionTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.ExecutionTimedOutEventDetails.ReadOnly
    ] = scala
      .Option(impl.executionTimedOutEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.ExecutionTimedOutEventDetails
          .wrap(value)
      )
    override def mapStateStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapStateStartedEventDetails.ReadOnly
    ] = scala
      .Option(impl.mapStateStartedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.MapStateStartedEventDetails.wrap(value)
      )
    override def mapIterationStartedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = scala
      .Option(impl.mapIterationStartedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.wrap(value)
      )
    override def mapIterationSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = scala
      .Option(impl.mapIterationSucceededEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.wrap(value)
      )
    override def mapIterationFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = scala
      .Option(impl.mapIterationFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.wrap(value)
      )
    override def mapIterationAbortedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.ReadOnly
    ] = scala
      .Option(impl.mapIterationAbortedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.MapIterationEventDetails.wrap(value)
      )
    override def lambdaFunctionFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.lambdaFunctionFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.LambdaFunctionFailedEventDetails
          .wrap(value)
      )
    override def lambdaFunctionScheduleFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduleFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.lambdaFunctionScheduleFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduleFailedEventDetails
          .wrap(value)
      )
    override def lambdaFunctionScheduledEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduledEventDetails.ReadOnly
    ] = scala
      .Option(impl.lambdaFunctionScheduledEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.LambdaFunctionScheduledEventDetails
          .wrap(value)
      )
    override def lambdaFunctionStartFailedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionStartFailedEventDetails.ReadOnly
    ] = scala
      .Option(impl.lambdaFunctionStartFailedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.LambdaFunctionStartFailedEventDetails
          .wrap(value)
      )
    override def lambdaFunctionSucceededEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionSucceededEventDetails.ReadOnly
    ] = scala
      .Option(impl.lambdaFunctionSucceededEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.LambdaFunctionSucceededEventDetails
          .wrap(value)
      )
    override def lambdaFunctionTimedOutEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.LambdaFunctionTimedOutEventDetails.ReadOnly
    ] = scala
      .Option(impl.lambdaFunctionTimedOutEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.LambdaFunctionTimedOutEventDetails
          .wrap(value)
      )
    override def stateEnteredEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.StateEnteredEventDetails.ReadOnly
    ] = scala
      .Option(impl.stateEnteredEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.StateEnteredEventDetails.wrap(value)
      )
    override def stateExitedEventDetailsValue: Option[
      io.github.vigoo.zioaws.sfn.model.StateExitedEventDetails.ReadOnly
    ] = scala
      .Option(impl.stateExitedEventDetails())
      .map(value =>
        io.github.vigoo.zioaws.sfn.model.StateExitedEventDetails.wrap(value)
      )
  }
  def wrap(
      impl: software.amazon.awssdk.services.sfn.model.HistoryEvent
  ): io.github.vigoo.zioaws.sfn.model.HistoryEvent.ReadOnly = new Wrapper(impl)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy