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

io.github.vigoo.zioaws.lambda.model.AddLayerVersionPermissionRequest.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.lambda.model
import scala.jdk.CollectionConverters.*
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
final case class AddLayerVersionPermissionRequest(layerName: primitives.LayerName, versionNumber: primitives.LayerVersionNumber, statementId: primitives.StatementId, action: primitives.LayerPermissionAllowedAction, principal: primitives.LayerPermissionAllowedPrincipal, organizationId: scala.Option[primitives.OrganizationId] = None, revisionId: scala.Option[String] = None) {
  def buildAwsValue(): software.amazon.awssdk.services.lambda.model.AddLayerVersionPermissionRequest = {
    import AddLayerVersionPermissionRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.lambda.model.AddLayerVersionPermissionRequest.builder().layerName(layerName: java.lang.String).versionNumber(versionNumber: java.lang.Long).statementId(statementId: java.lang.String).action(action: java.lang.String).principal(principal: java.lang.String).optionallyWith(organizationId.map(value => value: java.lang.String))(_.organizationId).optionallyWith(revisionId.map(value => value: java.lang.String))(_.revisionId).build()
  }
  def asReadOnly: AddLayerVersionPermissionRequest.ReadOnly = AddLayerVersionPermissionRequest.wrap(buildAwsValue())
}
object AddLayerVersionPermissionRequest {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.AddLayerVersionPermissionRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: AddLayerVersionPermissionRequest = AddLayerVersionPermissionRequest(layerNameValue, versionNumberValue, statementIdValue, actionValue, principalValue, organizationIdValue.map(value => value), revisionIdValue.map(value => value))
    def layerNameValue: primitives.LayerName
    def versionNumberValue: primitives.LayerVersionNumber
    def statementIdValue: primitives.StatementId
    def actionValue: primitives.LayerPermissionAllowedAction
    def principalValue: primitives.LayerPermissionAllowedPrincipal
    def organizationIdValue: scala.Option[primitives.OrganizationId]
    def revisionIdValue: scala.Option[String]
    def layerName: ZIO[Any, Nothing, primitives.LayerName] = ZIO.succeed(layerNameValue)
    def versionNumber: ZIO[Any, Nothing, primitives.LayerVersionNumber] = ZIO.succeed(versionNumberValue)
    def statementId: ZIO[Any, Nothing, primitives.StatementId] = ZIO.succeed(statementIdValue)
    def action: ZIO[Any, Nothing, primitives.LayerPermissionAllowedAction] = ZIO.succeed(actionValue)
    def principal: ZIO[Any, Nothing, primitives.LayerPermissionAllowedPrincipal] = ZIO.succeed(principalValue)
    def organizationId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.OrganizationId] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("organizationId", organizationIdValue)
    def revisionId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, String] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("revisionId", revisionIdValue)
  }
  private class Wrapper(impl: software.amazon.awssdk.services.lambda.model.AddLayerVersionPermissionRequest) extends AddLayerVersionPermissionRequest.ReadOnly {
    override def layerNameValue: primitives.LayerName = impl.layerName(): primitives.LayerName
    override def versionNumberValue: primitives.LayerVersionNumber = impl.versionNumber(): primitives.LayerVersionNumber
    override def statementIdValue: primitives.StatementId = impl.statementId(): primitives.StatementId
    override def actionValue: primitives.LayerPermissionAllowedAction = impl.action(): primitives.LayerPermissionAllowedAction
    override def principalValue: primitives.LayerPermissionAllowedPrincipal = impl.principal(): primitives.LayerPermissionAllowedPrincipal
    override def organizationIdValue: scala.Option[primitives.OrganizationId] = scala.Option(impl.organizationId()).map(value => value: primitives.OrganizationId)
    override def revisionIdValue: scala.Option[String] = scala.Option(impl.revisionId()).map(value => value: String)
  }
  def wrap(impl: software.amazon.awssdk.services.lambda.model.AddLayerVersionPermissionRequest): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy