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