
io.github.vigoo.zioaws.codepipeline.model.ActionState.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.codepipeline.model
import zio.ZIO
import io.github.vigoo.zioaws.codepipeline.model.primitives.{Url, ActionName}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class ActionState(
actionName: Option[ActionName] = None,
currentRevision: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionRevision
] = None,
latestExecution: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionExecution
] = None,
entityUrl: Option[Url] = None,
revisionUrl: Option[Url] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.codepipeline.model.ActionState = {
import ActionState.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.codepipeline.model.ActionState
.builder()
.optionallyWith(actionName.map(value => value: java.lang.String))(
_.actionName
)
.optionallyWith(currentRevision.map(value => value.buildAwsValue()))(
_.currentRevision
)
.optionallyWith(latestExecution.map(value => value.buildAwsValue()))(
_.latestExecution
)
.optionallyWith(entityUrl.map(value => value: java.lang.String))(
_.entityUrl
)
.optionallyWith(revisionUrl.map(value => value: java.lang.String))(
_.revisionUrl
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.codepipeline.model.ActionState.ReadOnly =
io.github.vigoo.zioaws.codepipeline.model.ActionState.wrap(buildAwsValue())
}
object ActionState {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.codepipeline.model.ActionState
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.codepipeline.model.ActionState =
io.github.vigoo.zioaws.codepipeline.model.ActionState(
actionNameValue.map(value => value),
currentRevisionValue.map(value => value.editable),
latestExecutionValue.map(value => value.editable),
entityUrlValue.map(value => value),
revisionUrlValue.map(value => value)
)
def actionNameValue: Option[ActionName]
def currentRevisionValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionRevision.ReadOnly
]
def latestExecutionValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionExecution.ReadOnly
]
def entityUrlValue: Option[Url]
def revisionUrlValue: Option[Url]
def actionName: ZIO[Any, AwsError, ActionName] =
AwsError.unwrapOptionField("actionName", actionNameValue)
def currentRevision: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.codepipeline.model.ActionRevision.ReadOnly
] = AwsError.unwrapOptionField("currentRevision", currentRevisionValue)
def latestExecution: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.codepipeline.model.ActionExecution.ReadOnly
] = AwsError.unwrapOptionField("latestExecution", latestExecutionValue)
def entityUrl: ZIO[Any, AwsError, Url] =
AwsError.unwrapOptionField("entityUrl", entityUrlValue)
def revisionUrl: ZIO[Any, AwsError, Url] =
AwsError.unwrapOptionField("revisionUrl", revisionUrlValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.codepipeline.model.ActionState
) extends io.github.vigoo.zioaws.codepipeline.model.ActionState.ReadOnly {
override def actionNameValue: Option[ActionName] =
scala.Option(impl.actionName()).map(value => value: ActionName)
override def currentRevisionValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionRevision.ReadOnly
] = scala
.Option(impl.currentRevision())
.map(value =>
io.github.vigoo.zioaws.codepipeline.model.ActionRevision.wrap(value)
)
override def latestExecutionValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionExecution.ReadOnly
] = scala
.Option(impl.latestExecution())
.map(value =>
io.github.vigoo.zioaws.codepipeline.model.ActionExecution.wrap(value)
)
override def entityUrlValue: Option[Url] =
scala.Option(impl.entityUrl()).map(value => value: Url)
override def revisionUrlValue: Option[Url] =
scala.Option(impl.revisionUrl()).map(value => value: Url)
}
def wrap(
impl: software.amazon.awssdk.services.codepipeline.model.ActionState
): io.github.vigoo.zioaws.codepipeline.model.ActionState.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy