Class CfnFirewallRuleGroup.FirewallRuleProperty.Builder
java.lang.Object
software.amazon.awscdk.services.route53resolver.CfnFirewallRuleGroup.FirewallRuleProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnFirewallRuleGroup.FirewallRuleProperty>
- Enclosing interface:
CfnFirewallRuleGroup.FirewallRuleProperty
@Stability(Stable)
public static final class CfnFirewallRuleGroup.FirewallRuleProperty.Builder
extends Object
implements software.amazon.jsii.Builder<CfnFirewallRuleGroup.FirewallRuleProperty>
A builder for
CfnFirewallRuleGroup.FirewallRuleProperty-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getAction()blockOverrideDnsType(String blockOverrideDnsType) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockOverrideDnsType()blockOverrideDomain(String blockOverrideDomain) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockOverrideDomain()blockOverrideTtl(Number blockOverrideTtl) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockOverrideTtl()blockResponse(String blockResponse) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockResponse()build()Builds the configured instance.confidenceThreshold(String confidenceThreshold) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getConfidenceThreshold()dnsThreatProtection(String dnsThreatProtection) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getDnsThreatProtection()firewallDomainListId(String firewallDomainListId) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getFirewallDomainListId()firewallDomainRedirectionAction(String firewallDomainRedirectionAction) firewallThreatProtectionId(String firewallThreatProtectionId) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getPriority()Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getQtype()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
action
Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getAction()- Parameters:
action- The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list, or a threat in a DNS Firewall Advvanced rule: -ALLOW- Permit the request to go through. This parameter is required. Not available for DNS Firewall Advanced rules.ALERT- Permit the request to go through but send an alert to the logs.BLOCK- Disallow the request. If this is specified,thenBlockResponsemust also be specified.
if
BlockResponseisOVERRIDE, then all of the followingOVERRIDEattributes must be specified:BlockOverrideDnsTypeBlockOverrideDomainBlockOverrideTtl
- Returns:
this
-
priority
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder priority(Number priority) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getPriority()- Parameters:
priority- The priority of the rule in the rule group. This parameter is required. This value must be unique within the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.- Returns:
this
-
blockOverrideDnsType
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder blockOverrideDnsType(String blockOverrideDnsType) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockOverrideDnsType()- Parameters:
blockOverrideDnsType- The DNS record's type. This determines the format of the record value that you provided inBlockOverrideDomain. Used for the rule actionBLOCKwith aBlockResponsesetting ofOVERRIDE.- Returns:
this
-
blockOverrideDomain
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder blockOverrideDomain(String blockOverrideDomain) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockOverrideDomain()- Parameters:
blockOverrideDomain- The custom DNS record to send back in response to the query. Used for the rule actionBLOCKwith aBlockResponsesetting ofOVERRIDE.- Returns:
this
-
blockOverrideTtl
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder blockOverrideTtl(Number blockOverrideTtl) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockOverrideTtl()- Parameters:
blockOverrideTtl- The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule actionBLOCKwith aBlockResponsesetting ofOVERRIDE.- Returns:
this
-
blockResponse
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder blockResponse(String blockResponse) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getBlockResponse()- Parameters:
blockResponse- The way that you want DNS Firewall to block the request. Used for the rule action settingBLOCK.NODATA- Respond indicating that the query was successful, but no response is available for it.NXDOMAIN- Respond indicating that the domain name that's in the query doesn't exist.OVERRIDE- Provide a custom override in the response. This option requires custom handling details in the rule'sBlockOverride*settings.
- Returns:
this
-
confidenceThreshold
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder confidenceThreshold(String confidenceThreshold) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getConfidenceThreshold()- Parameters:
confidenceThreshold- The confidence threshold for DNS Firewall Advanced. You must provide this value when you create a DNS Firewall Advanced rule. The confidence level values mean:LOW: Provides the highest detection rate for threats, but also increases false positives.MEDIUM: Provides a balance between detecting threats and false positives.HIGH: Detects only the most well corroborated threats with a low rate of false positives.
- Returns:
this
-
dnsThreatProtection
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder dnsThreatProtection(String dnsThreatProtection) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getDnsThreatProtection()- Parameters:
dnsThreatProtection- The type of the DNS Firewall Advanced rule. Valid values are:.DGA: Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains to to launch malware attacks.DNS_TUNNELING: DNS tunneling detection. DNS tunneling is used by attackers to exfiltrate data from the client by using the DNS tunnel without making a network connection to the client.
- Returns:
this
-
firewallDomainListId
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder firewallDomainListId(String firewallDomainListId) Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getFirewallDomainListId()- Parameters:
firewallDomainListId- The ID of the domain list that's used in the rule.- Returns:
this
-
firewallDomainRedirectionAction
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder firewallDomainRedirectionAction(String firewallDomainRedirectionAction) - Parameters:
firewallDomainRedirectionAction- How you want the the rule to evaluate DNS redirection in the DNS redirection chain, such as CNAME, or DNAME.Inspect_Redirection_Domain(Default) inspects all domains in the redirection chain. The individual domains in the redirection chain must be added to the domain list.Trust_Redirection_Domaininspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the domain in the redirection list to the domain list.- Returns:
this
-
firewallThreatProtectionId
@Stability(Stable) public CfnFirewallRuleGroup.FirewallRuleProperty.Builder firewallThreatProtectionId(String firewallThreatProtectionId) - Parameters:
firewallThreatProtectionId- ID of the DNS Firewall Advanced rule.- Returns:
this
-
qtype
Sets the value ofCfnFirewallRuleGroup.FirewallRuleProperty.getQtype()- Parameters:
qtype- The DNS query type you want the rule to evaluate. Allowed values are;.- A: Returns an IPv4 address.
- AAAA: Returns an Ipv6 address.
- CAA: Restricts CAs that can create SSL/TLS certifications for the domain.
- CNAME: Returns another domain name.
- DS: Record that identifies the DNSSEC signing key of a delegated zone.
- MX: Specifies mail servers.
- NAPTR: Regular-expression-based rewriting of domain names.
- NS: Authoritative name servers.
- PTR: Maps an IP address to a domain name.
- SOA: Start of authority record for the zone.
- SPF: Lists the servers authorized to send emails from a domain.
- SRV: Application specific values that identify servers.
- TXT: Verifies email senders and application-specific values.
- A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPE NUMBER , where the NUMBER can be 1-65334, for example, TYPE28. For more information, see List of DNS record types .
- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<CfnFirewallRuleGroup.FirewallRuleProperty>- Returns:
- a new instance of
CfnFirewallRuleGroup.FirewallRuleProperty - Throws:
NullPointerException- if any required attribute was not provided
-