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

io.github.vigoo.zioaws.route53resolver.model.UpdateFirewallDomainsRequest.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.route53resolver.model
import zio.ZIO
import io.github.vigoo.zioaws.route53resolver.model.primitives.{
  FirewallDomainName,
  ResourceId
}
import io.github.vigoo.zioaws.core.BuilderHelper
import scala.jdk.CollectionConverters._
final case class UpdateFirewallDomainsRequest(
    firewallDomainListId: ResourceId,
    operation: io.github.vigoo.zioaws.route53resolver.model.FirewallDomainUpdateOperation,
    domains: Iterable[FirewallDomainName]
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.route53resolver.model.UpdateFirewallDomainsRequest = {
    import UpdateFirewallDomainsRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.route53resolver.model.UpdateFirewallDomainsRequest
      .builder()
      .firewallDomainListId(firewallDomainListId: java.lang.String)
      .operation(operation.unwrap)
      .domains(domains.map { item =>
        item: java.lang.String
      }.asJavaCollection)
      .build()
  }
  def asReadOnly
      : io.github.vigoo.zioaws.route53resolver.model.UpdateFirewallDomainsRequest.ReadOnly =
    io.github.vigoo.zioaws.route53resolver.model.UpdateFirewallDomainsRequest
      .wrap(buildAwsValue())
}
object UpdateFirewallDomainsRequest {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.route53resolver.model.UpdateFirewallDomainsRequest
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable
        : io.github.vigoo.zioaws.route53resolver.model.UpdateFirewallDomainsRequest =
      io.github.vigoo.zioaws.route53resolver.model.UpdateFirewallDomainsRequest(
        firewallDomainListIdValue,
        operationValue,
        domainsValue
      )
    def firewallDomainListIdValue: ResourceId
    def operationValue
        : io.github.vigoo.zioaws.route53resolver.model.FirewallDomainUpdateOperation
    def domainsValue: List[FirewallDomainName]
    def firewallDomainListId: ZIO[Any, Nothing, ResourceId] =
      ZIO.succeed(firewallDomainListIdValue)
    def operation: ZIO[
      Any,
      Nothing,
      io.github.vigoo.zioaws.route53resolver.model.FirewallDomainUpdateOperation
    ] = ZIO.succeed(operationValue)
    def domains: ZIO[Any, Nothing, List[FirewallDomainName]] =
      ZIO.succeed(domainsValue)
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.route53resolver.model.UpdateFirewallDomainsRequest
  ) extends io.github.vigoo.zioaws.route53resolver.model.UpdateFirewallDomainsRequest.ReadOnly {
    override def firewallDomainListIdValue: ResourceId =
      impl.firewallDomainListId(): ResourceId
    override def operationValue
        : io.github.vigoo.zioaws.route53resolver.model.FirewallDomainUpdateOperation =
      io.github.vigoo.zioaws.route53resolver.model.FirewallDomainUpdateOperation
        .wrap(impl.operation())
    override def domainsValue: List[FirewallDomainName] = impl
      .domains()
      .asScala
      .map { item =>
        item: FirewallDomainName
      }
      .toList
  }
  def wrap(
      impl: software.amazon.awssdk.services.route53resolver.model.UpdateFirewallDomainsRequest
  ): io.github.vigoo.zioaws.route53resolver.model.UpdateFirewallDomainsRequest.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy