
io.github.vigoo.zioaws.codepipeline.model.ActionExecution.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.codepipeline.model
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import java.time.Instant
import io.github.vigoo.zioaws.codepipeline.model.primitives.{
ActionExecutionToken,
Url,
Percentage,
Timestamp,
ActionExecutionId,
ExecutionId,
ExecutionSummary,
LastUpdatedBy
}
import zio.ZIO
import java.lang.Integer
import scala.jdk.CollectionConverters._
final case class ActionExecution(
actionExecutionId: Option[ActionExecutionId] = None,
status: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionExecutionStatus
] = None,
summary: Option[ExecutionSummary] = None,
lastStatusChange: Option[Timestamp] = None,
token: Option[ActionExecutionToken] = None,
lastUpdatedBy: Option[LastUpdatedBy] = None,
externalExecutionId: Option[ExecutionId] = None,
externalExecutionUrl: Option[Url] = None,
percentComplete: Option[Percentage] = None,
errorDetails: Option[
io.github.vigoo.zioaws.codepipeline.model.ErrorDetails
] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.codepipeline.model.ActionExecution = {
import ActionExecution.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.codepipeline.model.ActionExecution
.builder()
.optionallyWith(actionExecutionId.map(value => value: java.lang.String))(
_.actionExecutionId
)
.optionallyWith(status.map(value => value.unwrap))(_.status)
.optionallyWith(summary.map(value => value: java.lang.String))(_.summary)
.optionallyWith(lastStatusChange.map(value => value: Instant))(
_.lastStatusChange
)
.optionallyWith(token.map(value => value: java.lang.String))(_.token)
.optionallyWith(lastUpdatedBy.map(value => value: java.lang.String))(
_.lastUpdatedBy
)
.optionallyWith(
externalExecutionId.map(value => value: java.lang.String)
)(_.externalExecutionId)
.optionallyWith(
externalExecutionUrl.map(value => value: java.lang.String)
)(_.externalExecutionUrl)
.optionallyWith(percentComplete.map(value => value: Integer))(
_.percentComplete
)
.optionallyWith(errorDetails.map(value => value.buildAwsValue()))(
_.errorDetails
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.codepipeline.model.ActionExecution.ReadOnly =
io.github.vigoo.zioaws.codepipeline.model.ActionExecution
.wrap(buildAwsValue())
}
object ActionExecution {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.codepipeline.model.ActionExecution
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.codepipeline.model.ActionExecution =
io.github.vigoo.zioaws.codepipeline.model.ActionExecution(
actionExecutionIdValue.map(value => value),
statusValue.map(value => value),
summaryValue.map(value => value),
lastStatusChangeValue.map(value => value),
tokenValue.map(value => value),
lastUpdatedByValue.map(value => value),
externalExecutionIdValue.map(value => value),
externalExecutionUrlValue.map(value => value),
percentCompleteValue.map(value => value),
errorDetailsValue.map(value => value.editable)
)
def actionExecutionIdValue: Option[ActionExecutionId]
def statusValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionExecutionStatus
]
def summaryValue: Option[ExecutionSummary]
def lastStatusChangeValue: Option[Timestamp]
def tokenValue: Option[ActionExecutionToken]
def lastUpdatedByValue: Option[LastUpdatedBy]
def externalExecutionIdValue: Option[ExecutionId]
def externalExecutionUrlValue: Option[Url]
def percentCompleteValue: Option[Percentage]
def errorDetailsValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ErrorDetails.ReadOnly
]
def actionExecutionId: ZIO[Any, AwsError, ActionExecutionId] =
AwsError.unwrapOptionField("actionExecutionId", actionExecutionIdValue)
def status: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.codepipeline.model.ActionExecutionStatus
] = AwsError.unwrapOptionField("status", statusValue)
def summary: ZIO[Any, AwsError, ExecutionSummary] =
AwsError.unwrapOptionField("summary", summaryValue)
def lastStatusChange: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("lastStatusChange", lastStatusChangeValue)
def token: ZIO[Any, AwsError, ActionExecutionToken] =
AwsError.unwrapOptionField("token", tokenValue)
def lastUpdatedBy: ZIO[Any, AwsError, LastUpdatedBy] =
AwsError.unwrapOptionField("lastUpdatedBy", lastUpdatedByValue)
def externalExecutionId: ZIO[Any, AwsError, ExecutionId] = AwsError
.unwrapOptionField("externalExecutionId", externalExecutionIdValue)
def externalExecutionUrl: ZIO[Any, AwsError, Url] = AwsError
.unwrapOptionField("externalExecutionUrl", externalExecutionUrlValue)
def percentComplete: ZIO[Any, AwsError, Percentage] =
AwsError.unwrapOptionField("percentComplete", percentCompleteValue)
def errorDetails: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.codepipeline.model.ErrorDetails.ReadOnly
] = AwsError.unwrapOptionField("errorDetails", errorDetailsValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.codepipeline.model.ActionExecution
) extends io.github.vigoo.zioaws.codepipeline.model.ActionExecution.ReadOnly {
override def actionExecutionIdValue: Option[ActionExecutionId] = scala
.Option(impl.actionExecutionId())
.map(value => value: ActionExecutionId)
override def statusValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionExecutionStatus
] = scala
.Option(impl.status())
.map(value =>
io.github.vigoo.zioaws.codepipeline.model.ActionExecutionStatus
.wrap(value)
)
override def summaryValue: Option[ExecutionSummary] =
scala.Option(impl.summary()).map(value => value: ExecutionSummary)
override def lastStatusChangeValue: Option[Timestamp] =
scala.Option(impl.lastStatusChange()).map(value => value: Timestamp)
override def tokenValue: Option[ActionExecutionToken] =
scala.Option(impl.token()).map(value => value: ActionExecutionToken)
override def lastUpdatedByValue: Option[LastUpdatedBy] =
scala.Option(impl.lastUpdatedBy()).map(value => value: LastUpdatedBy)
override def externalExecutionIdValue: Option[ExecutionId] =
scala.Option(impl.externalExecutionId()).map(value => value: ExecutionId)
override def externalExecutionUrlValue: Option[Url] =
scala.Option(impl.externalExecutionUrl()).map(value => value: Url)
override def percentCompleteValue: Option[Percentage] =
scala.Option(impl.percentComplete()).map(value => value: Percentage)
override def errorDetailsValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ErrorDetails.ReadOnly
] = scala
.Option(impl.errorDetails())
.map(value =>
io.github.vigoo.zioaws.codepipeline.model.ErrorDetails.wrap(value)
)
}
def wrap(
impl: software.amazon.awssdk.services.codepipeline.model.ActionExecution
): io.github.vigoo.zioaws.codepipeline.model.ActionExecution.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy