Route53Resolver class

When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC from Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names such as domain names for EC2 instances or ELB load balancers. Resolver performs recursive lookups against public name servers for all other domain names.

You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:

Forward DNS queries from resolvers on your network to Route 53 Resolver

DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers to easily resolve domain names for AWS resources such as EC2 instances or records in a Route 53 private hosted zone. For more information, see How DNS Resolvers on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.

Conditionally forward queries from a VPC to resolvers on your network

You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. To forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward (such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. If a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match (acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see How Route 53 Resolver Forwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.

Like Amazon VPC, Resolver is regional. In each region where you have VPCs, you can choose whether to forward queries from your VPCs to your network (outbound queries), from your network to your VPCs (inbound queries), or both.

Constructors

Route53Resolver({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

associateResolverEndpointIpAddress({required IpAddressUpdate ipAddress, required String resolverEndpointId}) Future<AssociateResolverEndpointIpAddressResponse>
Adds IP addresses to an inbound or an outbound Resolver endpoint. If you want to add more than one IP address, submit one AssociateResolverEndpointIpAddress request for each IP address.
associateResolverQueryLogConfig({required String resolverQueryLogConfigId, required String resourceId}) Future<AssociateResolverQueryLogConfigResponse>
Associates an Amazon VPC with a specified query logging configuration. Route 53 Resolver logs DNS queries that originate in all of the Amazon VPCs that are associated with a specified query logging configuration. To associate more than one VPC with a configuration, submit one AssociateResolverQueryLogConfig request for each VPC. To remove a VPC from a query logging configuration, see DisassociateResolverQueryLogConfig.
associateResolverRule({required String resolverRuleId, required String vPCId, String? name}) Future<AssociateResolverRuleResponse>
Associates a Resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries for the domain name that is specified in the rule and that originate in the VPC. The queries are forwarded to the IP addresses for the DNS resolvers that are specified in the rule. For more information about rules, see CreateResolverRule.
close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
createResolverEndpoint({required String creatorRequestId, required ResolverEndpointDirection direction, required List<IpAddressRequest> ipAddresses, required List<String> securityGroupIds, String? name, List<Tag>? tags}) Future<CreateResolverEndpointResponse>
Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound and outbound:
createResolverQueryLogConfig({required String destinationArn, required String name, String? creatorRequestId, List<Tag>? tags}) Future<CreateResolverQueryLogConfigResponse>
Creates a Resolver query logging configuration, which defines where you want Resolver to save DNS query logs that originate in your VPCs. Resolver can log queries only for VPCs that are in the same Region as the query logging configuration.
createResolverRule({required String creatorRequestId, required String domainName, required RuleTypeOption ruleType, String? name, String? resolverEndpointId, List<Tag>? tags, List<TargetAddress>? targetIps}) Future<CreateResolverRuleResponse>
For DNS queries that originate in your VPCs, specifies which Resolver endpoint the queries pass through, one domain name that you want to forward to your network, and the IP addresses of the DNS resolvers in your network.
deleteResolverEndpoint({required String resolverEndpointId}) Future<DeleteResolverEndpointResponse>
Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint depends on whether it's an inbound or an outbound Resolver endpoint:
deleteResolverQueryLogConfig({required String resolverQueryLogConfigId}) Future<DeleteResolverQueryLogConfigResponse>
Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are associated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and the other accounts have associated VPCs with the shared configuration.
deleteResolverRule({required String resolverRuleId}) Future<DeleteResolverRuleResponse>
Deletes a Resolver rule. Before you can delete a Resolver rule, you must disassociate it from all the VPCs that you associated the Resolver rule with. For more information, see DisassociateResolverRule.
disassociateResolverEndpointIpAddress({required IpAddressUpdate ipAddress, required String resolverEndpointId}) Future<DisassociateResolverEndpointIpAddressResponse>
Removes IP addresses from an inbound or an outbound Resolver endpoint. If you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress request for each IP address.
disassociateResolverQueryLogConfig({required String resolverQueryLogConfigId, required String resourceId}) Future<DisassociateResolverQueryLogConfigResponse>
Disassociates a VPC from a query logging configuration.
disassociateResolverRule({required String resolverRuleId, required String vPCId}) Future<DisassociateResolverRuleResponse>
Removes the association between a specified Resolver rule and a specified VPC.
getResolverDnssecConfig({required String resourceId}) Future<GetResolverDnssecConfigResponse>
Gets DNSSEC validation information for a specified resource.
getResolverEndpoint({required String resolverEndpointId}) Future<GetResolverEndpointResponse>
Gets information about a specified Resolver endpoint, such as whether it's an inbound or an outbound Resolver endpoint, and the current status of the endpoint.
getResolverQueryLogConfig({required String resolverQueryLogConfigId}) Future<GetResolverQueryLogConfigResponse>
Gets information about a specified Resolver query logging configuration, such as the number of VPCs that the configuration is logging queries for and the location that logs are sent to.
getResolverQueryLogConfigAssociation({required String resolverQueryLogConfigAssociationId}) Future<GetResolverQueryLogConfigAssociationResponse>
Gets information about a specified association between a Resolver query logging configuration and an Amazon VPC. When you associate a VPC with a query logging configuration, Resolver logs DNS queries that originate in that VPC.
getResolverQueryLogConfigPolicy({required String arn}) Future<GetResolverQueryLogConfigPolicyResponse>
Gets information about a query logging policy. A query logging policy specifies the Resolver query logging operations and resources that you want to allow another AWS account to be able to use.
getResolverRule({required String resolverRuleId}) Future<GetResolverRuleResponse>
Gets information about a specified Resolver rule, such as the domain name that the rule forwards DNS queries for and the ID of the outbound Resolver endpoint that the rule is associated with.
getResolverRuleAssociation({required String resolverRuleAssociationId}) Future<GetResolverRuleAssociationResponse>
Gets information about an association between a specified Resolver rule and a VPC. You associate a Resolver rule and a VPC using AssociateResolverRule.
getResolverRulePolicy({required String arn}) Future<GetResolverRulePolicyResponse>
Gets information about the Resolver rule policy for a specified rule. A Resolver rule policy includes the rule that you want to share with another account, the account that you want to share the rule with, and the Resolver operations that you want to allow the account to use.
listResolverDnssecConfigs({List<Filter>? filters, int? maxResults, String? nextToken}) Future<ListResolverDnssecConfigsResponse>
Lists the configurations for DNSSEC validation that are associated with the current AWS account.
listResolverEndpointIpAddresses({required String resolverEndpointId, int? maxResults, String? nextToken}) Future<ListResolverEndpointIpAddressesResponse>
Gets the IP addresses for a specified Resolver endpoint.
listResolverEndpoints({List<Filter>? filters, int? maxResults, String? nextToken}) Future<ListResolverEndpointsResponse>
Lists all the Resolver endpoints that were created using the current AWS account.
listResolverQueryLogConfigAssociations({List<Filter>? filters, int? maxResults, String? nextToken, String? sortBy, SortOrder? sortOrder}) Future<ListResolverQueryLogConfigAssociationsResponse>
Lists information about associations between Amazon VPCs and query logging configurations.
listResolverQueryLogConfigs({List<Filter>? filters, int? maxResults, String? nextToken, String? sortBy, SortOrder? sortOrder}) Future<ListResolverQueryLogConfigsResponse>
Lists information about the specified query logging configurations. Each configuration defines where you want Resolver to save DNS query logs and specifies the VPCs that you want to log queries for.
listResolverRuleAssociations({List<Filter>? filters, int? maxResults, String? nextToken}) Future<ListResolverRuleAssociationsResponse>
Lists the associations that were created between Resolver rules and VPCs using the current AWS account.
listResolverRules({List<Filter>? filters, int? maxResults, String? nextToken}) Future<ListResolverRulesResponse>
Lists the Resolver rules that were created using the current AWS account.
listTagsForResource({required String resourceArn, int? maxResults, String? nextToken}) Future<ListTagsForResourceResponse>
Lists the tags that you associated with the specified resource.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
putResolverQueryLogConfigPolicy({required String arn, required String resolverQueryLogConfigPolicy}) Future<PutResolverQueryLogConfigPolicyResponse>
Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, and the operations that you want the account to be able to perform on the configuration.
putResolverRulePolicy({required String arn, required String resolverRulePolicy}) Future<PutResolverRulePolicyResponse>
Specifies an AWS rule that you want to share with another account, the account that you want to share the rule with, and the operations that you want the account to be able to perform on the rule.
tagResource({required String resourceArn, required List<Tag> tags}) Future<void>
Adds one or more tags to a specified resource.
toString() String
A string representation of this object.
inherited
untagResource({required String resourceArn, required List<String> tagKeys}) Future<void>
Removes one or more tags from a specified resource.
updateResolverDnssecConfig({required String resourceId, required Validation validation}) Future<UpdateResolverDnssecConfigResponse>
Updates an existing DNSSEC validation configuration. If there is no existing DNSSEC validation configuration, one is created.
updateResolverEndpoint({required String resolverEndpointId, String? name}) Future<UpdateResolverEndpointResponse>
Updates the name of an inbound or an outbound Resolver endpoint.
updateResolverRule({required ResolverRuleConfig config, required String resolverRuleId}) Future<UpdateResolverRuleResponse>
Updates settings for a specified Resolver rule. ResolverRuleId is required, and all other parameters are optional. If you don't specify a parameter, it retains its current value.

Operators

operator ==(Object other) bool
The equality operator.
inherited