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

io.github.vigoo.zioaws.lambda.model.AddPermissionRequest.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 AddPermissionRequest(functionName: primitives.FunctionName, statementId: primitives.StatementId, action: primitives.Action, principal: primitives.Principal, sourceArn: scala.Option[primitives.Arn] = None, sourceAccount: scala.Option[primitives.SourceOwner] = None, eventSourceToken: scala.Option[primitives.EventSourceToken] = None, qualifier: scala.Option[primitives.Qualifier] = None, revisionId: scala.Option[String] = None) {
  def buildAwsValue(): software.amazon.awssdk.services.lambda.model.AddPermissionRequest = {
    import AddPermissionRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.lambda.model.AddPermissionRequest.builder().functionName(functionName: java.lang.String).statementId(statementId: java.lang.String).action(action: java.lang.String).principal(principal: java.lang.String).optionallyWith(sourceArn.map(value => value: java.lang.String))(_.sourceArn).optionallyWith(sourceAccount.map(value => value: java.lang.String))(_.sourceAccount).optionallyWith(eventSourceToken.map(value => value: java.lang.String))(_.eventSourceToken).optionallyWith(qualifier.map(value => value: java.lang.String))(_.qualifier).optionallyWith(revisionId.map(value => value: java.lang.String))(_.revisionId).build()
  }
  def asReadOnly: AddPermissionRequest.ReadOnly = AddPermissionRequest.wrap(buildAwsValue())
}
object AddPermissionRequest {
  private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.lambda.model.AddPermissionRequest] = io.github.vigoo.zioaws.core.BuilderHelper.apply
  trait ReadOnly {
    def editable: AddPermissionRequest = AddPermissionRequest(functionNameValue, statementIdValue, actionValue, principalValue, sourceArnValue.map(value => value), sourceAccountValue.map(value => value), eventSourceTokenValue.map(value => value), qualifierValue.map(value => value), revisionIdValue.map(value => value))
    def functionNameValue: primitives.FunctionName
    def statementIdValue: primitives.StatementId
    def actionValue: primitives.Action
    def principalValue: primitives.Principal
    def sourceArnValue: scala.Option[primitives.Arn]
    def sourceAccountValue: scala.Option[primitives.SourceOwner]
    def eventSourceTokenValue: scala.Option[primitives.EventSourceToken]
    def qualifierValue: scala.Option[primitives.Qualifier]
    def revisionIdValue: scala.Option[String]
    def functionName: ZIO[Any, Nothing, primitives.FunctionName] = ZIO.succeed(functionNameValue)
    def statementId: ZIO[Any, Nothing, primitives.StatementId] = ZIO.succeed(statementIdValue)
    def action: ZIO[Any, Nothing, primitives.Action] = ZIO.succeed(actionValue)
    def principal: ZIO[Any, Nothing, primitives.Principal] = ZIO.succeed(principalValue)
    def sourceArn: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Arn] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sourceArn", sourceArnValue)
    def sourceAccount: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.SourceOwner] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sourceAccount", sourceAccountValue)
    def eventSourceToken: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.EventSourceToken] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("eventSourceToken", eventSourceTokenValue)
    def qualifier: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.Qualifier] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("qualifier", qualifierValue)
    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.AddPermissionRequest) extends AddPermissionRequest.ReadOnly {
    override def functionNameValue: primitives.FunctionName = impl.functionName(): primitives.FunctionName
    override def statementIdValue: primitives.StatementId = impl.statementId(): primitives.StatementId
    override def actionValue: primitives.Action = impl.action(): primitives.Action
    override def principalValue: primitives.Principal = impl.principal(): primitives.Principal
    override def sourceArnValue: scala.Option[primitives.Arn] = scala.Option(impl.sourceArn()).map(value => value: primitives.Arn)
    override def sourceAccountValue: scala.Option[primitives.SourceOwner] = scala.Option(impl.sourceAccount()).map(value => value: primitives.SourceOwner)
    override def eventSourceTokenValue: scala.Option[primitives.EventSourceToken] = scala.Option(impl.eventSourceToken()).map(value => value: primitives.EventSourceToken)
    override def qualifierValue: scala.Option[primitives.Qualifier] = scala.Option(impl.qualifier()).map(value => value: primitives.Qualifier)
    override def revisionIdValue: scala.Option[String] = scala.Option(impl.revisionId()).map(value => value: String)
  }
  def wrap(impl: software.amazon.awssdk.services.lambda.model.AddPermissionRequest): ReadOnly = new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy