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

zio.aws.licensemanager.model.CreateGrantRequest.scala Maven / Gradle / Ivy

There is a newer version: 7.28.29.14
Show newest version
package zio.aws.licensemanager.model
import zio.ZIO
import zio.aws.core.BuilderHelper
import zio.aws.licensemanager.model.primitives.{Arn, ClientToken}
import scala.jdk.CollectionConverters.*
final case class CreateGrantRequest(
    clientToken: ClientToken,
    grantName: String,
    licenseArn: Arn,
    principals: Iterable[Arn],
    homeRegion: String,
    allowedOperations: Iterable[zio.aws.licensemanager.model.AllowedOperation]
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.licensemanager.model.CreateGrantRequest = {
    import CreateGrantRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.licensemanager.model.CreateGrantRequest
      .builder()
      .clientToken(ClientToken.unwrap(clientToken): java.lang.String)
      .grantName(grantName: java.lang.String)
      .licenseArn(Arn.unwrap(licenseArn): java.lang.String)
      .principals(principals.map { item =>
        Arn.unwrap(item): java.lang.String
      }.asJavaCollection)
      .homeRegion(homeRegion: java.lang.String)
      .allowedOperationsWithStrings(allowedOperations.map { item =>
        item.unwrap.toString
      }.asJavaCollection)
      .build()
  }
  def asReadOnly: zio.aws.licensemanager.model.CreateGrantRequest.ReadOnly =
    zio.aws.licensemanager.model.CreateGrantRequest.wrap(buildAwsValue())
}
object CreateGrantRequest {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.licensemanager.model.CreateGrantRequest
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.licensemanager.model.CreateGrantRequest =
      zio.aws.licensemanager.model.CreateGrantRequest(
        clientToken,
        grantName,
        licenseArn,
        principals,
        homeRegion,
        allowedOperations
      )
    def clientToken: ClientToken
    def grantName: String
    def licenseArn: Arn
    def principals: List[Arn]
    def homeRegion: String
    def allowedOperations: List[zio.aws.licensemanager.model.AllowedOperation]
    def getClientToken: ZIO[Any, Nothing, ClientToken] =
      ZIO.succeed(clientToken)
    def getGrantName: ZIO[Any, Nothing, String] = ZIO.succeed(grantName)
    def getLicenseArn: ZIO[Any, Nothing, Arn] = ZIO.succeed(licenseArn)
    def getPrincipals: ZIO[Any, Nothing, List[Arn]] = ZIO.succeed(principals)
    def getHomeRegion: ZIO[Any, Nothing, String] = ZIO.succeed(homeRegion)
    def getAllowedOperations: ZIO[Any, Nothing, List[
      zio.aws.licensemanager.model.AllowedOperation
    ]] = ZIO.succeed(allowedOperations)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.licensemanager.model.CreateGrantRequest
  ) extends zio.aws.licensemanager.model.CreateGrantRequest.ReadOnly {
    override val clientToken: ClientToken =
      zio.aws.licensemanager.model.primitives.ClientToken(impl.clientToken())
    override val grantName: String = impl.grantName(): String
    override val licenseArn: Arn =
      zio.aws.licensemanager.model.primitives.Arn(impl.licenseArn())
    override val principals: List[Arn] = impl
      .principals()
      .asScala
      .map { item =>
        zio.aws.licensemanager.model.primitives.Arn(item)
      }
      .toList
    override val homeRegion: String = impl.homeRegion(): String
    override val allowedOperations
        : List[zio.aws.licensemanager.model.AllowedOperation] = impl
      .allowedOperations()
      .asScala
      .map { item =>
        zio.aws.licensemanager.model.AllowedOperation.wrap(item)
      }
      .toList
  }
  def wrap(
      impl: software.amazon.awssdk.services.licensemanager.model.CreateGrantRequest
  ): zio.aws.licensemanager.model.CreateGrantRequest.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy