
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