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

io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest.scala Maven / Gradle / Ivy

package io.github.vigoo.zioaws.elasticbeanstalk.model
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import java.time.Instant
import io.github.vigoo.zioaws.elasticbeanstalk.model.primitives.{
  Token,
  ApplicationName,
  IncludeDeletedBackTo,
  EnvironmentName,
  MaxRecords,
  VersionLabel,
  EnvironmentId,
  IncludeDeleted
}
import zio.ZIO
import java.lang.Integer
import scala.jdk.CollectionConverters._
final case class DescribeEnvironmentsRequest(
    applicationName: Option[ApplicationName] = None,
    versionLabel: Option[VersionLabel] = None,
    environmentIds: Option[Iterable[EnvironmentId]] = None,
    environmentNames: Option[Iterable[EnvironmentName]] = None,
    includeDeleted: Option[IncludeDeleted] = None,
    includedDeletedBackTo: Option[IncludeDeletedBackTo] = None,
    maxRecords: Option[MaxRecords] = None,
    nextToken: Option[Token] = None
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.elasticbeanstalk.model.DescribeEnvironmentsRequest = {
    import DescribeEnvironmentsRequest.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.elasticbeanstalk.model.DescribeEnvironmentsRequest
      .builder()
      .optionallyWith(applicationName.map(value => value: java.lang.String))(
        _.applicationName
      )
      .optionallyWith(versionLabel.map(value => value: java.lang.String))(
        _.versionLabel
      )
      .optionallyWith(
        environmentIds.map(value =>
          value.map { item =>
            item: java.lang.String
          }.asJavaCollection
        )
      )(_.environmentIds)
      .optionallyWith(
        environmentNames.map(value =>
          value.map { item =>
            item: java.lang.String
          }.asJavaCollection
        )
      )(_.environmentNames)
      .optionallyWith(includeDeleted.map(value => value: java.lang.Boolean))(
        _.includeDeleted
      )
      .optionallyWith(includedDeletedBackTo.map(value => value: Instant))(
        _.includedDeletedBackTo
      )
      .optionallyWith(maxRecords.map(value => value: Integer))(_.maxRecords)
      .optionallyWith(nextToken.map(value => value: java.lang.String))(
        _.nextToken
      )
      .build()
  }
  def asReadOnly
      : io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest.ReadOnly =
    io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest
      .wrap(buildAwsValue())
}
object DescribeEnvironmentsRequest {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.elasticbeanstalk.model.DescribeEnvironmentsRequest
  ] = BuilderHelper.apply
  trait ReadOnly {
    def editable
        : io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest =
      io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest(
        applicationNameValue.map(value => value),
        versionLabelValue.map(value => value),
        environmentIdsValue.map(value => value),
        environmentNamesValue.map(value => value),
        includeDeletedValue.map(value => value),
        includedDeletedBackToValue.map(value => value),
        maxRecordsValue.map(value => value),
        nextTokenValue.map(value => value)
      )
    def applicationNameValue: Option[ApplicationName]
    def versionLabelValue: Option[VersionLabel]
    def environmentIdsValue: Option[List[EnvironmentId]]
    def environmentNamesValue: Option[List[EnvironmentName]]
    def includeDeletedValue: Option[IncludeDeleted]
    def includedDeletedBackToValue: Option[IncludeDeletedBackTo]
    def maxRecordsValue: Option[MaxRecords]
    def nextTokenValue: Option[Token]
    def applicationName: ZIO[Any, AwsError, ApplicationName] =
      AwsError.unwrapOptionField("applicationName", applicationNameValue)
    def versionLabel: ZIO[Any, AwsError, VersionLabel] =
      AwsError.unwrapOptionField("versionLabel", versionLabelValue)
    def environmentIds: ZIO[Any, AwsError, List[EnvironmentId]] =
      AwsError.unwrapOptionField("environmentIds", environmentIdsValue)
    def environmentNames: ZIO[Any, AwsError, List[EnvironmentName]] =
      AwsError.unwrapOptionField("environmentNames", environmentNamesValue)
    def includeDeleted: ZIO[Any, AwsError, IncludeDeleted] =
      AwsError.unwrapOptionField("includeDeleted", includeDeletedValue)
    def includedDeletedBackTo: ZIO[Any, AwsError, IncludeDeletedBackTo] =
      AwsError.unwrapOptionField(
        "includedDeletedBackTo",
        includedDeletedBackToValue
      )
    def maxRecords: ZIO[Any, AwsError, MaxRecords] =
      AwsError.unwrapOptionField("maxRecords", maxRecordsValue)
    def nextToken: ZIO[Any, AwsError, Token] =
      AwsError.unwrapOptionField("nextToken", nextTokenValue)
  }
  private class Wrapper(
      impl: software.amazon.awssdk.services.elasticbeanstalk.model.DescribeEnvironmentsRequest
  ) extends io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest.ReadOnly {
    override def applicationNameValue: Option[ApplicationName] =
      scala.Option(impl.applicationName()).map(value => value: ApplicationName)
    override def versionLabelValue: Option[VersionLabel] =
      scala.Option(impl.versionLabel()).map(value => value: VersionLabel)
    override def environmentIdsValue: Option[List[EnvironmentId]] = scala
      .Option(impl.environmentIds())
      .map(value =>
        value.asScala.map { item =>
          item: EnvironmentId
        }.toList
      )
    override def environmentNamesValue: Option[List[EnvironmentName]] = scala
      .Option(impl.environmentNames())
      .map(value =>
        value.asScala.map { item =>
          item: EnvironmentName
        }.toList
      )
    override def includeDeletedValue: Option[IncludeDeleted] =
      scala.Option(impl.includeDeleted()).map(value => value: IncludeDeleted)
    override def includedDeletedBackToValue: Option[IncludeDeletedBackTo] =
      scala
        .Option(impl.includedDeletedBackTo())
        .map(value => value: IncludeDeletedBackTo)
    override def maxRecordsValue: Option[MaxRecords] =
      scala.Option(impl.maxRecords()).map(value => value: MaxRecords)
    override def nextTokenValue: Option[Token] =
      scala.Option(impl.nextToken()).map(value => value: Token)
  }
  def wrap(
      impl: software.amazon.awssdk.services.elasticbeanstalk.model.DescribeEnvironmentsRequest
  ): io.github.vigoo.zioaws.elasticbeanstalk.model.DescribeEnvironmentsRequest.ReadOnly =
    new Wrapper(impl)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy