
io.github.vigoo.zioaws.elasticbeanstalk.model.MaxCountRule.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.elasticbeanstalk.model
import java.lang.Integer
import zio.ZIO
import io.github.vigoo.zioaws.elasticbeanstalk.model.primitives.{
BoxedInt,
BoxedBoolean
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class MaxCountRule(
enabled: BoxedBoolean,
maxCount: Option[BoxedInt] = None,
deleteSourceFromS3: Option[BoxedBoolean] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.elasticbeanstalk.model.MaxCountRule = {
import MaxCountRule.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticbeanstalk.model.MaxCountRule
.builder()
.enabled(enabled: java.lang.Boolean)
.optionallyWith(maxCount.map(value => value: Integer))(_.maxCount)
.optionallyWith(
deleteSourceFromS3.map(value => value: java.lang.Boolean)
)(_.deleteSourceFromS3)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.elasticbeanstalk.model.MaxCountRule.ReadOnly =
io.github.vigoo.zioaws.elasticbeanstalk.model.MaxCountRule
.wrap(buildAwsValue())
}
object MaxCountRule {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.elasticbeanstalk.model.MaxCountRule
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.elasticbeanstalk.model.MaxCountRule =
io.github.vigoo.zioaws.elasticbeanstalk.model.MaxCountRule(
enabledValue,
maxCountValue.map(value => value),
deleteSourceFromS3Value.map(value => value)
)
def enabledValue: BoxedBoolean
def maxCountValue: Option[BoxedInt]
def deleteSourceFromS3Value: Option[BoxedBoolean]
def enabled: ZIO[Any, Nothing, BoxedBoolean] = ZIO.succeed(enabledValue)
def maxCount: ZIO[Any, AwsError, BoxedInt] =
AwsError.unwrapOptionField("maxCount", maxCountValue)
def deleteSourceFromS3: ZIO[Any, AwsError, BoxedBoolean] =
AwsError.unwrapOptionField("deleteSourceFromS3", deleteSourceFromS3Value)
}
private class Wrapper(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.MaxCountRule
) extends io.github.vigoo.zioaws.elasticbeanstalk.model.MaxCountRule.ReadOnly {
override def enabledValue: BoxedBoolean = impl.enabled(): BoxedBoolean
override def maxCountValue: Option[BoxedInt] =
scala.Option(impl.maxCount()).map(value => value: BoxedInt)
override def deleteSourceFromS3Value: Option[BoxedBoolean] =
scala.Option(impl.deleteSourceFromS3()).map(value => value: BoxedBoolean)
}
def wrap(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.MaxCountRule
): io.github.vigoo.zioaws.elasticbeanstalk.model.MaxCountRule.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy