
io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentResourceDescription.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.elasticbeanstalk.model
import zio.ZIO
import io.github.vigoo.zioaws.elasticbeanstalk.model.primitives.EnvironmentName
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class EnvironmentResourceDescription(
environmentName: Option[EnvironmentName] = None,
autoScalingGroups: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.AutoScalingGroup]
] = None,
instances: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.Instance]
] = None,
launchConfigurations: Option[Iterable[
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchConfiguration
]] = None,
launchTemplates: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchTemplate]
] = None,
loadBalancers: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.LoadBalancer]
] = None,
triggers: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.Trigger]
] = None,
queues: Option[
Iterable[io.github.vigoo.zioaws.elasticbeanstalk.model.Queue]
] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.elasticbeanstalk.model.EnvironmentResourceDescription = {
import EnvironmentResourceDescription.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticbeanstalk.model.EnvironmentResourceDescription
.builder()
.optionallyWith(environmentName.map(value => value: java.lang.String))(
_.environmentName
)
.optionallyWith(
autoScalingGroups.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.autoScalingGroups)
.optionallyWith(
instances.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.instances)
.optionallyWith(
launchConfigurations.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.launchConfigurations)
.optionallyWith(
launchTemplates.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.launchTemplates)
.optionallyWith(
loadBalancers.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.loadBalancers)
.optionallyWith(
triggers.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.triggers)
.optionallyWith(
queues.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.queues)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentResourceDescription.ReadOnly =
io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentResourceDescription
.wrap(buildAwsValue())
}
object EnvironmentResourceDescription {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.elasticbeanstalk.model.EnvironmentResourceDescription
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentResourceDescription =
io.github.vigoo.zioaws.elasticbeanstalk.model
.EnvironmentResourceDescription(
environmentNameValue.map(value => value),
autoScalingGroupsValue.map(value =>
value.map { item =>
item.editable
}
),
instancesValue.map(value =>
value.map { item =>
item.editable
}
),
launchConfigurationsValue.map(value =>
value.map { item =>
item.editable
}
),
launchTemplatesValue.map(value =>
value.map { item =>
item.editable
}
),
loadBalancersValue.map(value =>
value.map { item =>
item.editable
}
),
triggersValue.map(value =>
value.map { item =>
item.editable
}
),
queuesValue.map(value =>
value.map { item =>
item.editable
}
)
)
def environmentNameValue: Option[EnvironmentName]
def autoScalingGroupsValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.AutoScalingGroup.ReadOnly
]]
def instancesValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.Instance.ReadOnly]
]
def launchConfigurationsValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchConfiguration.ReadOnly
]]
def launchTemplatesValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchTemplate.ReadOnly
]]
def loadBalancersValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.LoadBalancer.ReadOnly]
]
def triggersValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.Trigger.ReadOnly]
]
def queuesValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.Queue.ReadOnly]
]
def environmentName: ZIO[Any, AwsError, EnvironmentName] =
AwsError.unwrapOptionField("environmentName", environmentNameValue)
def autoScalingGroups: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.AutoScalingGroup.ReadOnly
]] = AwsError.unwrapOptionField("autoScalingGroups", autoScalingGroupsValue)
def instances: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.Instance.ReadOnly
]] = AwsError.unwrapOptionField("instances", instancesValue)
def launchConfigurations: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchConfiguration.ReadOnly
]] = AwsError.unwrapOptionField(
"launchConfigurations",
launchConfigurationsValue
)
def launchTemplates: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchTemplate.ReadOnly
]] = AwsError.unwrapOptionField("launchTemplates", launchTemplatesValue)
def loadBalancers: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.LoadBalancer.ReadOnly
]] = AwsError.unwrapOptionField("loadBalancers", loadBalancersValue)
def triggers: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.Trigger.ReadOnly
]] = AwsError.unwrapOptionField("triggers", triggersValue)
def queues: ZIO[Any, AwsError, List[
io.github.vigoo.zioaws.elasticbeanstalk.model.Queue.ReadOnly
]] = AwsError.unwrapOptionField("queues", queuesValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.EnvironmentResourceDescription
) extends io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentResourceDescription.ReadOnly {
override def environmentNameValue: Option[EnvironmentName] =
scala.Option(impl.environmentName()).map(value => value: EnvironmentName)
override def autoScalingGroupsValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.AutoScalingGroup.ReadOnly
]] = scala
.Option(impl.autoScalingGroups())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.AutoScalingGroup
.wrap(item)
}.toList
)
override def instancesValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.Instance.ReadOnly]
] = scala
.Option(impl.instances())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.Instance.wrap(item)
}.toList
)
override def launchConfigurationsValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchConfiguration.ReadOnly
]] = scala
.Option(impl.launchConfigurations())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchConfiguration
.wrap(item)
}.toList
)
override def launchTemplatesValue: Option[List[
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchTemplate.ReadOnly
]] = scala
.Option(impl.launchTemplates())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.LaunchTemplate
.wrap(item)
}.toList
)
override def loadBalancersValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.LoadBalancer.ReadOnly]
] = scala
.Option(impl.loadBalancers())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.LoadBalancer.wrap(item)
}.toList
)
override def triggersValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.Trigger.ReadOnly]
] = scala
.Option(impl.triggers())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.Trigger.wrap(item)
}.toList
)
override def queuesValue: Option[
List[io.github.vigoo.zioaws.elasticbeanstalk.model.Queue.ReadOnly]
] = scala
.Option(impl.queues())
.map(value =>
value.asScala.map { item =>
io.github.vigoo.zioaws.elasticbeanstalk.model.Queue.wrap(item)
}.toList
)
}
def wrap(
impl: software.amazon.awssdk.services.elasticbeanstalk.model.EnvironmentResourceDescription
): io.github.vigoo.zioaws.elasticbeanstalk.model.EnvironmentResourceDescription.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy