
io.github.vigoo.zioaws.codepipeline.model.CurrentRevision.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.codepipeline.model
import zio.ZIO
import io.github.vigoo.zioaws.codepipeline.model.primitives.{
RevisionSummary,
Time,
RevisionChangeIdentifier,
Revision
}
import java.time.Instant
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class CurrentRevision(
revision: Revision,
changeIdentifier: RevisionChangeIdentifier,
created: Option[Time] = None,
revisionSummary: Option[RevisionSummary] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.codepipeline.model.CurrentRevision = {
import CurrentRevision.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.codepipeline.model.CurrentRevision
.builder()
.revision(revision: java.lang.String)
.changeIdentifier(changeIdentifier: java.lang.String)
.optionallyWith(created.map(value => value: Instant))(_.created)
.optionallyWith(revisionSummary.map(value => value: java.lang.String))(
_.revisionSummary
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.codepipeline.model.CurrentRevision.ReadOnly =
io.github.vigoo.zioaws.codepipeline.model.CurrentRevision
.wrap(buildAwsValue())
}
object CurrentRevision {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.codepipeline.model.CurrentRevision
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.codepipeline.model.CurrentRevision =
io.github.vigoo.zioaws.codepipeline.model.CurrentRevision(
revisionValue,
changeIdentifierValue,
createdValue.map(value => value),
revisionSummaryValue.map(value => value)
)
def revisionValue: Revision
def changeIdentifierValue: RevisionChangeIdentifier
def createdValue: Option[Time]
def revisionSummaryValue: Option[RevisionSummary]
def revision: ZIO[Any, Nothing, Revision] = ZIO.succeed(revisionValue)
def changeIdentifier: ZIO[Any, Nothing, RevisionChangeIdentifier] =
ZIO.succeed(changeIdentifierValue)
def created: ZIO[Any, AwsError, Time] =
AwsError.unwrapOptionField("created", createdValue)
def revisionSummary: ZIO[Any, AwsError, RevisionSummary] =
AwsError.unwrapOptionField("revisionSummary", revisionSummaryValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.codepipeline.model.CurrentRevision
) extends io.github.vigoo.zioaws.codepipeline.model.CurrentRevision.ReadOnly {
override def revisionValue: Revision = impl.revision(): Revision
override def changeIdentifierValue: RevisionChangeIdentifier =
impl.changeIdentifier(): RevisionChangeIdentifier
override def createdValue: Option[Time] =
scala.Option(impl.created()).map(value => value: Time)
override def revisionSummaryValue: Option[RevisionSummary] =
scala.Option(impl.revisionSummary()).map(value => value: RevisionSummary)
}
def wrap(
impl: software.amazon.awssdk.services.codepipeline.model.CurrentRevision
): io.github.vigoo.zioaws.codepipeline.model.CurrentRevision.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy