Smaws_Client_Route53Resolver.TypesYou have provided an invalid command. If you ran the UpdateFirewallDomains request. supported values are ADD, REMOVE, or REPLACE a domain.
type nonrec target_address = {server_name_indication : server_name_indication option;The Server Name Indication of the DoH server that you want to forward queries to. This is only used if the Protocol of the TargetAddress is DoH.
protocol : protocol option;The protocols for the target address. The protocol you choose needs to be supported by the outbound endpoint of the Resolver rule.
*)ipv6 : ipv6 option;One IPv6 address that you want to forward DNS queries to.
*)port : port option;The port at Ip that you want to forward DNS queries to.
ip : ip option;One IPv4 address that you want to forward DNS queries to.
*)}In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.
type nonrec target_list = target_address listtype nonrec resolver_rule = {delegation_record : delegation_record option;DNS queries with delegation records that point to this domain name are forwarded to resolvers on your network.
*)modification_time : rfc3339_time_string option;The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).
*)owner_id : account_id option;When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.
*)resolver_endpoint_id : resource_id option;The ID of the endpoint that the rule is associated with.
*)target_ips : target_list option;An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network.
*)name : name option;The name for the Resolver rule, which you specified when you created the Resolver rule.
The name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.
*)rule_type : rule_type_option option;When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD or DELEGATE. If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).
When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.
For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.
Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.
status_message : status_message option;A detailed description of the status of a Resolver rule.
*)status : resolver_rule_status option;A code that specifies the current status of the Resolver rule.
*)domain_name : domain_name option;DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).
arn : arn option;The ARN (Amazon Resource Name) for the Resolver rule specified by Id.
creator_request_id : creator_request_id option;A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of running the operation twice.
id : resource_id option;The ID that Resolver assigned to the Resolver rule when you created it.
*)}For queries that originate in your VPC, detailed information about a Resolver rule, which specifies how to route DNS queries out of the VPC. The ResolverRule parameter appears in the response to a CreateResolverRule, DeleteResolverRule, GetResolverRule, ListResolverRules, or UpdateResolverRule request.
type nonrec update_resolver_rule_response = {resolver_rule : resolver_rule option;The response to an UpdateResolverRule request.
}type nonrec resolver_rule_config = {resolver_endpoint_id : resource_id option;The ID of the new outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.
target_ips : target_list option;For DNS queries that originate in your VPC, the new IP addresses that you want to route outbound DNS queries to.
*)name : name option;The new name for the Resolver rule. The name that you specify appears in the Resolver dashboard in the Route 53 console.
The name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.
*)}In an UpdateResolverRule request, information about the changes that you want to make.
type nonrec update_resolver_rule_request = {config : resolver_rule_config;The new settings for the Resolver rule.
*)resolver_rule_id : resource_id;The ID of the Resolver rule that you want to update.
*)}The request was throttled. Try again in a few minutes.
The specified resource isn't available.
type nonrec resource_not_found_exception = {resource_type : string_ option;For a ResourceNotFoundException error, the type of resource that doesn't exist.
message : string_ option;}The specified resource doesn't exist.
type nonrec limit_exceeded_exception = {resource_type : string_ option;For a LimitExceededException error, the type of resource that exceeded the current limit.
message : string_ option;}The request caused one or more limits to be exceeded.
The request is invalid.
type nonrec invalid_parameter_exception = {field_name : string_ option;For an InvalidParameterException error, the name of the parameter that's invalid.
message : exception_message;}One or more parameters in this request are not valid.
We encountered an unknown error. Try again in a few minutes.
The current account doesn't have the IAM permissions required to perform the specified Resolver operation.
This error can also be thrown when a customer has reached the 5120 character limit for a resource policy for CloudWatch Logs.
type nonrec security_group_ids = resource_id listtype nonrec protocol_list = protocol listtype nonrec resolver_endpoint = {ipv6_internet_access_enabled : ipv6_internet_access_enabled option;Indicates whether IPv6 internet access is enabled for the outbound Resolver endpoint. When true, the endpoint elastic network interfaces (ENIs) can forward DNS queries to public IPv6 targets through an internet gateway.
dns64_enabled : dns64_enabled option;Indicates whether DNS64 is enabled for the inbound Resolver endpoint. When true, Route 53 Resolver synthesizes AAAA (IPv6) records for IPv4-only services by prepending the 64:ff9b::/96 prefix to the IPv4 address.
target_name_server_metrics_enabled : target_name_server_metrics_enabled option;Indicates whether target name server metrics are enabled for the outbound Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When disabled, these metrics are not published. This feature is not supported for inbound Resolver endpoint.
*)rni_enhanced_metrics_enabled : rni_enhanced_metrics_enabled option;Indicates whether RNI enhanced metrics are enabled for the Resolver endpoint. When enabled, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When disabled, these metrics are not published.
*)protocols : protocol_list option;Protocols used for the endpoint. DoH-FIPS is applicable for a default inbound endpoints only.
For an inbound endpoint you can apply the protocols as follows:
For a delegation inbound endpoint you can use Do53 only.
For an outbound endpoint you can apply the protocols as follows:
resolver_endpoint_type : resolver_endpoint_type option;The Resolver endpoint IP address type.
*)preferred_instance_type : outpost_instance_type option;The Amazon EC2 instance type.
*)outpost_arn : outpost_arn option;The ARN (Amazon Resource Name) for the Outpost.
*)modification_time : rfc3339_time_string option;The date and time that the endpoint was last modified, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the endpoint was created, in Unix time format and Coordinated Universal Time (UTC).
*)status_message : status_message option;A detailed description of the status of the Resolver endpoint.
*)status : resolver_endpoint_status option;A code that specifies the current status of the Resolver endpoint. Valid values include the following:
CREATING: Resolver is creating and configuring one or more Amazon VPC network interfaces for this endpoint.OPERATIONAL: The Amazon VPC network interfaces for this endpoint are correctly configured and able to pass inbound or outbound DNS queries between your network and Resolver.UPDATING: Resolver is associating or disassociating one or more network interfaces with this endpoint.AUTO_RECOVERING: Resolver is trying to recover one or more of the network interfaces that are associated with this endpoint. During the recovery process, the endpoint functions with limited capacity because of the limit on the number of DNS queries per IP address (per network interface). For the current limit, see Limits on Route 53 Resolver.ACTION_NEEDED: This endpoint is unhealthy, and Resolver can't automatically recover it. To resolve the problem, we recommend that you check each IP address that you associated with the endpoint. For each IP address that isn't available, add another IP address and then delete the IP address that isn't available. (An endpoint must always include at least two IP addresses.) A status of ACTION_NEEDED can have a variety of causes. Here are two common causes:
DELETING: Resolver is deleting this endpoint and the associated network interfaces.host_vpc_id : resource_id option;The ID of the VPC that you want to create the Resolver endpoint in.
*)ip_address_count : ip_address_count option;The number of IP addresses that the Resolver endpoint can use for DNS queries.
*)direction : resolver_endpoint_direction option;Indicates whether the Resolver endpoint allows inbound or outbound DNS queries:
INBOUND: allows DNS queries to your VPC from your networkOUTBOUND: allows DNS queries from your VPC to your networkINBOUND_DELEGATION: Resolver delegates queries to Route 53 private hosted zones from your network.security_group_ids : security_group_ids option;The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound rules (for inbound endpoints) or outbound rules (for outbound endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.
*)name : name option;The name that you assigned to the Resolver endpoint when you submitted a CreateResolverEndpoint request.
*)arn : arn option;The ARN (Amazon Resource Name) for the Resolver endpoint.
*)creator_request_id : creator_request_id option;A unique string that identifies the request that created the Resolver endpoint. The CreatorRequestId allows failed requests to be retried without the risk of running the operation twice.
id : resource_id option;The ID of the Resolver endpoint.
*)}In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint, Updates the name, or ResolverEndpointType for an endpoint, or UpdateResolverEndpoint request, a complex type that contains settings for an existing inbound or outbound Resolver endpoint.
type nonrec update_resolver_endpoint_response = {resolver_endpoint : resolver_endpoint option;The response to an UpdateResolverEndpoint request.
}type nonrec update_ip_address = {ipv6 : ipv6;The IPv6 address that you want to use for DNS queries.
*)ip_id : resource_id;The ID of the IP address, specified by the ResolverEndpointId.
}Provides information about the IP address type in response to UpdateResolverEndpoint.
type nonrec update_ip_addresses = update_ip_address listtype nonrec update_resolver_endpoint_request = {ipv6_internet_access_enabled : ipv6_internet_access_enabled option;Specifies whether IPv6 internet access is enabled for the outbound Resolver endpoint. When set to true, the endpoint elastic network interfaces (ENIs) can forward DNS queries to public IPv6 targets through an internet gateway.
When you enable IPv6 internet access, use network controls like security groups, NACLs, or egress-only internet gateways to protect the endpoint ENIs from unsolicited ingress traffic. Be aware that some network controls can affect DNS query throughput due to connection tracking. For more information, see Amazon EC2 security group connection tracking and Resolver endpoint scaling.
*)dns64_enabled : dns64_enabled option;Specifies whether DNS64 is enabled for the inbound Resolver endpoint. When set to true, Route 53 Resolver synthesizes AAAA (IPv6) records for IPv4-only services by prepending the 64:ff9b::/96 prefix to the IPv4 address. This enables IPv6-only clients that send queries through the inbound endpoint to reach IPv4-only services. DNS64 works with NAT64 to provide complete IPv6-to-IPv4 translation.
target_name_server_metrics_enabled : target_name_server_metrics_enabled option;Updates whether target name server metrics are enabled for the outbound Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When set to false, metrics are not published. This setting is not supported for inbound Resolver endpoints.
Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint target name server metrics. For more information, see Detailed metrics.
*)rni_enhanced_metrics_enabled : rni_enhanced_metrics_enabled option;Updates whether RNI enhanced metrics are enabled for the Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When set to false, metrics are not published.
Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint RNI enhanced metrics. For more information, see Detailed metrics.
*)protocols : protocol_list option;The protocols you want to use for the endpoint. DoH-FIPS is applicable for default inbound endpoints only.
For a default inbound endpoint you can apply the protocols as follows:
For a delegation inbound endpoint you can use Do53 only.
For an outbound endpoint you can apply the protocols as follows:
You can't change the protocol of an inbound endpoint directly from only Do53 to only DoH, or DoH-FIPS. This is to prevent a sudden disruption to incoming traffic that relies on Do53. To change the protocol from Do53 to DoH, or DoH-FIPS, you must first enable both Do53 and DoH, or Do53 and DoH-FIPS, to make sure that all incoming traffic has transferred to using the DoH protocol, or DoH-FIPS, and then remove the Do53.
*)update_ip_addresses : update_ip_addresses option;Specifies the IPv6 address when you update the Resolver endpoint from IPv4 to dual-stack. If you don't specify an IPv6 address, one will be automatically chosen from your subnet.
*)resolver_endpoint_type : resolver_endpoint_type option;Specifies the endpoint type for what type of IP address the endpoint uses to forward DNS queries.
Updating to IPV6 type isn't currently supported.
name : name option;The name of the Resolver endpoint that you want to update.
*)resolver_endpoint_id : resource_id;The ID of the Resolver endpoint that you want to update.
*)}type nonrec resolver_dnssec_config = {validation_status : resolver_dnssec_validation_status option;The validation status for a DNSSEC configuration. The status can be one of the following:
resource_id : resource_id option;The ID of the virtual private cloud (VPC) that you're configuring the DNSSEC validation status for.
*)owner_id : account_id option;The owner account ID of the virtual private cloud (VPC) for a configuration for DNSSEC validation.
*)id : resource_id option;The ID for a configuration for DNSSEC validation.
*)}A complex type that contains information about a configuration for DNSSEC validation.
type nonrec update_resolver_dnssec_config_response = {resolver_dnssec_config : resolver_dnssec_config option;A complex type that contains settings for the specified DNSSEC configuration.
*)}type nonrec update_resolver_dnssec_config_request = {validation : validation;The new value that you are specifying for DNSSEC validation for the VPC. The value can be ENABLE or DISABLE. Be aware that it can take time for a validation status change to be completed.
resource_id : resource_id;The ID of the virtual private cloud (VPC) that you're updating the DNSSEC validation status for.
*)}type nonrec resolver_config = {autodefined_reverse : resolver_autodefined_reverse_status option;The status of whether or not the Resolver will create autodefined rules for reverse DNS lookups. This is enabled by default. The status can be one of following:
owner_id : account_id option;The owner account ID of the Amazon Virtual Private Cloud VPC.
*)resource_id : resource_id option;The ID of the Amazon Virtual Private Cloud VPC or a Route 53 Profile that you're configuring Resolver for.
*)id : resource_id option;ID for the Resolver configuration.
*)}A complex type that contains information about a Resolver configuration for a VPC.
type nonrec update_resolver_config_response = {resolver_config : resolver_config option;An array that contains settings for the specified Resolver configuration.
*)}type nonrec update_resolver_config_request = {autodefined_reverse_flag : autodefined_reverse_flag;Indicates whether or not the Resolver will create autodefined rules for reverse DNS lookups. This is enabled by default. Disabling this option will also affect EC2-Classic instances using ClassicLink. For more information, see ClassicLink in the Amazon EC2 guide.
We are retiring EC2-Classic on August 15, 2022. We recommend that you migrate from EC2-Classic to a VPC. For more information, see Migrate from EC2-Classic to a VPC in the Amazon EC2 guide and the blog EC2-Classic Networking is Retiring – Here’s How to Prepare.
It can take some time for the status change to be completed.
*)resource_id : resource_id;The ID of the Amazon Virtual Private Cloud VPC or a Route 53 Profile that you're configuring Resolver for.
*)}type nonrec outpost_resolver = {outpost_arn : outpost_arn option;The ARN (Amazon Resource Name) for the Outpost.
*)status_message : outpost_resolver_status_message option;A detailed description of the Resolver.
*)status : outpost_resolver_status option;Status of the Resolver.
*)name : outpost_resolver_name option;Name of the Resolver.
*)preferred_instance_type : outpost_instance_type option;The Amazon EC2 instance type.
*)instance_count : instance_count option;Amazon EC2 instance count for the Resolver on the Outpost.
*)id : resource_id option;The ID of the Resolver on Outpost.
*)creator_request_id : creator_request_id option;A unique string that identifies the request that created the Resolver endpoint. The CreatorRequestId allows failed requests to be retried without the risk of running the operation twice.
modification_time : rfc3339_time_string option;The date and time that the Outpost Resolver was modified, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the Outpost Resolver was created, in Unix time format and Coordinated Universal Time (UTC).
*)arn : arn option;The ARN (Amazon Resource Name) for the Resolver on an Outpost.
*)}A complex type that contains settings for an existing Resolver on an Outpost.
type nonrec update_outpost_resolver_response = {outpost_resolver : outpost_resolver option;The response to an UpdateOutpostResolver request.
}type nonrec update_outpost_resolver_request = {preferred_instance_type : outpost_instance_type option;Amazon EC2 instance type.
*)instance_count : instance_count option;The Amazon EC2 instance count for a Resolver on the Outpost.
*)name : outpost_resolver_name option;Name of the Resolver on the Outpost.
*)id : resource_id;A unique string that identifies Resolver on an Outpost.
*)}Fulfilling the request would cause one or more quotas to be exceeded.
The requested state transition isn't valid. For example, you can't delete a firewall domain list if it is in the process of being deleted, or you can't import domains into a domain list that is in the process of being deleted.
The confidence threshold for a DNS Firewall Advanced rule. One of:
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.type nonrec partner_threat_protection_config = {partner : partner_value;The identifier of the partner threat-protection product, exactly as returned in the Value field of a FirewallRuleTypeDefinition with RuleType set to PartnerThreatProtection. The calling account must hold an active AWS Marketplace subscription to this product.
}The configuration for a partner threat-protection rule. To enumerate the partners available in your account, call ListFirewallRuleTypes with RuleType set to PartnerThreatProtection — each returned FirewallRuleTypeDefinition includes a SubscriptionInfo identifying the AWS Marketplace product that backs it.
type nonrec firewall_advanced_content_category_config = {category : firewall_advanced_content_category_value;The content category identifier. To retrieve the list of available content categories, call ListFirewallRuleTypes with RuleType set to FirewallAdvancedContentCategory.
}The configuration for a content category-based filtering rule. This specifies which content category to use for DNS query evaluation.
type nonrec firewall_advanced_threat_category_config = {category : firewall_advanced_threat_category_value;The threat category identifier. To retrieve the list of available threat categories, call ListFirewallRuleTypes with RuleType set to FirewallAdvancedThreatCategory.
}The configuration for a threat category-based filtering rule. This specifies which threat category to use for DNS query evaluation.
type nonrec dns_threat_protection_rule_type_config = {confidence_threshold : confidence_threshold;The confidence threshold for DNS Firewall Advanced. You must provide this value when you create or update 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.value : dns_threat_protection_rule_type_value;The type of DNS threat protection. Valid values are:
DGA: Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains 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.DICTIONARY_DGA: Dictionary-based domain generation algorithms detection. Dictionary DGAs use wordlists to generate domains that appear more legitimate, making them harder to detect than traditional DGAs.}The configuration for a DNS threat protection rule type within the rule type framework.
type nonrec firewall_rule_type = {dns_threat_protection : dns_threat_protection_rule_type_config option;Configures the rule to match a built-in DNS Firewall Advanced threat detector — DGA, DNS_TUNNELING, or DICTIONARY_DGA. See DnsThreatProtectionRuleTypeConfig.
firewall_advanced_threat_category : firewall_advanced_threat_category_config
option;Configures the rule to match an AWS-managed advanced threat category (for example, PHISHING). See FirewallAdvancedThreatCategoryConfig.
firewall_advanced_content_category : firewall_advanced_content_category_config
option;Configures the rule to match an AWS-managed content category (for example, VIOLENCE_AND_HATE_SPEECH). See FirewallAdvancedContentCategoryConfig.
partner_threat_protection : partner_threat_protection_config option;Configures the rule to match a third-party threat feed delivered through AWS Marketplace. The calling account must hold an active subscription to the partner product named in Partner; if the subscription is missing or revoked, the rule is created with Status CREATION_FAILED and cannot be modified — only deleted. See PartnerThreatProtectionConfig.
}The rule-type configuration for a DNS Firewall rule. FirewallRuleType is a tagged union — exactly one member must be set per rule, and the member determines what the rule matches against. This shape is mutually exclusive with the top-level FirewallDomainListId and DnsThreatProtection fields on CreateFirewallRule and UpdateFirewallRule.
Call ListFirewallRuleTypes to discover which rule-type variants and which values within each variant are available in your account and Region.
type nonrec firewall_rule = {status_message : firewall_rule_status_message option;An additional message about the rule's lifecycle state. Populated when Status is CREATION_FAILED to describe why provisioning failed.
status : firewall_rule_status option;The lifecycle state of the firewall rule. Possible values:
CREATING — DNS Firewall is provisioning the rule. Rules created with the PartnerThreatProtection rule type begin in this state while DNS Firewall verifies the calling account's AWS Marketplace entitlement.COMPLETE — The rule is provisioned and enforcing matches.CREATION_FAILED — Provisioning failed. StatusMessage contains a human-readable reason. A rule in this state is immutable: UpdateFirewallRule rejects the request, and the rule must be removed with DeleteFirewallRule.For rules that do not require asynchronous provisioning, this field may be absent.
*)firewall_rule_type : firewall_rule_type option;The rule type configuration for the firewall rule. This is a tagged union — exactly one of its members will be populated. Possible members are:
FirewallAdvancedContentCategory — an AWS-managed content category (for example, VIOLENCE_AND_HATE_SPEECH).FirewallAdvancedThreatCategory — an AWS-managed advanced threat category (for example, PHISHING).DnsThreatProtection — a built-in DNS Firewall Advanced threat detector (DGA, DNS_TUNNELING, or DICTIONARY_DGA).PartnerThreatProtection — a third-party threat feed delivered through AWS Marketplace.To enumerate the values supported in your account, call ListFirewallRuleTypes.
confidence_threshold : confidence_threshold option;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.dns_threat_protection : dns_threat_protection option;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 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.DICTIONARY_DGA: Dictionary-based domain generation algorithms detection. Dictionary DGAs use wordlists to generate domains that appear more legitimate, making them harder to detect than traditional DGAs.qtype : qtype option;The DNS query type you want the rule to evaluate. Allowed values are;
firewall_domain_redirection_action : firewall_domain_redirection_action option;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_DOMAIN: Inspects 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.
modification_time : rfc3339_time_string option;The date and time that the rule was last modified, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the rule was created, in Unix time format and Coordinated Universal Time (UTC).
*)creator_request_id : creator_request_id option;A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp.
*)block_override_ttl : unsigned option;The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_override_dns_type : block_override_dns_type option;The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_override_domain : block_override_domain option;The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_response : block_response option;The way that you want DNS Firewall to block the request. Used for the rule action setting BLOCK.
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's BlockOverride* settings.action : action option;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 Advanced rule:
ALLOW - Permit the request to go through. 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, additional handling details are provided in the rule's BlockResponse setting.priority : priority option;The priority of the rule in the rule group. 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.
*)name : name option;The name of the rule.
*)firewall_threat_protection_id : resource_id option;ID of the DNS Firewall Advanced rule.
*)firewall_domain_list_id : resource_id option;The ID of the domain list that's used in the rule.
*)firewall_rule_group_id : resource_id option;The unique identifier of the Firewall rule group of the rule.
*)}A single firewall rule in a rule group.
type nonrec update_firewall_rule_response = {firewall_rule : firewall_rule option;The firewall rule that you just updated.
*)}type nonrec update_firewall_rule_request = {firewall_rule_type : firewall_rule_type option;The rule type configuration for the firewall rule. This is a tagged union — set exactly one of its members. This setting is mutually exclusive with the top-level FirewallDomainListId and DnsThreatProtection fields. Use one of:
FirewallAdvancedContentCategory — match an AWS-managed content category (for example, VIOLENCE_AND_HATE_SPEECH).FirewallAdvancedThreatCategory — match an AWS-managed advanced threat category (for example, PHISHING).DnsThreatProtection — match a built-in DNS Firewall Advanced threat detector (DGA, DNS_TUNNELING, or DICTIONARY_DGA).PartnerThreatProtection — match a third-party threat feed delivered through AWS Marketplace. The selected partner must be an active subscription on the calling account.To enumerate the values supported in your account, call ListFirewallRuleTypes.
confidence_threshold : confidence_threshold option;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.dns_threat_protection : dns_threat_protection option;The type of the DNS Firewall Advanced rule. This setting is mutually exclusive with FirewallDomainListId and FirewallRuleType. Valid values are:
DGA: Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains 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.DICTIONARY_DGA: Dictionary-based domain generation algorithms detection. Dictionary DGAs use wordlists to generate domains that appear more legitimate, making them harder to detect than traditional DGAs.qtype : qtype option;The DNS query type you want the rule to evaluate. Allowed values are;
A query type you define by using the DNS type ID, for example 28 for AAAA. The values must be defined as TYPENUMBER, where the NUMBER can be 1-65534, for example, TYPE28. For more information, see List of DNS record types.
If you set up a firewall BLOCK rule with action NXDOMAIN on query type equals AAAA, this action will not be applied to synthetic IPv6 addresses generated when DNS64 is enabled.
firewall_domain_redirection_action : firewall_domain_redirection_action option;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_DOMAIN: Inspects 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.
name : name option;The name of the rule.
*)block_override_ttl : block_override_ttl option;The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_override_dns_type : block_override_dns_type option;The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_override_domain : block_override_domain option;The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_response : block_response option;The way that you want DNS Firewall to block the request. Used for the rule action setting BLOCK.
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's BlockOverride* settings.action : action option;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 Advanced rule:
ALLOW - Permit the request to go through. 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. This option requires additional details in the rule's BlockResponse.priority : priority option;The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
You must specify a unique priority for each rule in a rule group. To make it easier to insert rules later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for the rules in a rule group at any time.
*)firewall_threat_protection_id : resource_id option;The DNS Firewall Advanced rule ID.
*)firewall_domain_list_id : resource_id option;The ID of the domain list to use in the rule.
*)firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group for the rule.
*)}type nonrec firewall_rule_group_association = {modification_time : rfc3339_time_string option;The date and time that the association was last modified, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the association was created, in Unix time format and Coordinated Universal Time (UTC).
*)creator_request_id : creator_request_id option;A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*)status_message : status_message option;Additional information about the status of the response, if available.
*)status : firewall_rule_group_association_status option;The current status of the association.
*)managed_owner_name : service_principle option;The owner of the association, used only for associations that are not managed by you. If you use Firewall Manager to manage your DNS Firewalls, then this reports Firewall Manager as the managed owner.
*)mutation_protection : mutation_protection_status option;If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.
*)priority : priority option;The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from rule group with the lowest numeric priority setting.
*)name : name option;The name of the association.
*)vpc_id : resource_id option;The unique identifier of the VPC that is associated with the rule group.
*)firewall_rule_group_id : resource_id option;The unique identifier of the firewall rule group.
*)arn : arn option;The Amazon Resource Name (ARN) of the firewall rule group association.
*)id : resource_id option;The identifier for the association.
*)}An association between a firewall rule group and a VPC, which enables DNS filtering for the VPC.
type nonrec update_firewall_rule_group_association_response = {firewall_rule_group_association : firewall_rule_group_association option;The association that you just updated.
*)}type nonrec update_firewall_rule_group_association_request = {name : name option;The name of the rule group association.
*)mutation_protection : mutation_protection_status option;If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.
*)priority : priority option;The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting.
You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for a rule group association after you create it.
*)firewall_rule_group_association_id : resource_id;The identifier of the FirewallRuleGroupAssociation.
}type nonrec update_firewall_rule_entry = {firewall_rule_type : firewall_rule_type option;The rule type configuration for the firewall rule. This is a tagged union — set exactly one of its members. This setting is mutually exclusive with the top-level FirewallDomainListId and DnsThreatProtection fields. Use one of:
FirewallAdvancedContentCategory — match an AWS-managed content category (for example, VIOLENCE_AND_HATE_SPEECH).FirewallAdvancedThreatCategory — match an AWS-managed advanced threat category (for example, PHISHING).DnsThreatProtection — match a built-in DNS Firewall Advanced threat detector (DGA, DNS_TUNNELING, or DICTIONARY_DGA).PartnerThreatProtection — match a third-party threat feed delivered through AWS Marketplace. The selected partner must be an active subscription on the calling account.To enumerate the values supported in your account, call ListFirewallRuleTypes.
confidence_threshold : confidence_threshold option;The confidence threshold for DNS Firewall Advanced. You must provide this value when you create or update 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.dns_threat_protection : dns_threat_protection option;The type of the DNS Firewall Advanced rule. This setting is mutually exclusive with FirewallDomainListId and FirewallRuleType. Valid values are:
DGA: Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains 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.DICTIONARY_DGA: Dictionary-based domain generation algorithms detection. Dictionary DGAs use wordlists to generate domains that appear more legitimate, making them harder to detect than traditional DGAs.qtype : qtype option;The DNS query type you want the rule to evaluate. Allowed values are:
firewall_domain_redirection_action : firewall_domain_redirection_action option;How you want 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_DOMAIN: Inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the redirection list to the domain list.
name : name option;The name of the rule.
*)block_override_ttl : block_override_ttl option;The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
block_override_dns_type : block_override_dns_type option;The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_override_domain : block_override_domain option;The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_response : block_response option;The way that you want DNS Firewall to block the request, used with the rule action setting BLOCK.
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's BlockOverride* settings.action : action option;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 Advanced rule:
ALLOW - Permit the request to go through. Not available for DNS Firewall Advanced rules.ALERT - Permit the request and send metrics and logs to CloudWatch.BLOCK - Disallow the request. This option requires additional details in the rule's BlockResponse.priority : priority option;The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
*)firewall_threat_protection_id : resource_id option;The ID of the DNS Firewall Advanced rule.
*)firewall_domain_list_id : resource_id option;The ID of the domain list to use in the rule. This setting is mutually exclusive with DnsThreatProtection and FirewallRuleType.
firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group for the rule.
*)}The details for updating a single firewall rule in a batch operation.
type nonrec update_firewall_rule_entries = update_firewall_rule_entry listtype nonrec update_firewall_domains_response = {status_message : status_message option;Additional information about the status of the list, if available.
*)status : firewall_domain_list_status option;Status of the UpdateFirewallDomains request.
name : name option;The name of the domain list.
*)id : resource_id option;The ID of the firewall domain list that DNS Firewall just updated.
*)}type nonrec firewall_domains = firewall_domain_name listtype nonrec update_firewall_domains_request = {domains : firewall_domains;A list of domains to use in the update operation.
There is a limit of 1000 domains per request.
Each domain specification in your domain list must satisfy the following requirements:
* (asterisk).A-Z, a-z, 0-9, - (hyphen).operation : firewall_domain_update_operation;What you want DNS Firewall to do with the domains that you are providing:
ADD - Add the domains to the ones that are already in the domain list.REMOVE - Search the domain list for the domains and remove them from the list.REPLACE - Update the domain list to exactly match the list that you are providing.firewall_domain_list_id : resource_id;The ID of the domain list whose domains you want to update.
*)}type nonrec firewall_config = {firewall_fail_open : firewall_fail_open_status option;Determines how DNS Firewall operates during failures, for example when all traffic that is sent to DNS Firewall fails to receive a reply.
This behavior is only enforced for VPCs that have at least one DNS Firewall rule group association.
*)owner_id : account_id option;The Amazon Web Services account ID of the owner of the VPC that this firewall configuration applies to.
*)resource_id : resource_id option;The ID of the VPC that this firewall configuration applies to.
*)id : resource_id option;The ID of the firewall configuration.
*)}Configuration of the firewall behavior provided by DNS Firewall for a single VPC from Amazon Virtual Private Cloud (Amazon VPC).
type nonrec update_firewall_config_response = {firewall_config : firewall_config option;Configuration of the firewall behavior provided by DNS Firewall for a single VPC.
*)}type nonrec update_firewall_config_request = {firewall_fail_open : firewall_fail_open_status;Determines how Route 53 Resolver handles queries during failures, for example when all traffic that is sent to DNS Firewall fails to receive a reply.
This behavior is only enforced for VPCs that have at least one DNS Firewall rule group association.
*)resource_id : resource_id;The ID of the VPC that the configuration is for.
*)}type nonrec tag_key_list = tag_key listtype nonrec untag_resource_request = {tag_keys : tag_key_list;The tags that you want to remove to the specified resource.
*)resource_arn : arn;The Amazon Resource Name (ARN) for the resource that you want to remove tags from. To get the ARN for a resource, use the applicable Get or List command:
}The specified resource doesn't exist.
type nonrec tag = {value : tag_value;The value for the tag. For example, if Key is account-id, then Value might be the ID of the customer account that you're creating the resource for.
key : tag_key;The name for the tag. For example, if you want to associate Resolver resources with the account IDs of your customers for billing purposes, the value of Key might be account-id.
}One tag that you want to add to the specified resource. A tag consists of a Key (a name for the tag) and a Value.
type nonrec tag_list = tag listtype nonrec tag_resource_request = {resource_arn : arn;The Amazon Resource Name (ARN) for the resource that you want to add tags to. To get the ARN for a resource, use the applicable Get or List command:
}The specified tag is invalid.
type nonrec subscription_info = {product_id : product_id option;The AWS Marketplace product identifier of the partner threat-protection product. Use this value to verify or manage the calling account's subscription in AWS Marketplace.
*)vendor_name : vendor_name option;The name of the AWS Marketplace seller (vendor) that publishes the partner threat-protection product (for example, Palo Alto Networks).
}Identifies the AWS Marketplace product that backs a partner-managed rule type. Returned as part of FirewallRuleTypeDefinition when the rule type variant requires an active customer subscription to the named product.
The specified Resolver rule policy is invalid.
type nonrec put_resolver_rule_policy_response = {return_value : boolean_ option;Whether the PutResolverRulePolicy request was successful.
}The response to a PutResolverRulePolicy request.
type nonrec put_resolver_rule_policy_request = {resolver_rule_policy : resolver_rule_policy;An Identity and Access Management policy statement that lists the rules that you want to share with another Amazon Web Services account and the operations that you want the account to be able to perform. You can specify the following operations in the Action section of the statement:
route53resolver:GetResolverRuleroute53resolver:AssociateResolverRuleroute53resolver:DisassociateResolverRuleroute53resolver:ListResolverRulesroute53resolver:ListResolverRuleAssociationsIn the Resource section of the statement, specify the ARN for the rule that you want to share with another account. Specify the same ARN that you specified in Arn.
arn : arn;The Amazon Resource Name (ARN) of the rule that you want to share with another account.
*)}type nonrec put_resolver_query_log_config_policy_response = {return_value : boolean_ option;Whether the PutResolverQueryLogConfigPolicy request was successful.
}The response to a PutResolverQueryLogConfigPolicy request.
type nonrec put_resolver_query_log_config_policy_request = {resolver_query_log_config_policy : resolver_query_log_config_policy;An Identity and Access Management policy statement that lists the query logging configurations that you want to share with another Amazon Web Services account and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section of the statement:
route53resolver:AssociateResolverQueryLogConfigroute53resolver:DisassociateResolverQueryLogConfigroute53resolver:ListResolverQueryLogConfigsIn the Resource section of the statement, you specify the ARNs for the query logging configurations that you want to share with the account that you specified in Arn.
arn : arn;The Amazon Resource Name (ARN) of the account that you want to share rules with.
*)}type nonrec put_firewall_rule_group_policy_request = {firewall_rule_group_policy : firewall_rule_group_policy;The Identity and Access Management (Amazon Web Services IAM) policy to attach to the rule group.
*)arn : arn;The ARN (Amazon Resource Name) for the rule group that you want to share.
*)}The value that you specified for NextToken in a List request isn't valid.
type nonrec resolver_rules = resolver_rule listtype nonrec list_resolver_rules_response = {resolver_rules : resolver_rules option;The Resolver rules that were created using the current Amazon Web Services account and that match the specified filters, if any.
*)max_results : max_results option;The value that you specified for MaxResults in the request.
next_token : next_token option;If more than MaxResults Resolver rules match the specified criteria, you can submit another ListResolverRules request to get the next group of results. In the next request, specify the value of NextToken from the previous response.
}type nonrec filter_values = filter_value listtype nonrec filter = {values : filter_values option;When you're using a List operation and you want the operation to return a subset of objects, such as Resolver endpoints or Resolver rules, the value of the parameter that you want to use to filter objects. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.
name : filter_name option;The name of the parameter that you want to use to filter objects.
The valid values for Name depend on the action that you're including the filter in, ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, or ListResolverQueryLogConfigAssociations.
In early versions of Resolver, values for Name were listed as uppercase, with underscore (_) delimiters. For example, CreatorRequestId was originally listed as CREATOR_REQUEST_ID. Uppercase values for Name are still supported.
ListResolverEndpoints
Valid values for Name include the following:
CreatorRequestId: The value that you specified when you created the Resolver endpoint.Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values.HostVPCId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or the VPC that outbound queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint request, the VPC ID for a Resolver endpoint is returned in the HostVPCId element.IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.Name: The name of the Resolver endpoint.SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the Resolver endpoint.Status: The status of the Resolver endpoint. If you specify Status for Name, specify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in ResolverEndpoint.ListResolverRules
Valid values for Name include the following:
CreatorRequestId: The value that you specified when you created the Resolver rule.DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that you specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, specify the following value. Note the "." after com:
example.com.
Name: The name of the Resolver rule.ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.
You can filter on the Resolver endpoint only for rules that have a value of FORWARD for RuleType.
Status: The status of the Resolver rule. If you specify Status for Name, specify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, or FAILED.Type: The type of the Resolver rule. If you specify TYPE for Name, specify FORWARD or SYSTEM for Values.ListResolverRuleAssociations
Valid values for Name include the following:
Name: The name of the Resolver rule association.ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.Status: The status of the Resolver rule association. If you specify Status for Name, specify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or FAILED.VPCId: The ID of the VPC that the Resolver rule is associated with.ListResolverQueryLogConfigs
Valid values for Name include the following:
Arn: The ARN for the query logging configuration.AssociationCount: The number of VPCs that are associated with the query logging configuration.CreationTime: The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).CreatorRequestId: A unique string that identifies the request that created the query logging configuration.Destination: The Amazon Web Services service that you want to forward query logs to. Valid values include the following:
S3CloudWatchLogsKinesisFirehoseDestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.Id: The ID of the query logging configurationName: The name of the query logging configurationOwnerId: The Amazon Web Services account ID for the account that created the query logging configuration.ShareStatus: An indication of whether the query logging configuration is shared with other Amazon Web Services accounts, or was shared with the current account by another Amazon Web Services account. Valid values include: NOT_SHARED, SHARED_WITH_ME, or SHARED_BY_ME.Status: The status of the query logging configuration. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.ListResolverQueryLogConfigAssociations
Valid values for Name include the following:
CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND or ACCESS_DENIED.Id: The ID of the query logging association.ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.Status: The status of the query logging association. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.}For Resolver list operations (ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, ListResolverQueryLogConfigAssociations), and ListResolverDnssecConfigs), an optional specification to return a subset of objects.
To filter objects, such as Resolver endpoints or Resolver rules, you specify Name and Values. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.
type nonrec filters = filter listtype nonrec list_resolver_rules_request = {filters : filters option;An optional specification to return a subset of Resolver rules, such as all Resolver rules that are associated with the same Resolver endpoint.
If you submit a second or subsequent ListResolverRules request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.
next_token : next_token option;For the first ListResolverRules request, omit this value.
If you have more than MaxResults Resolver rules, you can submit another ListResolverRules request to get the next group of Resolver rules. In the next request, specify the value of NextToken from the previous response.
max_results : max_results option;The maximum number of Resolver rules that you want to return in the response to a ListResolverRules request. If you don't specify a value for MaxResults, Resolver returns up to 100 Resolver rules.
}type nonrec resolver_rule_association = {status_message : status_message option;A detailed description of the status of the association between a Resolver rule and a VPC.
*)status : resolver_rule_association_status option;A code that specifies the current status of the association between a Resolver rule and a VPC.
*)vpc_id : resource_id option;The ID of the VPC that you associated the Resolver rule with.
*)name : name option;The name of an association between a Resolver rule and a VPC.
The name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.
*)resolver_rule_id : resource_id option;The ID of the Resolver rule that you associated with the VPC that is specified by VPCId.
id : resource_id option;The ID of the association between a Resolver rule and a VPC. Resolver assigns this value when you submit an AssociateResolverRule request.
*)}In the response to an AssociateResolverRule, DisassociateResolverRule, or ListResolverRuleAssociations request, provides information about an association between a Resolver rule and a VPC. The association determines which DNS queries that originate in the VPC are forwarded to your network.
type nonrec resolver_rule_associations = resolver_rule_association listtype nonrec list_resolver_rule_associations_response = {resolver_rule_associations : resolver_rule_associations option;The associations that were created between Resolver rules and VPCs using the current Amazon Web Services account, and that match the specified filters, if any.
*)max_results : max_results option;The value that you specified for MaxResults in the request.
next_token : next_token option;If more than MaxResults rule associations match the specified criteria, you can submit another ListResolverRuleAssociation request to get the next group of results. In the next request, specify the value of NextToken from the previous response.
}type nonrec list_resolver_rule_associations_request = {filters : filters option;An optional specification to return a subset of Resolver rules, such as Resolver rules that are associated with the same VPC ID.
If you submit a second or subsequent ListResolverRuleAssociations request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.
next_token : next_token option;For the first ListResolverRuleAssociation request, omit this value.
If you have more than MaxResults rule associations, you can submit another ListResolverRuleAssociation request to get the next group of rule associations. In the next request, specify the value of NextToken from the previous response.
max_results : max_results option;The maximum number of rule associations that you want to return in the response to a ListResolverRuleAssociations request. If you don't specify a value for MaxResults, Resolver returns up to 100 rule associations.
}type nonrec resolver_query_log_config = {creation_time : rfc3339_time_string option;The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).
*)creator_request_id : creator_request_id option;A unique string that identifies the request that created the query logging configuration. The CreatorRequestId allows failed requests to be retried without the risk of running the operation twice.
destination_arn : destination_arn option;The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.
*)name : resolver_query_log_config_name option;The name of the query logging configuration.
*)arn : arn option;The ARN for the query logging configuration.
*)association_count : count option;The number of VPCs that are associated with the query logging configuration.
*)status : resolver_query_log_config_status option;The status of the specified query logging configuration. Valid values include the following:
CREATING: Resolver is creating the query logging configuration.CREATED: The query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.DELETING: Resolver is deleting this query logging configuration.FAILED: Resolver can't deliver logs to the location that is specified in the query logging configuration. Here are two common causes:
owner_id : account_id option;The Amazon Web Services account ID for the account that created the query logging configuration.
*)id : resource_id option;The ID for the query logging configuration.
*)}In the response to a CreateResolverQueryLogConfig, DeleteResolverQueryLogConfig, GetResolverQueryLogConfig, or ListResolverQueryLogConfigs request, a complex type that contains settings for one query logging configuration.
type nonrec resolver_query_log_config_list = resolver_query_log_config listtype nonrec list_resolver_query_log_configs_response = {resolver_query_log_configs : resolver_query_log_config_list option;A list that contains one ResolverQueryLogConfig element for each query logging configuration that matches the values that you specified for Filter.
total_filtered_count : count option;The total number of query logging configurations that were created by the current account in the specified Region and that match the filters that were specified in the ListResolverQueryLogConfigs request. For the total number of query logging configurations that were created by the current account in the specified Region, see TotalCount.
total_count : count option;The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the number of query logging configurations that are returned in a ListResolverQueryLogConfigs response, depending on the values that you specify in the request.
next_token : next_token option;If there are more than MaxResults query logging configurations, you can submit another ListResolverQueryLogConfigs request to get the next group of configurations. In the next request, specify the value of NextToken from the previous response.
}type nonrec list_resolver_query_log_configs_request = {sort_order : sort_order option;If you specified a value for SortBy, the order that you want query logging configurations to be listed in, ASCENDING or DESCENDING.
If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, you must use the same value for SortOrder, if any, as in the previous request.
sort_by : sort_by_key option;The element that you want Resolver to sort query logging configurations by.
If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, you must use the same value for SortBy, if any, as in the previous request.
Valid values include the following elements:
Arn: The ARN of the query logging configurationAssociationCount: The number of VPCs that are associated with the specified configurationCreationTime: The date and time that Resolver returned when the configuration was createdCreatorRequestId: The value that was specified for CreatorRequestId when the configuration was createdDestinationArn: The location that logs are sent toId: The ID of the configurationName: The name of the configurationOwnerId: The Amazon Web Services account number of the account that created the configurationShareStatus: Whether the configuration is shared with other Amazon Web Services accounts or shared with the current account by another Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).Status: The current status of the configuration. Valid values include the following:
CREATING: Resolver is creating the query logging configuration.CREATED: The query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.DELETING: Resolver is deleting this query logging configuration.FAILED: Resolver either couldn't create or couldn't delete the query logging configuration. Here are two common causes:
filters : filters option;An optional specification to return a subset of query logging configurations.
If you submit a second or subsequent ListResolverQueryLogConfigs request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.
next_token : next_token option;For the first ListResolverQueryLogConfigs request, omit this value.
If there are more than MaxResults query logging configurations that match the values that you specify for Filters, you can submit another ListResolverQueryLogConfigs request to get the next group of configurations. In the next request, specify the value of NextToken from the previous response.
max_results : max_results option;The maximum number of query logging configurations that you want to return in the response to a ListResolverQueryLogConfigs request. If you don't specify a value for MaxResults, Resolver returns up to 100 query logging configurations.
}type nonrec resolver_query_log_config_association = {creation_time : rfc3339_time_string option;The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).
*)error_message : resolver_query_log_config_association_error_message option;Contains additional information about the error. If the value or Error is null, the value of ErrorMessage also is null.
error : resolver_query_log_config_association_error option;If the value of Status is FAILED, the value of Error indicates the cause:
DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.ACCESS_DENIED: Permissions don't allow sending logs to the destination.If the value of Status is a value other than FAILED, Error is null.
status : resolver_query_log_config_association_status option;The status of the specified query logging association. Valid values include the following:
CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.ACTIVE: The association between an Amazon VPC and a query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.DELETING: Resolver is deleting this query logging association.FAILED: Resolver either couldn't create or couldn't delete the query logging association.resource_id : resource_id option;The ID of the Amazon VPC that is associated with the query logging configuration.
*)resolver_query_log_config_id : resource_id option;The ID of the query logging configuration that a VPC is associated with.
*)id : resource_id option;The ID of the query logging association.
*)}In the response to an AssociateResolverQueryLogConfig, DisassociateResolverQueryLogConfig, GetResolverQueryLogConfigAssociation, or ListResolverQueryLogConfigAssociations, request, a complex type that contains settings for a specified association between an Amazon VPC and a query logging configuration.
type nonrec resolver_query_log_config_association_list =
resolver_query_log_config_association listtype nonrec list_resolver_query_log_config_associations_response = {resolver_query_log_config_associations : resolver_query_log_config_association_list
option;A list that contains one ResolverQueryLogConfigAssociations element for each query logging association that matches the values that you specified for Filter.
total_filtered_count : count option;The total number of query logging associations that were created by the current account in the specified Region and that match the filters that were specified in the ListResolverQueryLogConfigAssociations request. For the total number of associations that were created by the current account in the specified Region, see TotalCount.
total_count : count option;The total number of query logging associations that were created by the current account in the specified Region. This count can differ from the number of associations that are returned in a ListResolverQueryLogConfigAssociations response, depending on the values that you specify in the request.
next_token : next_token option;If there are more than MaxResults query logging associations, you can submit another ListResolverQueryLogConfigAssociations request to get the next group of associations. In the next request, specify the value of NextToken from the previous response.
}type nonrec list_resolver_query_log_config_associations_request = {sort_order : sort_order option;If you specified a value for SortBy, the order that you want query logging associations to be listed in, ASCENDING or DESCENDING.
If you submit a second or subsequent ListResolverQueryLogConfigAssociations request and specify the NextToken parameter, you must use the same value for SortOrder, if any, as in the previous request.
sort_by : sort_by_key option;The element that you want Resolver to sort query logging associations by.
If you submit a second or subsequent ListResolverQueryLogConfigAssociations request and specify the NextToken parameter, you must use the same value for SortBy, if any, as in the previous request.
Valid values include the following elements:
CreationTime: The ID of the query logging association.Error: If the value of Status is FAILED, the value of Error indicates the cause:
DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.ACCESS_DENIED: Permissions don't allow sending logs to the destination.If Status is a value other than FAILED, ERROR is null.
Id: The ID of the query logging associationResolverQueryLogConfigId: The ID of the query logging configurationResourceId: The ID of the VPC that is associated with the query logging configurationStatus: The current status of the configuration. Valid values include the following:
CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.CREATED: The association between an Amazon VPC and a query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.DELETING: Resolver is deleting this query logging association.FAILED: Resolver either couldn't create or couldn't delete the query logging association. Here are two common causes:
filters : filters option;An optional specification to return a subset of query logging associations.
If you submit a second or subsequent ListResolverQueryLogConfigAssociations request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.
next_token : next_token option;For the first ListResolverQueryLogConfigAssociations request, omit this value.
If there are more than MaxResults query logging associations that match the values that you specify for Filters, you can submit another ListResolverQueryLogConfigAssociations request to get the next group of associations. In the next request, specify the value of NextToken from the previous response.
max_results : max_results option;The maximum number of query logging associations that you want to return in the response to a ListResolverQueryLogConfigAssociations request. If you don't specify a value for MaxResults, Resolver returns up to 100 query logging associations.
}type nonrec resolver_endpoints = resolver_endpoint listtype nonrec list_resolver_endpoints_response = {resolver_endpoints : resolver_endpoints option;The Resolver endpoints that were created by using the current Amazon Web Services account, and that match the specified filters, if any.
*)max_results : max_results option;The value that you specified for MaxResults in the request.
next_token : next_token option;If more than MaxResults IP addresses match the specified criteria, you can submit another ListResolverEndpoint request to get the next group of results. In the next request, specify the value of NextToken from the previous response.
}type nonrec list_resolver_endpoints_request = {filters : filters option;An optional specification to return a subset of Resolver endpoints, such as all inbound Resolver endpoints.
If you submit a second or subsequent ListResolverEndpoints request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.
next_token : next_token option;For the first ListResolverEndpoints request, omit this value.
If you have more than MaxResults Resolver endpoints, you can submit another ListResolverEndpoints request to get the next group of Resolver endpoints. In the next request, specify the value of NextToken from the previous response.
max_results : max_results option;The maximum number of Resolver endpoints that you want to return in the response to a ListResolverEndpoints request. If you don't specify a value for MaxResults, Resolver returns up to 100 Resolver endpoints.
}type nonrec ip_address_response = {modification_time : rfc3339_time_string option;The date and time that the IP address was last modified, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the IP address was created, in Unix time format and Coordinated Universal Time (UTC).
*)status_message : status_message option;A message that provides additional information about the status of the request.
*)status : ip_address_status option;A status code that gives the current status of the request.
*)ipv6 : ipv6 option;One IPv6 address that the Resolver endpoint uses for DNS queries.
*)ip : ip option;One IPv4 address that the Resolver endpoint uses for DNS queries.
*)subnet_id : subnet_id option;The ID of one subnet.
*)ip_id : resource_id option;The ID of one IP address.
*)}In the response to a GetResolverEndpoint request, information about the IP addresses that the Resolver endpoint uses for DNS queries.
type nonrec ip_addresses_response = ip_address_response listtype nonrec list_resolver_endpoint_ip_addresses_response = {ip_addresses : ip_addresses_response option;Information about the IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints).
*)max_results : max_results option;The value that you specified for MaxResults in the request.
next_token : next_token option;If the specified endpoint has more than MaxResults IP addresses, you can submit another ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of NextToken from the previous response.
}type nonrec list_resolver_endpoint_ip_addresses_request = {next_token : next_token option;For the first ListResolverEndpointIpAddresses request, omit this value.
If the specified Resolver endpoint has more than MaxResults IP addresses, you can submit another ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of NextToken from the previous response.
max_results : max_results option;The maximum number of IP addresses that you want to return in the response to a ListResolverEndpointIpAddresses request. If you don't specify a value for MaxResults, Resolver returns up to 100 IP addresses.
resolver_endpoint_id : resource_id;The ID of the Resolver endpoint that you want to get IP addresses for.
*)}type nonrec resolver_dnssec_config_list = resolver_dnssec_config listtype nonrec list_resolver_dnssec_configs_response = {resolver_dnssec_configs : resolver_dnssec_config_list option;An array that contains one ResolverDnssecConfig element for each configuration for DNSSEC validation that is associated with the current Amazon Web Services account. It doesn't contain disabled DNSSEC configurations for the resource.
*)next_token : next_token option;If a response includes the last of the DNSSEC configurations that are associated with the current Amazon Web Services account, NextToken doesn't appear in the response.
If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListResolverDnssecConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.
}type nonrec list_resolver_dnssec_configs_request = {filters : filters option;An optional specification to return a subset of objects.
*)next_token : next_token option;(Optional) If the current Amazon Web Services account has more than MaxResults DNSSEC configurations, use NextToken to get the second and subsequent pages of results.
For the first ListResolverDnssecConfigs request, omit this value.
For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.
max_results : max_results option;Optional: An integer that specifies the maximum number of DNSSEC configuration results that you want Amazon Route 53 to return. If you don't specify a value for MaxResults, Route 53 returns up to 100 configuration per page.
}type nonrec resolver_config_list = resolver_config listtype nonrec list_resolver_configs_response = {resolver_configs : resolver_config_list option;An array that contains one ResolverConfigs element for each Resolver configuration that is associated with the current Amazon Web Services account.
next_token : next_token option;If a response includes the last of the Resolver configurations that are associated with the current Amazon Web Services account, NextToken doesn't appear in the response.
If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListResolverConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.
}type nonrec list_resolver_configs_request = {next_token : next_token option;(Optional) If the current Amazon Web Services account has more than MaxResults Resolver configurations, use NextToken to get the second and subsequent pages of results.
For the first ListResolverConfigs request, omit this value.
For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.
max_results : list_resolver_configs_max_result option;The maximum number of Resolver configurations that you want to return in the response to a ListResolverConfigs request. If you don't specify a value for MaxResults, up to 100 Resolver configurations are returned.
}type nonrec outpost_resolver_list = outpost_resolver listtype nonrec list_outpost_resolvers_response = {next_token : next_token option;If more than MaxResults Resolvers match the specified criteria, you can submit another ListOutpostResolver request to get the next group of results. In the next request, specify the value of NextToken from the previous response.
outpost_resolvers : outpost_resolver_list option;The Resolvers on Outposts that were created by using the current Amazon Web Services account, and that match the specified filters, if any.
*)}type nonrec list_outpost_resolvers_request = {next_token : next_token option;For the first ListOutpostResolver request, omit this value.
max_results : max_results option;The maximum number of Resolvers on the Outpost that you want to return in the response to a ListOutpostResolver request. If you don't specify a value for MaxResults, the request returns up to 100 Resolvers.
outpost_arn : outpost_arn option;The Amazon Resource Name (ARN) of the Outpost.
*)}type nonrec firewall_rule_type_definition = {subscription_info : subscription_info option;For rule types that require an external subscription (today, only the PartnerThreatProtection variant), describes the AWS Marketplace product that backs the rule type. Absent for rule types that are managed by AWS and do not require a separate subscription. See SubscriptionInfo.
description : rule_type_description option;A description of the rule type.
*)display_name : display_name option;The display name of the rule type.
*)value : rule_type_value option;The specific identifier within the rule type category, such as VIOLENCE_AND_HATE_SPEECH or PHISHING.
rule_type : rule_type_name option;The category or class of the rule type, such as FirewallAdvancedContentCategory or FirewallAdvancedThreatCategory.
}The definition of an available rule type that can be used in DNS Firewall rules. This is returned by ListFirewallRuleTypes.
type nonrec firewall_rule_type_definitions = firewall_rule_type_definition listtype nonrec list_firewall_rule_types_response = {next_token : next_token option;If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.
*)firewall_rule_types : firewall_rule_type_definitions option;A list of the available rule type definitions.
*)}type nonrec list_firewall_rule_types_request = {next_token : next_token option;For the first call to this list request, omit this value. When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver provides a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
max_results : max_results option;The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.
rule_type : rule_type_name option;An optional filter that restricts the response to a single FirewallRuleType variant. Supported values: FirewallAdvancedContentCategory, FirewallAdvancedThreatCategory, DnsThreatProtection, and PartnerThreatProtection. If omitted, definitions across all variants are returned.
}type nonrec firewall_rules = firewall_rule listtype nonrec list_firewall_rules_response = {firewall_rules : firewall_rules option;A list of the rules that you have defined.
This might be a partial list of the firewall rules that you've defined. For information, see MaxResults.
next_token : next_token option;If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.
*)}type nonrec list_firewall_rules_request = {next_token : next_token option;For the first call to this list request, omit this value.
When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
max_results : max_results option;The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.
If you don't specify a value for MaxResults, Resolver returns up to 100 objects.
action : action option;Optional additional filter for the rules to retrieve.
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 Advanced rule:
ALLOW - Permit the request to go through. Not availabe 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, additional handling details are provided in the rule's BlockResponse setting.priority : priority option;Optional additional filter for the rules to retrieve.
The setting that determines the processing order of the rules in a rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
*)firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group that you want to retrieve the rules for.
*)}type nonrec firewall_rule_group_metadata = {creator_request_id : creator_request_id option;A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*)owner_id : account_id option;The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you.
*)name : name option;The name of the rule group.
*)arn : arn option;The ARN (Amazon Resource Name) of the rule group.
*)id : resource_id option;The ID of the rule group.
*)}Minimal high-level information for a firewall rule group. The action ListFirewallRuleGroups returns an array of these objects.
To retrieve full information for a firewall rule group, call GetFirewallRuleGroup and ListFirewallRules.
type nonrec firewall_rule_group_metadata_list =
firewall_rule_group_metadata listtype nonrec list_firewall_rule_groups_response = {firewall_rule_groups : firewall_rule_group_metadata_list option;A list of your firewall rule groups.
This might be a partial list of the rule groups that you have defined. For information, see MaxResults.
next_token : next_token option;If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.
*)}type nonrec list_firewall_rule_groups_request = {next_token : next_token option;For the first call to this list request, omit this value.
When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
max_results : max_results option;The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.
If you don't specify a value for MaxResults, Resolver returns up to 100 objects.
}type nonrec firewall_rule_group_associations =
firewall_rule_group_association listtype nonrec list_firewall_rule_group_associations_response = {firewall_rule_group_associations : firewall_rule_group_associations option;A list of your firewall rule group associations.
This might be a partial list of the associations that you have defined. For information, see MaxResults.
next_token : next_token option;If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.
*)}type nonrec list_firewall_rule_group_associations_request = {next_token : next_token option;For the first call to this list request, omit this value.
When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
max_results : max_results option;The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.
If you don't specify a value for MaxResults, Resolver returns up to 100 objects.
status : firewall_rule_group_association_status option;The association Status setting that you want DNS Firewall to filter on for the list. If you don't specify this, then DNS Firewall returns all associations, regardless of status.
priority : priority option;The setting that determines the processing order of the rule group among the rule groups that are associated with a single VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting.
*)vpc_id : resource_id option;The unique identifier of the VPC that you want to retrieve the associations for. Leave this blank to retrieve associations for any VPC.
*)firewall_rule_group_id : resource_id option;The unique identifier of the firewall rule group that you want to retrieve the associations for. Leave this blank to retrieve associations for any rule group.
*)}type nonrec list_firewall_domains_response = {domains : firewall_domains option;A list of the domains in the firewall domain list.
This might be a partial list of the domains that you've defined in the domain list. For information, see MaxResults.
next_token : next_token option;If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.
*)}type nonrec list_firewall_domains_request = {next_token : next_token option;For the first call to this list request, omit this value.
When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
max_results : list_domain_max_results option;The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.
If you don't specify a value for MaxResults, Resolver returns up to 100 objects.
firewall_domain_list_id : resource_id;The ID of the domain list whose domains you want to retrieve.
*)}type nonrec firewall_domain_list_metadata = {category : category option;The category of the domain list.
*)managed_list_type : domain_list_type option;The type of the managed domain list, for example THREAT.
managed_owner_name : service_principle option;The owner of the list, used only for lists that are not managed by you. For example, the managed domain list AWSManagedDomainsMalwareDomainList has the managed owner name Route 53 Resolver DNS Firewall.
creator_request_id : creator_request_id option;A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*)name : name option;The name of the domain list.
*)arn : arn option;The Amazon Resource Name (ARN) of the firewall domain list metadata.
*)id : resource_id option;The ID of the domain list.
*)}Minimal high-level information for a firewall domain list. The action ListFirewallDomainLists returns an array of these objects.
To retrieve full information for a firewall domain list, call GetFirewallDomainList and ListFirewallDomains.
type nonrec firewall_domain_list_metadata_list =
firewall_domain_list_metadata listtype nonrec list_firewall_domain_lists_response = {firewall_domain_lists : firewall_domain_list_metadata_list option;A list of the domain lists that you have defined.
This might be a partial list of the domain lists that you've defined. For information, see MaxResults.
next_token : next_token option;If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.
*)}type nonrec list_firewall_domain_lists_request = {next_token : next_token option;For the first call to this list request, omit this value.
When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
max_results : max_results option;The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.
If you don't specify a value for MaxResults, Resolver returns up to 100 objects.
}type nonrec firewall_config_list = firewall_config listtype nonrec list_firewall_configs_response = {firewall_configs : firewall_config_list option;The configurations for the firewall behavior provided by DNS Firewall for VPCs from Amazon Virtual Private Cloud (Amazon VPC).
*)next_token : next_token option;If objects are still available for retrieval, Resolver returns this token in the response. To retrieve the next batch of objects, provide this token in your next request.
*)}type nonrec list_firewall_configs_request = {next_token : next_token option;For the first call to this list request, omit this value.
When you request a list of objects, Resolver returns at most the number of objects specified in MaxResults. If more objects are available for retrieval, Resolver returns a NextToken value in the response. To retrieve the next batch of objects, use the token that was returned for the prior request in your next request.
max_results : list_firewall_configs_max_result option;The maximum number of objects that you want Resolver to return for this request. If more objects are available, in the response, Resolver provides a NextToken value that you can use in a subsequent call to get the next batch of objects.
If you don't specify a value for MaxResults, Resolver returns up to 100 objects.
}type nonrec import_firewall_domains_response = {status_message : status_message option;Additional information about the status of the list, if available.
*)status : firewall_domain_list_status option;Status of the import request.
*)name : name option;The name of the domain list.
*)id : resource_id option;The Id of the firewall domain list that DNS Firewall just updated.
*)}type nonrec import_firewall_domains_request = {domain_file_url : domain_list_file_url;The fully qualified URL or URI of the file stored in Amazon Simple Storage Service (Amazon S3) that contains the list of domains to import.
The file must be in an S3 bucket that's in the same Region as your DNS Firewall. The file must be a text file and must contain a single domain per line.
*)operation : firewall_domain_import_operation;What you want DNS Firewall to do with the domains that are listed in the file. This must be set to REPLACE, which updates the domain list to exactly match the list in the file.
firewall_domain_list_id : resource_id;The ID of the domain list that you want to modify with the import operation.
*)}type nonrec get_resolver_rule_policy_response = {resolver_rule_policy : resolver_rule_policy option;The Resolver rule policy for the rule that you specified in a GetResolverRulePolicy request.
}type nonrec get_resolver_rule_policy_request = {arn : arn;The ID of the Resolver rule that you want to get the Resolver rule policy for.
*)}type nonrec get_resolver_rule_association_response = {resolver_rule_association : resolver_rule_association option;Information about the Resolver rule association that you specified in a GetResolverRuleAssociation request.
}type nonrec get_resolver_rule_association_request = {resolver_rule_association_id : resource_id;The ID of the Resolver rule association that you want to get information about.
*)}type nonrec get_resolver_rule_response = {resolver_rule : resolver_rule option;Information about the Resolver rule that you specified in a GetResolverRule request.
}type nonrec get_resolver_rule_request = {resolver_rule_id : resource_id;The ID of the Resolver rule that you want to get information about.
*)}type nonrec get_resolver_query_log_config_policy_response = {resolver_query_log_config_policy : resolver_query_log_config_policy option;Information about the query logging policy for the query logging configuration that you specified in a GetResolverQueryLogConfigPolicy request.
}type nonrec get_resolver_query_log_config_policy_request = {arn : arn;The ARN of the query logging configuration that you want to get the query logging policy for.
*)}type nonrec get_resolver_query_log_config_association_response = {resolver_query_log_config_association : resolver_query_log_config_association
option;Information about the Resolver query logging configuration association that you specified in a GetQueryLogConfigAssociation request.
}type nonrec get_resolver_query_log_config_association_request = {resolver_query_log_config_association_id : resource_id;The ID of the Resolver query logging configuration association that you want to get information about.
*)}type nonrec get_resolver_query_log_config_response = {resolver_query_log_config : resolver_query_log_config option;Information about the Resolver query logging configuration that you specified in a GetQueryLogConfig request.
}type nonrec get_resolver_query_log_config_request = {resolver_query_log_config_id : resource_id;The ID of the Resolver query logging configuration that you want to get information about.
*)}type nonrec get_resolver_endpoint_response = {resolver_endpoint : resolver_endpoint option;Information about the Resolver endpoint that you specified in a GetResolverEndpoint request.
}type nonrec get_resolver_endpoint_request = {resolver_endpoint_id : resource_id;The ID of the Resolver endpoint that you want to get information about.
*)}type nonrec get_resolver_dnssec_config_response = {resolver_dnssec_config : resolver_dnssec_config option;The information about a configuration for DNSSEC validation.
*)}type nonrec get_resolver_dnssec_config_request = {resource_id : resource_id;The ID of the virtual private cloud (VPC) for the DNSSEC validation status.
*)}type nonrec get_resolver_config_response = {resolver_config : resolver_config option;Information about the behavior configuration of Route 53 Resolver behavior for the VPC you specified in the GetResolverConfig request.
}type nonrec get_resolver_config_request = {resource_id : resource_id;Resource ID of the Amazon VPC that you want to get information about.
*)}type nonrec get_outpost_resolver_response = {outpost_resolver : outpost_resolver option;Information about the GetOutpostResolver request, including the status of the request.
}type nonrec get_outpost_resolver_request = {id : resource_id;The ID of the Resolver on the Outpost.
*)}type nonrec get_firewall_rule_group_policy_response = {firewall_rule_group_policy : firewall_rule_group_policy option;The Identity and Access Management (Amazon Web Services IAM) policy for sharing the specified rule group. You can use the policy to share the rule group using Resource Access Manager (RAM).
*)}type nonrec get_firewall_rule_group_policy_request = {arn : arn;The ARN (Amazon Resource Name) for the rule group.
*)}type nonrec get_firewall_rule_group_association_response = {firewall_rule_group_association : firewall_rule_group_association option;The association that you requested.
*)}type nonrec get_firewall_rule_group_association_request = {firewall_rule_group_association_id : resource_id;The identifier of the FirewallRuleGroupAssociation.
}type nonrec firewall_rule_group = {modification_time : rfc3339_time_string option;The date and time that the rule group was last modified, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the rule group was created, in Unix time format and Coordinated Universal Time (UTC).
*)creator_request_id : creator_request_id option;A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*)owner_id : account_id option;The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you.
*)status_message : status_message option;Additional information about the status of the rule group, if available.
*)status : firewall_rule_group_status option;The status of the domain list.
*)rule_count : unsigned option;The number of rules in the rule group.
*)name : name option;The name of the rule group.
*)arn : arn option;The ARN (Amazon Resource Name) of the rule group.
*)id : resource_id option;The ID of the rule group.
*)}High-level information for a firewall rule group. A firewall rule group is a collection of rules that DNS Firewall uses to filter DNS network traffic for a VPC. To retrieve the rules for the rule group, call ListFirewallRules.
type nonrec get_firewall_rule_group_response = {firewall_rule_group : firewall_rule_group option;A collection of rules used to filter DNS network traffic.
*)}type nonrec get_firewall_rule_group_request = {firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group.
*)}type nonrec firewall_domain_list = {managed_list_type : domain_list_type option;The type of the managed domain list, for example THREAT.
category : category option;The category of the domain list.
*)modification_time : rfc3339_time_string option;The date and time that the domain list was last modified, in Unix time format and Coordinated Universal Time (UTC).
*)creation_time : rfc3339_time_string option;The date and time that the domain list was created, in Unix time format and Coordinated Universal Time (UTC).
*)creator_request_id : creator_request_id option;A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*)managed_owner_name : service_principle option;The owner of the list, used only for lists that are not managed by you. For example, the managed domain list AWSManagedDomainsMalwareDomainList has the managed owner name Route 53 Resolver DNS Firewall.
status_message : status_message option;Additional information about the status of the list, if available.
*)status : firewall_domain_list_status option;The status of the domain list.
*)domain_count : unsigned option;The number of domain names that are specified in the domain list.
*)name : name option;The name of the domain list.
*)arn : arn option;The Amazon Resource Name (ARN) of the firewall domain list.
*)id : resource_id option;The ID of the domain list.
*)}High-level information about a list of firewall domains for use in a FirewallRule. This is returned by GetFirewallDomainList.
To retrieve the domains that are defined for this domain list, call ListFirewallDomains.
type nonrec get_firewall_domain_list_response = {firewall_domain_list : firewall_domain_list option;The domain list that you requested.
*)}type nonrec get_firewall_domain_list_request = {firewall_domain_list_id : resource_id;The ID of the domain list.
*)}type nonrec get_firewall_config_response = {firewall_config : firewall_config option;Configuration of the firewall behavior provided by DNS Firewall for a single VPC from AmazonVPC.
*)}type nonrec get_firewall_config_request = {resource_id : resource_id;The ID of the VPC from Amazon VPC that the configuration is for.
*)}type nonrec disassociate_resolver_rule_response = {resolver_rule_association : resolver_rule_association option;Information about the DisassociateResolverRule request, including the status of the request.
}type nonrec disassociate_resolver_rule_request = {resolver_rule_id : resource_id;The ID of the Resolver rule that you want to disassociate from the specified VPC.
*)vpc_id : resource_id;The ID of the VPC that you want to disassociate the Resolver rule from.
*)}type nonrec disassociate_resolver_query_log_config_response = {resolver_query_log_config_association : resolver_query_log_config_association
option;A complex type that contains settings for the association that you deleted between an Amazon VPC and a query logging configuration.
*)}type nonrec disassociate_resolver_query_log_config_request = {resource_id : resource_id;The ID of the Amazon VPC that you want to disassociate from a specified query logging configuration.
*)resolver_query_log_config_id : resource_id;The ID of the query logging configuration that you want to disassociate a specified VPC from.
*)}type nonrec resource_exists_exception = {resource_type : string_ option;For a ResourceExistsException error, the type of resource that the error applies to.
message : string_ option;}The resource that you tried to create already exists.
type nonrec disassociate_resolver_endpoint_ip_address_response = {resolver_endpoint : resolver_endpoint option;The response to an DisassociateResolverEndpointIpAddress request.
}type nonrec ip_address_update = {ipv6 : ipv6 option;The new IPv6 address.
*)ip : ip option;The new IPv4 address.
*)subnet_id : subnet_id option;The ID of the subnet that includes the IP address that you want to update. To get this ID, use GetResolverEndpoint.
*)ip_id : resource_id option;Only when removing an IP address from a Resolver endpoint: The ID of the IP address that you want to remove. To get this ID, use GetResolverEndpoint.
*)}In an UpdateResolverEndpoint request, information about an IP address to update.
type nonrec disassociate_resolver_endpoint_ip_address_request = {ip_address : ip_address_update;The IPv4 address that you want to remove from a Resolver endpoint.
*)resolver_endpoint_id : resource_id;The ID of the Resolver endpoint that you want to disassociate an IP address from.
*)}type nonrec disassociate_firewall_rule_group_response = {firewall_rule_group_association : firewall_rule_group_association option;The firewall rule group association that you just removed.
*)}type nonrec disassociate_firewall_rule_group_request = {firewall_rule_group_association_id : resource_id;The identifier of the FirewallRuleGroupAssociation.
}type nonrec resource_in_use_exception = {resource_type : string_ option;For a ResourceInUseException error, the type of resource that is currently in use.
message : string_ option;}The resource that you tried to update or delete is currently in use.
type nonrec delete_resolver_rule_response = {resolver_rule : resolver_rule option;Information about the DeleteResolverRule request, including the status of the request.
}type nonrec delete_resolver_rule_request = {resolver_rule_id : resource_id;The ID of the Resolver rule that you want to delete.
*)}type nonrec delete_resolver_query_log_config_response = {resolver_query_log_config : resolver_query_log_config option;Information about the query logging configuration that you deleted, including the status of the request.
*)}type nonrec delete_resolver_query_log_config_request = {resolver_query_log_config_id : resource_id;The ID of the query logging configuration that you want to delete.
*)}type nonrec delete_resolver_endpoint_response = {resolver_endpoint : resolver_endpoint option;Information about the DeleteResolverEndpoint request, including the status of the request.
}type nonrec delete_resolver_endpoint_request = {resolver_endpoint_id : resource_id;The ID of the Resolver endpoint that you want to delete.
*)}type nonrec delete_outpost_resolver_response = {outpost_resolver : outpost_resolver option;Information about the DeleteOutpostResolver request, including the status of the request.
}type nonrec delete_outpost_resolver_request = {id : resource_id;A unique string that identifies the Resolver on the Outpost.
*)}type nonrec delete_firewall_rule_group_response = {firewall_rule_group : firewall_rule_group option;A collection of rules used to filter DNS network traffic.
*)}type nonrec delete_firewall_rule_group_request = {firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group that you want to delete.
*)}type nonrec delete_firewall_rule_response = {firewall_rule : firewall_rule option;The specification for the firewall rule that you just deleted.
*)}type nonrec delete_firewall_rule_request = {qtype : qtype option;The DNS query type that the rule you are deleting evaluates. Allowed values are;
firewall_threat_protection_id : resource_id option;The ID that is created for a DNS Firewall Advanced rule.
*)firewall_domain_list_id : resource_id option;The ID of the domain list that's used in the rule.
*)firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group that you want to delete the rule from.
*)}type nonrec delete_firewall_domain_list_response = {firewall_domain_list : firewall_domain_list option;The domain list that you just deleted.
*)}type nonrec delete_firewall_domain_list_request = {firewall_domain_list_id : resource_id;The ID of the domain list that you want to delete.
*)}type nonrec create_resolver_rule_response = {resolver_rule : resolver_rule option;Information about the CreateResolverRule request, including the status of the request.
}type nonrec create_resolver_rule_request = {delegation_record : delegation_record option;DNS queries with the delegation records that match this domain name are forwarded to the resolvers on your network.
*)resolver_endpoint_id : resource_id option;The ID of the outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.
target_ips : target_list option;The IPs that you want Resolver to forward DNS queries to. You can specify either Ipv4 or Ipv6 addresses but not both in the same rule. Separate IP addresses with a space.
TargetIps is available only when the value of Rule type is FORWARD. You should not provide TargetIps when the Rule type is DELEGATE.
when creating a DELEGATE rule, you must not provide the TargetIps parameter. If you provide the TargetIps, you may receive an ERROR message similar to "Delegate resolver rules need to specify a nameserver name". This error means you should not provide TargetIps.
domain_name : domain_name option;DNS queries for this domain name are forwarded to the IP addresses that you specify in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).
rule_type : rule_type_option;When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD or DELEGATE.
When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.
For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.
Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.
name : name option;A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.
The name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.
*)creator_request_id : creator_request_id;A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.
}type nonrec create_resolver_query_log_config_response = {resolver_query_log_config : resolver_query_log_config option;Information about the CreateResolverQueryLogConfig request, including the status of the request.
}type nonrec create_resolver_query_log_config_request = {creator_request_id : creator_request_id;A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.
destination_arn : destination_arn;The ARN of the resource that you want Resolver to send query logs. You can send query logs to an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream. Examples of valid values include the following:
S3 bucket:
arn:aws:s3:::amzn-s3-demo-bucket
You can optionally append a file prefix to the end of the ARN.
arn:aws:s3:::amzn-s3-demo-bucket/development/
CloudWatch Logs log group:
arn:aws:logs:us-west-1:123456789012:log-group:/mystack-testgroup-12ABC1AB12A1:*
Kinesis Data Firehose delivery stream:
arn:aws:kinesis:us-east-2:0123456789:stream/my_stream_name
name : resolver_query_log_config_name;The name that you want to give the query logging configuration.
*)}type nonrec create_resolver_endpoint_response = {resolver_endpoint : resolver_endpoint option;Information about the CreateResolverEndpoint request, including the status of the request.
}type nonrec ip_address_request = {ipv6 : ipv6 option;The IPv6 address that you want to use for DNS queries.
*)ip : ip option;The IPv4 address that you want to use for DNS queries.
*)subnet_id : subnet_id;The ID of the subnet that contains the IP address.
*)}In a CreateResolverEndpoint request, the IP address that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). IpAddressRequest also includes the ID of the subnet that contains the IP address.
type nonrec ip_addresses_request = ip_address_request listtype nonrec create_resolver_endpoint_request = {ipv6_internet_access_enabled : ipv6_internet_access_enabled option;Specifies whether IPv6 internet access is enabled for the outbound Resolver endpoint. When set to true, the endpoint elastic network interfaces (ENIs) can forward DNS queries to public IPv6 targets through an internet gateway. Default is false.
When you enable IPv6 internet access, use network controls like security groups, NACLs, or egress-only internet gateways to protect the endpoint ENIs from unsolicited ingress traffic. Be aware that some network controls can affect DNS query throughput due to connection tracking. For more information, see Amazon EC2 security group connection tracking and Resolver endpoint scaling.
*)dns64_enabled : dns64_enabled option;Specifies whether DNS64 is enabled for the inbound Resolver endpoint. When set to true, Route 53 Resolver synthesizes AAAA (IPv6) records for IPv4-only services by prepending the 64:ff9b::/96 prefix to the IPv4 address. This enables IPv6-only clients that send queries through the inbound endpoint to reach IPv4-only services. DNS64 works with NAT64 to provide complete IPv6-to-IPv4 translation. Default is false.
target_name_server_metrics_enabled : target_name_server_metrics_enabled option;Specifies whether target name server metrics are enabled for the outbound Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each target name server associated with this endpoint. When set to false, metrics are not published. Default is false. This is not supported for inbound Resolver endpoints.
Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint target name server metrics. For more information, see Detailed metrics.
*)rni_enhanced_metrics_enabled : rni_enhanced_metrics_enabled option;Specifies whether RNI enhanced metrics are enabled for the Resolver endpoints. When set to true, one-minute granular metrics are published in CloudWatch for each RNI associated with this endpoint. When set to false, metrics are not published. Default is false.
Standard CloudWatch pricing and charges are applied for using the Route 53 Resolver endpoint RNI enhanced metrics. For more information, see Detailed metrics.
*)protocols : protocol_list option;The protocols you want to use for the endpoint. DoH-FIPS is applicable for default inbound endpoints only.
For a default inbound endpoint you can apply the protocols as follows:
For a delegation inbound endpoint you can use Do53 only.
For an outbound endpoint you can apply the protocols as follows:
resolver_endpoint_type : resolver_endpoint_type option;For the endpoint type you can choose either IPv4, IPv6, or dual-stack. A dual-stack endpoint means that it will resolve via both IPv4 and IPv6. This endpoint type is applied to all IP addresses.
*)preferred_instance_type : outpost_instance_type option;The instance type. If you specify this, you must also specify a value for the OutpostArn.
outpost_arn : outpost_arn option;The Amazon Resource Name (ARN) of the Outpost. If you specify this, you must also specify a value for the PreferredInstanceType.
ip_addresses : ip_addresses_request;The subnets and IP addresses in your VPC that DNS queries originate from (for outbound endpoints) or that you forward DNS queries to (for inbound endpoints). The subnet ID uniquely identifies a VPC.
Even though the minimum is 1, Route 53 requires that you create at least two.
*)direction : resolver_endpoint_direction;Specify the applicable value:
INBOUND: Resolver forwards DNS queries to the DNS service for a VPC from your network.OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC to your network.INBOUND_DELEGATION: Resolver delegates queries to Route 53 private hosted zones from your network.security_group_ids : security_group_ids;The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify must include one or more inbound rules (for inbound Resolver endpoints) or outbound rules (for outbound Resolver endpoints). Inbound and outbound rules must allow TCP and UDP access. For inbound access, open port 53. For outbound access, open the port that you're using for DNS queries on your network.
Some security group rules will cause your connection to be tracked. For outbound resolver endpoint, it can potentially impact the maximum queries per second from outbound endpoint to your target name server. For inbound resolver endpoint, it can bring down the overall maximum queries per second per IP address to as low as 1500. To avoid connection tracking caused by security group, see Untracked connections.
*)name : name option;A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.
*)creator_request_id : creator_request_id;A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.
}type nonrec create_outpost_resolver_response = {outpost_resolver : outpost_resolver option;Information about the CreateOutpostResolver request, including the status of the request.
}type nonrec create_outpost_resolver_request = {outpost_arn : outpost_arn;The Amazon Resource Name (ARN) of the Outpost. If you specify this, you must also specify a value for the PreferredInstanceType.
preferred_instance_type : outpost_instance_type;The Amazon EC2 instance type. If you specify this, you must also specify a value for the OutpostArn.
instance_count : instance_count option;Number of Amazon EC2 instances for the Resolver on Outpost. The default and minimal value is 4.
*)name : outpost_resolver_name;A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.
*)creator_request_id : creator_request_id;A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice.
CreatorRequestId can be any unique string, for example, a date/time stamp.
}type nonrec create_firewall_rule_group_response = {firewall_rule_group : firewall_rule_group option;A collection of rules used to filter DNS network traffic.
*)}type nonrec create_firewall_rule_group_request = {name : name;A name that lets you identify the rule group, to manage and use it.
*)creator_request_id : creator_request_id;A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*)}type nonrec create_firewall_rule_response = {firewall_rule : firewall_rule option;The firewall rule that you just created.
*)}type nonrec create_firewall_rule_request = {firewall_rule_type : firewall_rule_type option;The rule type configuration for the firewall rule. This is a tagged union — set exactly one of its members. This setting is mutually exclusive with the top-level FirewallDomainListId and DnsThreatProtection fields. Use one of:
FirewallAdvancedContentCategory — match an AWS-managed content category (for example, VIOLENCE_AND_HATE_SPEECH).FirewallAdvancedThreatCategory — match an AWS-managed advanced threat category (for example, PHISHING).DnsThreatProtection — match a built-in DNS Firewall Advanced threat detector (DGA, DNS_TUNNELING, or DICTIONARY_DGA).PartnerThreatProtection — match a third-party threat feed delivered through AWS Marketplace. The selected partner must be an active subscription on the calling account.To enumerate the values supported in your account, call ListFirewallRuleTypes.
confidence_threshold : confidence_threshold option;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.dns_threat_protection : dns_threat_protection option;The type of the DNS Firewall Advanced rule. This setting is mutually exclusive with FirewallDomainListId and FirewallRuleType. Valid values are:
DGA: Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains 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.DICTIONARY_DGA: Dictionary-based domain generation algorithms detection. Dictionary DGAs use wordlists to generate domains that appear more legitimate, making them harder to detect than traditional DGAs.qtype : qtype option;The DNS query type you want the rule to evaluate. Allowed values are;
firewall_domain_redirection_action : firewall_domain_redirection_action option;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_DOMAIN: Inspects 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.
name : name;A name that lets you identify the rule in the rule group.
*)block_override_ttl : block_override_ttl option;The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
block_override_dns_type : block_override_dns_type option;The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
block_override_domain : block_override_domain option;The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
block_response : block_response option;The way that you want DNS Firewall to block the request, used with the rule action setting BLOCK.
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's BlockOverride* settings.This setting is required if the rule action setting is BLOCK.
action : 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 Advanced rule:
ALLOW - Permit the request to go through. Not available for DNS Firewall Advanced rules.ALERT - Permit the request and send metrics and logs to Cloud Watch.BLOCK - Disallow the request. This option requires additional details in the rule's BlockResponse.priority : priority;The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
You must specify a unique priority for each rule in a rule group. To make it easier to insert rules later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for the rules in a rule group at any time.
*)firewall_domain_list_id : resource_id option;The ID of the domain list that you want to use in the rule. Can't be used together with DnsThreatProtecton.
firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group where you want to create the rule.
*)creator_request_id : creator_request_id;A unique string that identifies the request and that allows you to retry failed requests without the risk of running the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.
}type nonrec create_firewall_domain_list_response = {firewall_domain_list : firewall_domain_list option;The domain list that you just created.
*)}type nonrec create_firewall_domain_list_request = {name : name;A name that lets you identify the domain list to manage and use it.
*)creator_request_id : creator_request_id;A unique string that identifies the request and that allows you to retry failed requests without the risk of running the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.
}type nonrec batch_update_firewall_rule_error = {message : string_ option;A message that provides details about the error.
*)code : string_ option;The error code for the failure.
*)firewall_rule : update_firewall_rule_entry option;The firewall rule entry that caused the error.
*)}An error that occurred while updating a firewall rule in a batch operation.
type nonrec batch_update_firewall_rule_errors =
batch_update_firewall_rule_error listtype nonrec batch_update_firewall_rule_response = {update_errors : batch_update_firewall_rule_errors option;A list of errors that occurred while updating the firewall rules.
*)updated_firewall_rules : firewall_rules option;The firewall rules that were successfully updated by the request.
*)}type nonrec batch_update_firewall_rule_request = {update_firewall_rule_entries : update_firewall_rule_entries;The list of firewall rules to update.
*)}type nonrec delete_firewall_rule_entry = {qtype : qtype option;The DNS query type that the rule evaluates.
*)firewall_threat_protection_id : resource_id option;The ID of the DNS Firewall Advanced rule.
*)firewall_domain_list_id : resource_id option;The ID of the domain list that's used in the rule.
*)firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group for the rule.
*)}The details for deleting a single firewall rule in a batch operation.
type nonrec batch_delete_firewall_rule_error = {message : string_ option;A message that provides details about the error.
*)code : string_ option;The error code for the failure.
*)firewall_rule : delete_firewall_rule_entry option;The firewall rule entry that caused the error.
*)}An error that occurred while deleting a firewall rule in a batch operation.
type nonrec batch_delete_firewall_rule_errors =
batch_delete_firewall_rule_error listtype nonrec batch_delete_firewall_rule_response = {delete_errors : batch_delete_firewall_rule_errors option;A list of errors that occurred while deleting the firewall rules.
*)deleted_firewall_rules : firewall_rules option;The firewall rules that were successfully deleted by the request.
*)}type nonrec delete_firewall_rule_entries = delete_firewall_rule_entry listtype nonrec batch_delete_firewall_rule_request = {delete_firewall_rule_entries : delete_firewall_rule_entries;The list of firewall rules to delete.
*)}type nonrec create_firewall_rule_entry = {firewall_rule_type : firewall_rule_type option;The rule type configuration for the firewall rule. This is a tagged union — set exactly one of its members. This setting is mutually exclusive with the top-level FirewallDomainListId and DnsThreatProtection fields. Use one of:
FirewallAdvancedContentCategory — match an AWS-managed content category (for example, VIOLENCE_AND_HATE_SPEECH).FirewallAdvancedThreatCategory — match an AWS-managed advanced threat category (for example, PHISHING).DnsThreatProtection — match a built-in DNS Firewall Advanced threat detector (DGA, DNS_TUNNELING, or DICTIONARY_DGA).PartnerThreatProtection — match a third-party threat feed delivered through AWS Marketplace. The selected partner must be an active subscription on the calling account.To enumerate the values supported in your account, call ListFirewallRuleTypes.
confidence_threshold : confidence_threshold option;The confidence threshold for DNS Firewall Advanced. You must provide this value when you create or update 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.dns_threat_protection : dns_threat_protection option;The type of the DNS Firewall Advanced rule. This setting is mutually exclusive with FirewallDomainListId and FirewallRuleType. Valid values are:
DGA: Domain generation algorithms detection. DGAs are used by attackers to generate a large number of domains 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.DICTIONARY_DGA: Dictionary-based domain generation algorithms detection. Dictionary DGAs use wordlists to generate domains that appear more legitimate, making them harder to detect than traditional DGAs.qtype : qtype option;The DNS query type you want the rule to evaluate. Allowed values are:
firewall_domain_redirection_action : firewall_domain_redirection_action option;How you want 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_DOMAIN: Inspects only the first domain in the redirection chain. You don't need to add the subsequent domains in the redirection list to the domain list.
name : name;A name that lets you identify the rule in the rule group.
*)block_override_ttl : block_override_ttl option;The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
block_override_dns_type : block_override_dns_type option;The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_override_domain : block_override_domain option;The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
block_response : block_response option;The way that you want DNS Firewall to block the request, used with the rule action setting BLOCK.
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's BlockOverride* settings.action : 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 Advanced rule:
ALLOW - Permit the request to go through. Not available for DNS Firewall Advanced rules.ALERT - Permit the request and send metrics and logs to CloudWatch.BLOCK - Disallow the request. This option requires additional details in the rule's BlockResponse.priority : priority;The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
*)firewall_domain_list_id : resource_id option;The ID of the domain list that you want to use in the rule. This setting is mutually exclusive with DnsThreatProtection and FirewallRuleType.
firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group where you want to create the rule.
*)creator_request_id : creator_request_id;A unique string that identifies the request and that allows you to retry failed requests without the risk of running the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.
}The details for creating a single firewall rule in a batch operation.
type nonrec batch_create_firewall_rule_error = {message : string_ option;A message that provides details about the error.
*)code : string_ option;The error code for the failure.
*)firewall_rule : create_firewall_rule_entry option;The firewall rule entry that caused the error.
*)}An error that occurred while creating a firewall rule in a batch operation.
type nonrec batch_create_firewall_rule_errors =
batch_create_firewall_rule_error listtype nonrec batch_create_firewall_rule_response = {create_errors : batch_create_firewall_rule_errors option;A list of errors that occurred while creating the firewall rules.
*)created_firewall_rules : firewall_rules option;The firewall rules that were successfully created by the request.
*)}type nonrec create_firewall_rule_entries = create_firewall_rule_entry listtype nonrec batch_create_firewall_rule_request = {create_firewall_rule_entries : create_firewall_rule_entries;The list of firewall rules to create.
*)}type nonrec associate_resolver_rule_response = {resolver_rule_association : resolver_rule_association option;Information about the AssociateResolverRule request, including the status of the request.
}type nonrec associate_resolver_rule_request = {vpc_id : resource_id;The ID of the VPC that you want to associate the Resolver rule with.
*)name : name option;A name for the association that you're creating between a Resolver rule and a VPC.
The name can be up to 64 characters long and can contain letters (a-z, A-Z), numbers (0-9), hyphens (-), underscores (_), and spaces. The name cannot consist of only numbers.
*)resolver_rule_id : resource_id;The ID of the Resolver rule that you want to associate with the VPC. To list the existing Resolver rules, use ListResolverRules.
*)}type nonrec associate_resolver_query_log_config_response = {resolver_query_log_config_association : resolver_query_log_config_association
option;A complex type that contains settings for a specified association between an Amazon VPC and a query logging configuration.
*)}type nonrec associate_resolver_query_log_config_request = {resource_id : resource_id;The ID of an Amazon VPC that you want this query logging configuration to log queries for.
The VPCs and the query logging configuration must be in the same Region.
*)resolver_query_log_config_id : resource_id;The ID of the query logging configuration that you want to associate a VPC with.
*)}type nonrec associate_resolver_endpoint_ip_address_response = {resolver_endpoint : resolver_endpoint option;The response to an AssociateResolverEndpointIpAddress request.
}type nonrec associate_resolver_endpoint_ip_address_request = {ip_address : ip_address_update;Either the IPv4 address that you want to add to a Resolver endpoint or a subnet ID. If you specify a subnet ID, Resolver chooses an IP address for you from the available IPs in the specified subnet.
*)resolver_endpoint_id : resource_id;The ID of the Resolver endpoint that you want to associate IP addresses with.
*)}type nonrec associate_firewall_rule_group_response = {firewall_rule_group_association : firewall_rule_group_association option;The association that you just created. The association has an ID that you can use to identify it in other requests, like update and delete.
*)}type nonrec associate_firewall_rule_group_request = {mutation_protection : mutation_protection_status option;If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections. When you create the association, the default setting is DISABLED.
name : name;A name that lets you identify the association, to manage and use it.
*)priority : priority;The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting.
You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 101, 200, and so on. You can change the priority setting for a rule group association after you create it.
The allowed values for Priority are between 100 and 9900.
vpc_id : resource_id;The unique identifier of the VPC that you want to associate with the rule group.
*)firewall_rule_group_id : resource_id;The unique identifier of the firewall rule group.
*)creator_request_id : creator_request_id;A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.
}