
io.github.vigoo.zioaws.route53resolver.model.FirewallRule.scala Maven / Gradle / Ivy
package io.github.vigoo.zioaws.route53resolver.model
import java.lang.Integer
import zio.ZIO
import io.github.vigoo.zioaws.route53resolver.model.primitives.{
BlockOverrideDomain,
CreatorRequestId,
Unsigned,
Priority,
Rfc3339TimeString,
Name,
ResourceId
}
import io.github.vigoo.zioaws.core.{AwsError, BuilderHelper}
import scala.jdk.CollectionConverters._
final case class FirewallRule(
firewallRuleGroupId: Option[ResourceId] = None,
firewallDomainListId: Option[ResourceId] = None,
name: Option[Name] = None,
priority: Option[Priority] = None,
action: Option[io.github.vigoo.zioaws.route53resolver.model.Action] = None,
blockResponse: Option[
io.github.vigoo.zioaws.route53resolver.model.BlockResponse
] = None,
blockOverrideDomain: Option[BlockOverrideDomain] = None,
blockOverrideDnsType: Option[
io.github.vigoo.zioaws.route53resolver.model.BlockOverrideDnsType
] = None,
blockOverrideTtl: Option[Unsigned] = None,
creatorRequestId: Option[CreatorRequestId] = None,
creationTime: Option[Rfc3339TimeString] = None,
modificationTime: Option[Rfc3339TimeString] = None
) {
def buildAwsValue()
: software.amazon.awssdk.services.route53resolver.model.FirewallRule = {
import FirewallRule.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.route53resolver.model.FirewallRule
.builder()
.optionallyWith(
firewallRuleGroupId.map(value => value: java.lang.String)
)(_.firewallRuleGroupId)
.optionallyWith(
firewallDomainListId.map(value => value: java.lang.String)
)(_.firewallDomainListId)
.optionallyWith(name.map(value => value: java.lang.String))(_.name)
.optionallyWith(priority.map(value => value: Integer))(_.priority)
.optionallyWith(action.map(value => value.unwrap))(_.action)
.optionallyWith(blockResponse.map(value => value.unwrap))(_.blockResponse)
.optionallyWith(
blockOverrideDomain.map(value => value: java.lang.String)
)(_.blockOverrideDomain)
.optionallyWith(blockOverrideDnsType.map(value => value.unwrap))(
_.blockOverrideDnsType
)
.optionallyWith(blockOverrideTtl.map(value => value: Integer))(
_.blockOverrideTtl
)
.optionallyWith(creatorRequestId.map(value => value: java.lang.String))(
_.creatorRequestId
)
.optionallyWith(creationTime.map(value => value: java.lang.String))(
_.creationTime
)
.optionallyWith(modificationTime.map(value => value: java.lang.String))(
_.modificationTime
)
.build()
}
def asReadOnly
: io.github.vigoo.zioaws.route53resolver.model.FirewallRule.ReadOnly =
io.github.vigoo.zioaws.route53resolver.model.FirewallRule
.wrap(buildAwsValue())
}
object FirewallRule {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.route53resolver.model.FirewallRule
] = BuilderHelper.apply
trait ReadOnly {
def editable: io.github.vigoo.zioaws.route53resolver.model.FirewallRule =
io.github.vigoo.zioaws.route53resolver.model.FirewallRule(
firewallRuleGroupIdValue.map(value => value),
firewallDomainListIdValue.map(value => value),
nameValue.map(value => value),
priorityValue.map(value => value),
actionValue.map(value => value),
blockResponseValue.map(value => value),
blockOverrideDomainValue.map(value => value),
blockOverrideDnsTypeValue.map(value => value),
blockOverrideTtlValue.map(value => value),
creatorRequestIdValue.map(value => value),
creationTimeValue.map(value => value),
modificationTimeValue.map(value => value)
)
def firewallRuleGroupIdValue: Option[ResourceId]
def firewallDomainListIdValue: Option[ResourceId]
def nameValue: Option[Name]
def priorityValue: Option[Priority]
def actionValue: Option[io.github.vigoo.zioaws.route53resolver.model.Action]
def blockResponseValue
: Option[io.github.vigoo.zioaws.route53resolver.model.BlockResponse]
def blockOverrideDomainValue: Option[BlockOverrideDomain]
def blockOverrideDnsTypeValue: Option[
io.github.vigoo.zioaws.route53resolver.model.BlockOverrideDnsType
]
def blockOverrideTtlValue: Option[Unsigned]
def creatorRequestIdValue: Option[CreatorRequestId]
def creationTimeValue: Option[Rfc3339TimeString]
def modificationTimeValue: Option[Rfc3339TimeString]
def firewallRuleGroupId: ZIO[Any, AwsError, ResourceId] = AwsError
.unwrapOptionField("firewallRuleGroupId", firewallRuleGroupIdValue)
def firewallDomainListId: ZIO[Any, AwsError, ResourceId] = AwsError
.unwrapOptionField("firewallDomainListId", firewallDomainListIdValue)
def name: ZIO[Any, AwsError, Name] =
AwsError.unwrapOptionField("name", nameValue)
def priority: ZIO[Any, AwsError, Priority] =
AwsError.unwrapOptionField("priority", priorityValue)
def action: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.route53resolver.model.Action
] = AwsError.unwrapOptionField("action", actionValue)
def blockResponse: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.route53resolver.model.BlockResponse
] = AwsError.unwrapOptionField("blockResponse", blockResponseValue)
def blockOverrideDomain: ZIO[Any, AwsError, BlockOverrideDomain] = AwsError
.unwrapOptionField("blockOverrideDomain", blockOverrideDomainValue)
def blockOverrideDnsType: ZIO[
Any,
AwsError,
io.github.vigoo.zioaws.route53resolver.model.BlockOverrideDnsType
] = AwsError.unwrapOptionField(
"blockOverrideDnsType",
blockOverrideDnsTypeValue
)
def blockOverrideTtl: ZIO[Any, AwsError, Unsigned] =
AwsError.unwrapOptionField("blockOverrideTtl", blockOverrideTtlValue)
def creatorRequestId: ZIO[Any, AwsError, CreatorRequestId] =
AwsError.unwrapOptionField("creatorRequestId", creatorRequestIdValue)
def creationTime: ZIO[Any, AwsError, Rfc3339TimeString] =
AwsError.unwrapOptionField("creationTime", creationTimeValue)
def modificationTime: ZIO[Any, AwsError, Rfc3339TimeString] =
AwsError.unwrapOptionField("modificationTime", modificationTimeValue)
}
private class Wrapper(
impl: software.amazon.awssdk.services.route53resolver.model.FirewallRule
) extends io.github.vigoo.zioaws.route53resolver.model.FirewallRule.ReadOnly {
override def firewallRuleGroupIdValue: Option[ResourceId] =
scala.Option(impl.firewallRuleGroupId()).map(value => value: ResourceId)
override def firewallDomainListIdValue: Option[ResourceId] =
scala.Option(impl.firewallDomainListId()).map(value => value: ResourceId)
override def nameValue: Option[Name] =
scala.Option(impl.name()).map(value => value: Name)
override def priorityValue: Option[Priority] =
scala.Option(impl.priority()).map(value => value: Priority)
override def actionValue
: Option[io.github.vigoo.zioaws.route53resolver.model.Action] = scala
.Option(impl.action())
.map(value =>
io.github.vigoo.zioaws.route53resolver.model.Action.wrap(value)
)
override def blockResponseValue
: Option[io.github.vigoo.zioaws.route53resolver.model.BlockResponse] =
scala
.Option(impl.blockResponse())
.map(value =>
io.github.vigoo.zioaws.route53resolver.model.BlockResponse.wrap(value)
)
override def blockOverrideDomainValue: Option[BlockOverrideDomain] = scala
.Option(impl.blockOverrideDomain())
.map(value => value: BlockOverrideDomain)
override def blockOverrideDnsTypeValue: Option[
io.github.vigoo.zioaws.route53resolver.model.BlockOverrideDnsType
] = scala
.Option(impl.blockOverrideDnsType())
.map(value =>
io.github.vigoo.zioaws.route53resolver.model.BlockOverrideDnsType
.wrap(value)
)
override def blockOverrideTtlValue: Option[Unsigned] =
scala.Option(impl.blockOverrideTtl()).map(value => value: Unsigned)
override def creatorRequestIdValue: Option[CreatorRequestId] = scala
.Option(impl.creatorRequestId())
.map(value => value: CreatorRequestId)
override def creationTimeValue: Option[Rfc3339TimeString] =
scala.Option(impl.creationTime()).map(value => value: Rfc3339TimeString)
override def modificationTimeValue: Option[Rfc3339TimeString] = scala
.Option(impl.modificationTime())
.map(value => value: Rfc3339TimeString)
}
def wrap(
impl: software.amazon.awssdk.services.route53resolver.model.FirewallRule
): io.github.vigoo.zioaws.route53resolver.model.FirewallRule.ReadOnly =
new Wrapper(impl)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy