
io.github.vigoo.zioaws.ecrpublic.model.Layer.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.ecrpublic.model
import io.github.vigoo.zioaws.ecrpublic.model.primitives.{
MediaType,
LayerSizeInBytes,
LayerDigest
}
import zio.ZIO
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class Layer(
layerDigest: Option[LayerDigest] = None,
layerAvailability: Option[
io.github.vigoo.zioaws.ecrpublic.model.LayerAvailability
] = None,
layerSize: Option[LayerSizeInBytes] = None,
mediaType: Option[MediaType] = None
) {
def buildAwsValue(): software.amazon.awssdk.services.ecrpublic.model.Layer = {
import Layer.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.ecrpublic.model.Layer
.builder()
.optionallyWith(layerDigest.map(value => value: java.lang.String))(
_.layerDigest
)
.optionallyWith(layerAvailability.map(value => value.unwrap))(
_.layerAvailability
)
.optionallyWith(layerSize.map(value => value: java.lang.Long))(
_.layerSize
)
.optionallyWith(mediaType.map(value => value: java.lang.String))(
_.mediaType
)
.build()
}
def asReadOnly: io.github.vigoo.zioaws.ecrpublic.model.Layer.ReadOnly =
io.github.vigoo.zioaws.ecrpublic.model.Layer.wrap(buildAwsValue())
}
object Layer {
private lazy val zioAwsBuilderHelper
: BuilderHelper[software.amazon.awssdk.services.ecrpublic.model.Layer] =
BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.ecrpublic.model.Layer =
io.github.vigoo.zioaws.ecrpublic.model.Layer(
layerDigestValue.map(value => value),
layerAvailabilityValue.map(value => value),
layerSizeValue.map(value => value),
mediaTypeValue.map(value => value)
)
def layerDigestValue: Option[LayerDigest]
def layerAvailabilityValue
: Option[io.github.vigoo.zioaws.ecrpublic.model.LayerAvailability]
def layerSizeValue: Option[LayerSizeInBytes]
def mediaTypeValue: Option[MediaType]
def layerDigest: ZIO[Any, AwsError, LayerDigest] =
AwsError.unwrapOptionField("layerDigest", layerDigestValue)
def layerAvailability: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.ecrpublic.model.LayerAvailability
] = AwsError.unwrapOptionField("layerAvailability", layerAvailabilityValue)
def layerSize: ZIO[Any, AwsError, LayerSizeInBytes] =
AwsError.unwrapOptionField("layerSize", layerSizeValue)
def mediaType: ZIO[Any, AwsError, MediaType] =
AwsError.unwrapOptionField("mediaType", mediaTypeValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.ecrpublic.model.Layer
) extends io.github.vigoo.zioaws.ecrpublic.model.Layer.ReadOnly {
override def layerDigestValue: Option[LayerDigest] =
scala.Option(impl.layerDigest()).map(value => value: LayerDigest)
override def layerAvailabilityValue
: Option[io.github.vigoo.zioaws.ecrpublic.model.LayerAvailability] =
scala
.Option(impl.layerAvailability())
.map(value =>
io.github.vigoo.zioaws.ecrpublic.model.LayerAvailability.wrap(value)
)
override def layerSizeValue: Option[LayerSizeInBytes] =
scala.Option(impl.layerSize()).map(value => value: LayerSizeInBytes)
override def mediaTypeValue: Option[MediaType] =
scala.Option(impl.mediaType()).map(value => value: MediaType)
}
def wrap(
impl: software.amazon.awssdk.services.ecrpublic.model.Layer
): io.github.vigoo.zioaws.ecrpublic.model.Layer.ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy