Route53Resolver
public struct Route53Resolver
Client object for interacting with AWS Route53Resolver service.
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.
-
Undocumented
Declaration
Swift
public let client: AWSClient
-
Initialize the Route53Resolver client
Declaration
Swift
public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared)
Parameters
accessKeyId
Public access key provided by AWS
secretAccessKey
Private access key provided by AWS
sessionToken
Token provided by STS.AssumeRole() which allows access to another AWS account
region
Region of server you want to communicate with
endpoint
Custom endpoint URL to use instead of standard AWS servers
middlewares
Array of middlewares to apply to requests and responses
eventLoopGroupProvider
EventLoopGroup to use. Use
useAWSClientShared
if the client shall manage its own EventLoopGroup.
-
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. To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress.
Declaration
Swift
public func associateResolverEndpointIpAddress(_ input: AssociateResolverEndpointIpAddressRequest) -> EventLoopFuture<AssociateResolverEndpointIpAddressResponse>
-
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. The VPCs that you associate with a query logging configuration must be in the same Region as the configuration. To remove a VPC from a query logging configuration, see DisassociateResolverQueryLogConfig.
Declaration
Swift
public func associateResolverQueryLogConfig(_ input: AssociateResolverQueryLogConfigRequest) -> EventLoopFuture<AssociateResolverQueryLogConfigResponse>
-
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.
Declaration
Swift
public func associateResolverRule(_ input: AssociateResolverRuleRequest) -> EventLoopFuture<AssociateResolverRuleResponse>
-
Creates a Resolver endpoint. There are two types of Resolver endpoints, inbound and outbound: An inbound Resolver endpoint forwards DNS queries to the DNS service for a VPC from your network. An outbound Resolver endpoint forwards DNS queries from the DNS service for a VPC to your network.
Declaration
Swift
public func createResolverEndpoint(_ input: CreateResolverEndpointRequest) -> EventLoopFuture<CreateResolverEndpointResponse>
-
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. To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see AssociateResolverQueryLogConfig. You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts can then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all VPCs that are associated with the configuration.
Declaration
Swift
public func createResolverQueryLogConfig(_ input: CreateResolverQueryLogConfigRequest) -> EventLoopFuture<CreateResolverQueryLogConfigResponse>
-
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.
Declaration
Swift
public func createResolverRule(_ input: CreateResolverRuleRequest) -> EventLoopFuture<CreateResolverRuleResponse>
-
Deletes a Resolver endpoint. The effect of deleting a Resolver endpoint depends on whether it’s an inbound or an outbound Resolver endpoint: Inbound: DNS queries from your network are no longer routed to the DNS service for the specified VPC. Outbound: DNS queries from a VPC are no longer routed to your network.
Declaration
Swift
public func deleteResolverEndpoint(_ input: DeleteResolverEndpointRequest) -> EventLoopFuture<DeleteResolverEndpointResponse>
-
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. Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See DisassociateResolverQueryLogConfig. If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, you must stop sharing the configuration before you can delete a configuration. The accounts that you shared the configuration with can first disassociate VPCs that they associated with the configuration, but that’s not necessary. If you stop sharing the configuration, those VPCs are automatically disassociated from the configuration.
Declaration
Swift
public func deleteResolverQueryLogConfig(_ input: DeleteResolverQueryLogConfigRequest) -> EventLoopFuture<DeleteResolverQueryLogConfigResponse>
-
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.
Declaration
Swift
public func deleteResolverRule(_ input: DeleteResolverRuleRequest) -> EventLoopFuture<DeleteResolverRuleResponse>
-
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. To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress.
Declaration
Swift
public func disassociateResolverEndpointIpAddress(_ input: DisassociateResolverEndpointIpAddressRequest) -> EventLoopFuture<DisassociateResolverEndpointIpAddressResponse>
-
Disassociates a VPC from a query logging configuration. Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, VPCs can be disassociated from the configuration in the following ways: The accounts that you shared the configuration with can disassociate VPCs from the configuration. You can stop sharing the configuration.
Declaration
Swift
public func disassociateResolverQueryLogConfig(_ input: DisassociateResolverQueryLogConfigRequest) -> EventLoopFuture<DisassociateResolverQueryLogConfigResponse>
-
Removes the association between a specified Resolver rule and a specified VPC. If you disassociate a Resolver rule from a VPC, Resolver stops forwarding DNS queries for the domain name that you specified in the Resolver rule.
Declaration
Swift
public func disassociateResolverRule(_ input: DisassociateResolverRuleRequest) -> EventLoopFuture<DisassociateResolverRuleResponse>
-
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.
Declaration
Swift
public func getResolverEndpoint(_ input: GetResolverEndpointRequest) -> EventLoopFuture<GetResolverEndpointResponse>
-
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.
Declaration
Swift
public func getResolverQueryLogConfig(_ input: GetResolverQueryLogConfigRequest) -> EventLoopFuture<GetResolverQueryLogConfigResponse>
-
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.
Declaration
Swift
public func getResolverQueryLogConfigAssociation(_ input: GetResolverQueryLogConfigAssociationRequest) -> EventLoopFuture<GetResolverQueryLogConfigAssociationResponse>
-
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.
Declaration
Swift
public func getResolverQueryLogConfigPolicy(_ input: GetResolverQueryLogConfigPolicyRequest) -> EventLoopFuture<GetResolverQueryLogConfigPolicyResponse>
-
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.
Declaration
Swift
public func getResolverRule(_ input: GetResolverRuleRequest) -> EventLoopFuture<GetResolverRuleResponse>
-
Gets information about an association between a specified Resolver rule and a VPC. You associate a Resolver rule and a VPC using AssociateResolverRule.
Declaration
Swift
public func getResolverRuleAssociation(_ input: GetResolverRuleAssociationRequest) -> EventLoopFuture<GetResolverRuleAssociationResponse>
-
Gets information about a Resolver rule policy. A Resolver rule policy specifies the Resolver operations and resources that you want to allow another AWS account to be able to use.
Declaration
Swift
public func getResolverRulePolicy(_ input: GetResolverRulePolicyRequest) -> EventLoopFuture<GetResolverRulePolicyResponse>
-
Gets the IP addresses for a specified Resolver endpoint.
Declaration
Swift
public func listResolverEndpointIpAddresses(_ input: ListResolverEndpointIpAddressesRequest) -> EventLoopFuture<ListResolverEndpointIpAddressesResponse>
-
Lists all the Resolver endpoints that were created using the current AWS account.
Declaration
Swift
public func listResolverEndpoints(_ input: ListResolverEndpointsRequest) -> EventLoopFuture<ListResolverEndpointsResponse>
-
Lists information about associations between Amazon VPCs and query logging configurations.
Declaration
Swift
public func listResolverQueryLogConfigAssociations(_ input: ListResolverQueryLogConfigAssociationsRequest) -> EventLoopFuture<ListResolverQueryLogConfigAssociationsResponse>
-
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.
Declaration
Swift
public func listResolverQueryLogConfigs(_ input: ListResolverQueryLogConfigsRequest) -> EventLoopFuture<ListResolverQueryLogConfigsResponse>
-
Lists the associations that were created between Resolver rules and VPCs using the current AWS account.
Declaration
Swift
public func listResolverRuleAssociations(_ input: ListResolverRuleAssociationsRequest) -> EventLoopFuture<ListResolverRuleAssociationsResponse>
-
Lists the Resolver rules that were created using the current AWS account.
Declaration
Swift
public func listResolverRules(_ input: ListResolverRulesRequest) -> EventLoopFuture<ListResolverRulesResponse>
-
Lists the tags that you associated with the specified resource.
Declaration
Swift
public func listTagsForResource(_ input: ListTagsForResourceRequest) -> EventLoopFuture<ListTagsForResourceResponse>
-
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.
Declaration
Swift
public func putResolverQueryLogConfigPolicy(_ input: PutResolverQueryLogConfigPolicyRequest) -> EventLoopFuture<PutResolverQueryLogConfigPolicyResponse>
-
Specifies an AWS account that you want to share rules with, the Resolver rules that you want to share, and the operations that you want the account to be able to perform on those rules.
Declaration
Swift
public func putResolverRulePolicy(_ input: PutResolverRulePolicyRequest) -> EventLoopFuture<PutResolverRulePolicyResponse>
-
Adds one or more tags to a specified resource.
Declaration
Swift
public func tagResource(_ input: TagResourceRequest) -> EventLoopFuture<TagResourceResponse>
-
Removes one or more tags from a specified resource.
Declaration
Swift
public func untagResource(_ input: UntagResourceRequest) -> EventLoopFuture<UntagResourceResponse>
-
Updates the name of an inbound or an outbound Resolver endpoint.
Declaration
Swift
public func updateResolverEndpoint(_ input: UpdateResolverEndpointRequest) -> EventLoopFuture<UpdateResolverEndpointResponse>
-
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.
Declaration
Swift
public func updateResolverRule(_ input: UpdateResolverRuleRequest) -> EventLoopFuture<UpdateResolverRuleResponse>
-
Gets the IP addresses for a specified Resolver endpoint.
Declaration
Swift
public func listResolverEndpointIpAddressesPaginator(_ input: ListResolverEndpointIpAddressesRequest, onPage: @escaping (ListResolverEndpointIpAddressesResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Lists all the Resolver endpoints that were created using the current AWS account.
Declaration
Swift
public func listResolverEndpointsPaginator(_ input: ListResolverEndpointsRequest, onPage: @escaping (ListResolverEndpointsResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Lists information about associations between Amazon VPCs and query logging configurations.
Declaration
Swift
public func listResolverQueryLogConfigAssociationsPaginator(_ input: ListResolverQueryLogConfigAssociationsRequest, onPage: @escaping (ListResolverQueryLogConfigAssociationsResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
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.
Declaration
Swift
public func listResolverQueryLogConfigsPaginator(_ input: ListResolverQueryLogConfigsRequest, onPage: @escaping (ListResolverQueryLogConfigsResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Lists the associations that were created between Resolver rules and VPCs using the current AWS account.
Declaration
Swift
public func listResolverRuleAssociationsPaginator(_ input: ListResolverRuleAssociationsRequest, onPage: @escaping (ListResolverRuleAssociationsResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Lists the Resolver rules that were created using the current AWS account.
Declaration
Swift
public func listResolverRulesPaginator(_ input: ListResolverRulesRequest, onPage: @escaping (ListResolverRulesResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Lists the tags that you associated with the specified resource.
Declaration
Swift
public func listTagsForResourcePaginator(_ input: ListTagsForResourceRequest, onPage: @escaping (ListTagsForResourceResponse, EventLoop) -> EventLoopFuture<Bool>) -> EventLoopFuture<Void>
-
Undocumented
See moreDeclaration
Swift
public struct ListResolverEndpointIpAddressesRequest : AWSShape
extension Route53Resolver.ListResolverEndpointIpAddressesRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListResolverEndpointsRequest : AWSShape
extension Route53Resolver.ListResolverEndpointsRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListResolverQueryLogConfigAssociationsRequest : AWSShape
extension Route53Resolver.ListResolverQueryLogConfigAssociationsRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListResolverQueryLogConfigsRequest : AWSShape
extension Route53Resolver.ListResolverQueryLogConfigsRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListResolverRuleAssociationsRequest : AWSShape
extension Route53Resolver.ListResolverRuleAssociationsRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListResolverRulesRequest : AWSShape
extension Route53Resolver.ListResolverRulesRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public struct ListTagsForResourceRequest : AWSShape
extension Route53Resolver.ListTagsForResourceRequest: AWSPaginateStringToken
-
Undocumented
See moreDeclaration
Swift
public enum IpAddressStatus : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResolverEndpointDirection : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResolverEndpointStatus : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResolverQueryLogConfigAssociationError : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResolverQueryLogConfigAssociationStatus : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResolverQueryLogConfigStatus : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResolverRuleAssociationStatus : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ResolverRuleStatus : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum RuleTypeOption : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum ShareStatus : String, CustomStringConvertible, Codable
-
Undocumented
See moreDeclaration
Swift
public enum SortOrder : String, CustomStringConvertible, Codable