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

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

package io.github.vigoo.zioaws.route53resolver.model
import zio.ZIO
import io.github.vigoo.zioaws.route53resolver.model.primitives.{
  Rfc3339TimeString,
  ResolverQueryLogConfigAssociationErrorMessage,
  ResourceId
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class ResolverQueryLogConfigAssociation(
    id: Option[ResourceId] = None,
    resolverQueryLogConfigId: Option[ResourceId] = None,
    resourceId: Option[ResourceId] = None,
    status: Option[
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationStatus
    ] = None,
    error: Option[
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationError
    ] = None,
    errorMessage: Option[ResolverQueryLogConfigAssociationErrorMessage] = None,
    creationTime: Option[Rfc3339TimeString] = None
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.route53resolver.model.ResolverQueryLogConfigAssociation = {
    import ResolverQueryLogConfigAssociation.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.route53resolver.model.ResolverQueryLogConfigAssociation
      .builder()
      .optionallyWith(id.map(value => value: java.lang.String))(_.id)
      .optionallyWith(
        resolverQueryLogConfigId.map(value => value: java.lang.String)
      )(_.resolverQueryLogConfigId)
      .optionallyWith(resourceId.map(value => value: java.lang.String))(
        _.resourceId
      )
      .optionallyWith(status.map(value => value.unwrap))(_.status)
      .optionallyWith(error.map(value => value.unwrap))(_.error)
      .optionallyWith(errorMessage.map(value => value: java.lang.String))(
        _.errorMessage
      )
      .optionallyWith(creationTime.map(value => value: java.lang.String))(
        _.creationTime
      )
      .build()
  }
  def asReadOnly
      : io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociation.ReadOnly =
    io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociation
      .wrap(buildAwsValue())
}
object ResolverQueryLogConfigAssociation {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.route53resolver.model.ResolverQueryLogConfigAssociation
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable
        : io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociation =
      io.github.vigoo.zioaws.route53resolver.model
        .ResolverQueryLogConfigAssociation(
          idValue.map(value => value),
          resolverQueryLogConfigIdValue.map(value => value),
          resourceIdValue.map(value => value),
          statusValue.map(value => value),
          errorValue.map(value => value),
          errorMessageValue.map(value => value),
          creationTimeValue.map(value => value)
        )
    def idValue: Option[ResourceId]
    def resolverQueryLogConfigIdValue: Option[ResourceId]
    def resourceIdValue: Option[ResourceId]
    def statusValue: Option[
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationStatus
    ]
    def errorValue: Option[
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationError
    ]
    def errorMessageValue: Option[ResolverQueryLogConfigAssociationErrorMessage]
    def creationTimeValue: Option[Rfc3339TimeString]
    def id: ZIO[Any, AwsError, ResourceId] =
      AwsError.unwrapOptionField("id", idValue)
    def resolverQueryLogConfigId: ZIO[Any, AwsError, ResourceId] =
      AwsError.unwrapOptionField(
        "resolverQueryLogConfigId",
        resolverQueryLogConfigIdValue
      )
    def resourceId: ZIO[Any, AwsError, ResourceId] =
      AwsError.unwrapOptionField("resourceId", resourceIdValue)
    def status: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationStatus
    ] = AwsError.unwrapOptionField("status", statusValue)
    def error: ZIO[
      Any,
      AwsError,
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationError
    ] = AwsError.unwrapOptionField("error", errorValue)
    def errorMessage
        : ZIO[Any, AwsError, ResolverQueryLogConfigAssociationErrorMessage] =
      AwsError.unwrapOptionField("errorMessage", errorMessageValue)
    def creationTime: ZIO[Any, AwsError, Rfc3339TimeString] =
      AwsError.unwrapOptionField("creationTime", creationTimeValue)
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.route53resolver.model.ResolverQueryLogConfigAssociation
  ) extends io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociation.ReadOnly {
    override def idValue: Option[ResourceId] =
      scala.Option(impl.id()).map(value => value: ResourceId)
    override def resolverQueryLogConfigIdValue: Option[ResourceId] = scala
      .Option(impl.resolverQueryLogConfigId())
      .map(value => value: ResourceId)
    override def resourceIdValue: Option[ResourceId] =
      scala.Option(impl.resourceId()).map(value => value: ResourceId)
    override def statusValue: Option[
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationStatus
    ] = scala
      .Option(impl.status())
      .map(value =>
        io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationStatus
          .wrap(value)
      )
    override def errorValue: Option[
      io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationError
    ] = scala
      .Option(impl.error())
      .map(value =>
        io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociationError
          .wrap(value)
      )
    override def errorMessageValue
        : Option[ResolverQueryLogConfigAssociationErrorMessage] = scala
      .Option(impl.errorMessage())
      .map(value => value: ResolverQueryLogConfigAssociationErrorMessage)
    override def creationTimeValue: Option[Rfc3339TimeString] =
      scala.Option(impl.creationTime()).map(value => value: Rfc3339TimeString)
  }
  def wrap(
      impl: software.amazon.awssdk.services.route53resolver.model.ResolverQueryLogConfigAssociation
  ): io.github.vigoo.zioaws.route53resolver.model.ResolverQueryLogConfigAssociation.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy