
io.github.vigoo.zioaws.elasticloadbalancing.model.InstanceState.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.elasticloadbalancing.model
import zio.ZIO
import io.github.vigoo.zioaws.elasticloadbalancing.model.primitives.{
Description,
ReasonCode,
State,
InstanceId
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class InstanceState(
instanceId: Option[InstanceId] = None,
state: Option[State] = None,
reasonCode: Option[ReasonCode] = None,
description: Option[Description] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.elasticloadbalancing.model.InstanceState = {
import InstanceState.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticloadbalancing.model.InstanceState
.builder()
.optionallyWith(instanceId.map(value => value: java.lang.String))(
_.instanceId
)
.optionallyWith(state.map(value => value: java.lang.String))(_.state)
.optionallyWith(reasonCode.map(value => value: java.lang.String))(
_.reasonCode
)
.optionallyWith(description.map(value => value: java.lang.String))(
_.description
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.elasticloadbalancing.model.InstanceState.ReadOnly =
io.github.vigoo.zioaws.elasticloadbalancing.model.InstanceState
.wrap(buildAwsValue())
}
object InstanceState {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.elasticloadbalancing.model.InstanceState
] = BuilderHelper.apply
trait ReadOnly {
def editable
: io.github.vigoo.zioaws.elasticloadbalancing.model.InstanceState =
io.github.vigoo.zioaws.elasticloadbalancing.model.InstanceState(
instanceIdValue.map(value => value),
stateValue.map(value => value),
reasonCodeValue.map(value => value),
descriptionValue.map(value => value)
)
def instanceIdValue: Option[InstanceId]
def stateValue: Option[State]
def reasonCodeValue: Option[ReasonCode]
def descriptionValue: Option[Description]
def instanceId: ZIO[Any, AwsError, InstanceId] =
AwsError.unwrapOptionField("instanceId", instanceIdValue)
def state: ZIO[Any, AwsError, State] =
AwsError.unwrapOptionField("state", stateValue)
def reasonCode: ZIO[Any, AwsError, ReasonCode] =
AwsError.unwrapOptionField("reasonCode", reasonCodeValue)
def description: ZIO[Any, AwsError, Description] =
AwsError.unwrapOptionField("description", descriptionValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.elasticloadbalancing.model.InstanceState
) extends io.github.vigoo.zioaws.elasticloadbalancing.model.InstanceState.ReadOnly {
override def instanceIdValue: Option[InstanceId] =
scala.Option(impl.instanceId()).map(value => value: InstanceId)
override def stateValue: Option[State] =
scala.Option(impl.state()).map(value => value: State)
override def reasonCodeValue: Option[ReasonCode] =
scala.Option(impl.reasonCode()).map(value => value: ReasonCode)
override def descriptionValue: Option[Description] =
scala.Option(impl.description()).map(value => value: Description)
}
def wrap(
impl: software.amazon.awssdk.services.elasticloadbalancing.model.InstanceState
): io.github.vigoo.zioaws.elasticloadbalancing.model.InstanceState.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy