
io.github.vigoo.zioaws.elasticloadbalancing.model.LoadBalancerDescription.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.elasticloadbalancing.model
import scala.jdk.CollectionConverters.*
import java.time.Instant
import zio.{ Chunk, ZIO }
import software.amazon.awssdk.core.SdkBytes
final case class LoadBalancerDescription(loadBalancerName: scala.Option[primitives.AccessPointName] = None, dnsName: scala.Option[primitives.DNSName] = None, canonicalHostedZoneName: scala.Option[primitives.DNSName] = None, canonicalHostedZoneNameID: scala.Option[primitives.DNSName] = None, listenerDescriptions: scala.Option[Iterable[ListenerDescription]] = None, policies: scala.Option[Policies] = None, backendServerDescriptions: scala.Option[Iterable[BackendServerDescription]] = None, availabilityZones: scala.Option[Iterable[primitives.AvailabilityZone]] = None, subnets: scala.Option[Iterable[primitives.SubnetId]] = None, vpcId: scala.Option[primitives.VPCId] = None, instances: scala.Option[Iterable[Instance]] = None, healthCheck: scala.Option[HealthCheck] = None, sourceSecurityGroup: scala.Option[SourceSecurityGroup] = None, securityGroups: scala.Option[Iterable[primitives.SecurityGroupId]] = None, createdTime: scala.Option[primitives.CreatedTime] = None, scheme: scala.Option[primitives.LoadBalancerScheme] = None) {
def buildAwsValue(): software.amazon.awssdk.services.elasticloadbalancing.model.LoadBalancerDescription = {
import LoadBalancerDescription.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.elasticloadbalancing.model.LoadBalancerDescription.builder().optionallyWith(loadBalancerName.map(value => value: java.lang.String))(_.loadBalancerName).optionallyWith(dnsName.map(value => value: java.lang.String))(_.dnsName).optionallyWith(canonicalHostedZoneName.map(value => value: java.lang.String))(_.canonicalHostedZoneName).optionallyWith(canonicalHostedZoneNameID.map(value => value: java.lang.String))(_.canonicalHostedZoneNameID).optionallyWith(listenerDescriptions.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.listenerDescriptions).optionallyWith(policies.map(value => value.buildAwsValue()))(_.policies).optionallyWith(backendServerDescriptions.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.backendServerDescriptions).optionallyWith(availabilityZones.map(value => value.map { item =>
item: java.lang.String
}.asJavaCollection))(_.availabilityZones).optionallyWith(subnets.map(value => value.map { item =>
item: java.lang.String
}.asJavaCollection))(_.subnets).optionallyWith(vpcId.map(value => value: java.lang.String))(_.vpcId).optionallyWith(instances.map(value => value.map { item =>
item.buildAwsValue()
}.asJavaCollection))(_.instances).optionallyWith(healthCheck.map(value => value.buildAwsValue()))(_.healthCheck).optionallyWith(sourceSecurityGroup.map(value => value.buildAwsValue()))(_.sourceSecurityGroup).optionallyWith(securityGroups.map(value => value.map { item =>
item: java.lang.String
}.asJavaCollection))(_.securityGroups).optionallyWith(createdTime.map(value => value: java.time.Instant))(_.createdTime).optionallyWith(scheme.map(value => value: java.lang.String))(_.scheme).build()
}
def asReadOnly: LoadBalancerDescription.ReadOnly = LoadBalancerDescription.wrap(buildAwsValue())
}
object LoadBalancerDescription {
private lazy val zioAwsBuilderHelper: io.github.vigoo.zioaws.core.BuilderHelper[software.amazon.awssdk.services.elasticloadbalancing.model.LoadBalancerDescription] = io.github.vigoo.zioaws.core.BuilderHelper.apply
trait ReadOnly {
def editable: LoadBalancerDescription = LoadBalancerDescription(loadBalancerNameValue.map(value => value), dnsNameValue.map(value => value), canonicalHostedZoneNameValue.map(value => value), canonicalHostedZoneNameIDValue.map(value => value), listenerDescriptionsValue.map(value => value.map { item =>
item.editable
}), policiesValue.map(value => value.editable), backendServerDescriptionsValue.map(value => value.map { item =>
item.editable
}), availabilityZonesValue.map(value => value), subnetsValue.map(value => value), vpcIdValue.map(value => value), instancesValue.map(value => value.map { item =>
item.editable
}), healthCheckValue.map(value => value.editable), sourceSecurityGroupValue.map(value => value.editable), securityGroupsValue.map(value => value), createdTimeValue.map(value => value), schemeValue.map(value => value))
def loadBalancerNameValue: scala.Option[primitives.AccessPointName]
def dnsNameValue: scala.Option[primitives.DNSName]
def canonicalHostedZoneNameValue: scala.Option[primitives.DNSName]
def canonicalHostedZoneNameIDValue: scala.Option[primitives.DNSName]
def listenerDescriptionsValue: scala.Option[List[ListenerDescription.ReadOnly]]
def policiesValue: scala.Option[Policies.ReadOnly]
def backendServerDescriptionsValue: scala.Option[List[BackendServerDescription.ReadOnly]]
def availabilityZonesValue: scala.Option[List[primitives.AvailabilityZone]]
def subnetsValue: scala.Option[List[primitives.SubnetId]]
def vpcIdValue: scala.Option[primitives.VPCId]
def instancesValue: scala.Option[List[Instance.ReadOnly]]
def healthCheckValue: scala.Option[HealthCheck.ReadOnly]
def sourceSecurityGroupValue: scala.Option[SourceSecurityGroup.ReadOnly]
def securityGroupsValue: scala.Option[List[primitives.SecurityGroupId]]
def createdTimeValue: scala.Option[primitives.CreatedTime]
def schemeValue: scala.Option[primitives.LoadBalancerScheme]
def loadBalancerName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.AccessPointName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("loadBalancerName", loadBalancerNameValue)
def dnsName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.DNSName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("dnsName", dnsNameValue)
def canonicalHostedZoneName: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.DNSName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("canonicalHostedZoneName", canonicalHostedZoneNameValue)
def canonicalHostedZoneNameID: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.DNSName] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("canonicalHostedZoneNameID", canonicalHostedZoneNameIDValue)
def listenerDescriptions: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[ListenerDescription.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("listenerDescriptions", listenerDescriptionsValue)
def policies: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, Policies.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("policies", policiesValue)
def backendServerDescriptions: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[BackendServerDescription.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("backendServerDescriptions", backendServerDescriptionsValue)
def availabilityZones: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.AvailabilityZone]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("availabilityZones", availabilityZonesValue)
def subnets: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.SubnetId]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("subnets", subnetsValue)
def vpcId: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.VPCId] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("vpcId", vpcIdValue)
def instances: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[Instance.ReadOnly]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("instances", instancesValue)
def healthCheck: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, HealthCheck.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("healthCheck", healthCheckValue)
def sourceSecurityGroup: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, SourceSecurityGroup.ReadOnly] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("sourceSecurityGroup", sourceSecurityGroupValue)
def securityGroups: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, List[primitives.SecurityGroupId]] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("securityGroups", securityGroupsValue)
def createdTime: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.CreatedTime] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("createdTime", createdTimeValue)
def scheme: ZIO[Any, io.github.vigoo.zioaws.core.AwsError, primitives.LoadBalancerScheme] = io.github.vigoo.zioaws.core.AwsError.unwrapOptionField("scheme", schemeValue)
}
private class Wrapper(impl: software.amazon.awssdk.services.elasticloadbalancing.model.LoadBalancerDescription) extends LoadBalancerDescription.ReadOnly {
override def loadBalancerNameValue: scala.Option[primitives.AccessPointName] = scala.Option(impl.loadBalancerName()).map(value => value: primitives.AccessPointName)
override def dnsNameValue: scala.Option[primitives.DNSName] = scala.Option(impl.dnsName()).map(value => value: primitives.DNSName)
override def canonicalHostedZoneNameValue: scala.Option[primitives.DNSName] = scala.Option(impl.canonicalHostedZoneName()).map(value => value: primitives.DNSName)
override def canonicalHostedZoneNameIDValue: scala.Option[primitives.DNSName] = scala.Option(impl.canonicalHostedZoneNameID()).map(value => value: primitives.DNSName)
override def listenerDescriptionsValue: scala.Option[List[ListenerDescription.ReadOnly]] = scala.Option(impl.listenerDescriptions()).map(value => value.asScala.map { item =>
ListenerDescription.wrap(item)
}.toList)
override def policiesValue: scala.Option[Policies.ReadOnly] = scala.Option(impl.policies()).map(value => Policies.wrap(value))
override def backendServerDescriptionsValue: scala.Option[List[BackendServerDescription.ReadOnly]] = scala.Option(impl.backendServerDescriptions()).map(value => value.asScala.map { item =>
BackendServerDescription.wrap(item)
}.toList)
override def availabilityZonesValue: scala.Option[List[primitives.AvailabilityZone]] = scala.Option(impl.availabilityZones()).map(value => value.asScala.map { item =>
item: primitives.AvailabilityZone
}.toList)
override def subnetsValue: scala.Option[List[primitives.SubnetId]] = scala.Option(impl.subnets()).map(value => value.asScala.map { item =>
item: primitives.SubnetId
}.toList)
override def vpcIdValue: scala.Option[primitives.VPCId] = scala.Option(impl.vpcId()).map(value => value: primitives.VPCId)
override def instancesValue: scala.Option[List[Instance.ReadOnly]] = scala.Option(impl.instances()).map(value => value.asScala.map { item =>
Instance.wrap(item)
}.toList)
override def healthCheckValue: scala.Option[HealthCheck.ReadOnly] = scala.Option(impl.healthCheck()).map(value => HealthCheck.wrap(value))
override def sourceSecurityGroupValue: scala.Option[SourceSecurityGroup.ReadOnly] = scala.Option(impl.sourceSecurityGroup()).map(value => SourceSecurityGroup.wrap(value))
override def securityGroupsValue: scala.Option[List[primitives.SecurityGroupId]] = scala.Option(impl.securityGroups()).map(value => value.asScala.map { item =>
item: primitives.SecurityGroupId
}.toList)
override def createdTimeValue: scala.Option[primitives.CreatedTime] = scala.Option(impl.createdTime()).map(value => value: primitives.CreatedTime)
override def schemeValue: scala.Option[primitives.LoadBalancerScheme] = scala.Option(impl.scheme()).map(value => value: primitives.LoadBalancerScheme)
}
def wrap(impl: software.amazon.awssdk.services.elasticloadbalancing.model.LoadBalancerDescription): ReadOnly = new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy