All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.vigoo.zioaws.ecrpublic.model.InitiateLayerUploadRequest.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.ecrpublic.model
import io.github.vigoo.zioaws.ecrpublic.model.primitives.{
  RepositoryName,
  RegistryIdOrAlias
}
import zio.ZIO
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class InitiateLayerUploadRequest(
    registryId: Option[RegistryIdOrAlias] = None,
    repositoryName: RepositoryName
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.ecrpublic.model.InitiateLayerUploadRequest = {
    import InitiateLayerUploadRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.ecrpublic.model.InitiateLayerUploadRequest
      .builder()
      .optionallyWith(registryId.map(value => value: java.lang.String))(
        _.registryId
      )
      .repositoryName(repositoryName: java.lang.String)
      .build()
  }
  def asReadOnly
      : io.github.vigoo.zioaws.ecrpublic.model.InitiateLayerUploadRequest.ReadOnly =
    io.github.vigoo.zioaws.ecrpublic.model.InitiateLayerUploadRequest
      .wrap(buildAwsValue())
}
object InitiateLayerUploadRequest {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.ecrpublic.model.InitiateLayerUploadRequest
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable
        : io.github.vigoo.zioaws.ecrpublic.model.InitiateLayerUploadRequest =
      io.github.vigoo.zioaws.ecrpublic.model.InitiateLayerUploadRequest(
        registryIdValue.map(value => value),
        repositoryNameValue
      )
    def registryIdValue: Option[RegistryIdOrAlias]
    def repositoryNameValue: RepositoryName
    def registryId: ZIO[Any, AwsError, RegistryIdOrAlias] =
      AwsError.unwrapOptionField("registryId", registryIdValue)
    def repositoryName: ZIO[Any, Nothing, RepositoryName] =
      ZIO.succeed(repositoryNameValue)
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.ecrpublic.model.InitiateLayerUploadRequest
  ) extends io.github.vigoo.zioaws.ecrpublic.model.InitiateLayerUploadRequest.ReadOnly {
    override def registryIdValue: Option[RegistryIdOrAlias] =
      scala.Option(impl.registryId()).map(value => value: RegistryIdOrAlias)
    override def repositoryNameValue: RepositoryName =
      impl.repositoryName(): RepositoryName
  }
  def wrap(
      impl: software.amazon.awssdk.services.ecrpublic.model.InitiateLayerUploadRequest
  ): io.github.vigoo.zioaws.ecrpublic.model.InitiateLayerUploadRequest.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy