
io.github.vigoo.zioaws.codepipeline.model.PipelineContext.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.codepipeline.model
import zio.ZIO
import io.github.vigoo.zioaws.codepipeline.model.primitives.{
PipelineExecutionId,
PipelineArn,
PipelineName
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class PipelineContext(
pipelineName: Option[PipelineName] = None,
stage: Option[io.github.vigoo.zioaws.codepipeline.model.StageContext] =
None,
action: Option[io.github.vigoo.zioaws.codepipeline.model.ActionContext] =
None,
pipelineArn: Option[PipelineArn] = None,
pipelineExecutionId: Option[PipelineExecutionId] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.codepipeline.model.PipelineContext = {
import PipelineContext.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.codepipeline.model.PipelineContext
.builder()
.optionallyWith(pipelineName.map(value => value: java.lang.String))(
_.pipelineName
)
.optionallyWith(stage.map(value => value.buildAwsValue()))(_.stage)
.optionallyWith(action.map(value => value.buildAwsValue()))(_.action)
.optionallyWith(pipelineArn.map(value => value: java.lang.String))(
_.pipelineArn
)
.optionallyWith(
pipelineExecutionId.map(value => value: java.lang.String)
)(_.pipelineExecutionId)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.codepipeline.model.PipelineContext.ReadOnly =
io.github.vigoo.zioaws.codepipeline.model.PipelineContext
.wrap(buildAwsValue())
}
object PipelineContext {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.codepipeline.model.PipelineContext
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.codepipeline.model.PipelineContext =
io.github.vigoo.zioaws.codepipeline.model.PipelineContext(
pipelineNameValue.map(value => value),
stageValue.map(value => value.editable),
actionValue.map(value => value.editable),
pipelineArnValue.map(value => value),
pipelineExecutionIdValue.map(value => value)
)
def pipelineNameValue: Option[PipelineName]
def stageValue: Option[
io.github.vigoo.zioaws.codepipeline.model.StageContext.ReadOnly
]
def actionValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionContext.ReadOnly
]
def pipelineArnValue: Option[PipelineArn]
def pipelineExecutionIdValue: Option[PipelineExecutionId]
def pipelineName: ZIO[Any, AwsError, PipelineName] =
AwsError.unwrapOptionField("pipelineName", pipelineNameValue)
def stage: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.codepipeline.model.StageContext.ReadOnly
] = AwsError.unwrapOptionField("stage", stageValue)
def action: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.codepipeline.model.ActionContext.ReadOnly
] = AwsError.unwrapOptionField("action", actionValue)
def pipelineArn: ZIO[Any, AwsError, PipelineArn] =
AwsError.unwrapOptionField("pipelineArn", pipelineArnValue)
def pipelineExecutionId: ZIO[Any, AwsError, PipelineExecutionId] = AwsError
.unwrapOptionField("pipelineExecutionId", pipelineExecutionIdValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.codepipeline.model.PipelineContext
) extends io.github.vigoo.zioaws.codepipeline.model.PipelineContext.ReadOnly {
override def pipelineNameValue: Option[PipelineName] =
scala.Option(impl.pipelineName()).map(value => value: PipelineName)
override def stageValue: Option[
io.github.vigoo.zioaws.codepipeline.model.StageContext.ReadOnly
] = scala
.Option(impl.stage())
.map(value =>
io.github.vigoo.zioaws.codepipeline.model.StageContext.wrap(value)
)
override def actionValue: Option[
io.github.vigoo.zioaws.codepipeline.model.ActionContext.ReadOnly
] = scala
.Option(impl.action())
.map(value =>
io.github.vigoo.zioaws.codepipeline.model.ActionContext.wrap(value)
)
override def pipelineArnValue: Option[PipelineArn] =
scala.Option(impl.pipelineArn()).map(value => value: PipelineArn)
override def pipelineExecutionIdValue: Option[PipelineExecutionId] = scala
.Option(impl.pipelineExecutionId())
.map(value => value: PipelineExecutionId)
}
def wrap(
impl: software.amazon.awssdk.services.codepipeline.model.PipelineContext
): io.github.vigoo.zioaws.codepipeline.model.PipelineContext.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy