/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace Route53Resolver
{
namespace Model
{
class AssociateResolverEndpointIpAddressRequest;
class AssociateResolverRuleRequest;
class CreateResolverEndpointRequest;
class CreateResolverRuleRequest;
class DeleteResolverEndpointRequest;
class DeleteResolverRuleRequest;
class DisassociateResolverEndpointIpAddressRequest;
class DisassociateResolverRuleRequest;
class GetResolverEndpointRequest;
class GetResolverRuleRequest;
class GetResolverRuleAssociationRequest;
class GetResolverRulePolicyRequest;
class ListResolverEndpointIpAddressesRequest;
class ListResolverEndpointsRequest;
class ListResolverRuleAssociationsRequest;
class ListResolverRulesRequest;
class ListTagsForResourceRequest;
class PutResolverRulePolicyRequest;
class TagResourceRequest;
class UntagResourceRequest;
class UpdateResolverEndpointRequest;
class UpdateResolverRuleRequest;
typedef Aws::Utils::Outcome AssociateResolverEndpointIpAddressOutcome;
typedef Aws::Utils::Outcome AssociateResolverRuleOutcome;
typedef Aws::Utils::Outcome CreateResolverEndpointOutcome;
typedef Aws::Utils::Outcome CreateResolverRuleOutcome;
typedef Aws::Utils::Outcome DeleteResolverEndpointOutcome;
typedef Aws::Utils::Outcome DeleteResolverRuleOutcome;
typedef Aws::Utils::Outcome DisassociateResolverEndpointIpAddressOutcome;
typedef Aws::Utils::Outcome DisassociateResolverRuleOutcome;
typedef Aws::Utils::Outcome GetResolverEndpointOutcome;
typedef Aws::Utils::Outcome GetResolverRuleOutcome;
typedef Aws::Utils::Outcome GetResolverRuleAssociationOutcome;
typedef Aws::Utils::Outcome GetResolverRulePolicyOutcome;
typedef Aws::Utils::Outcome ListResolverEndpointIpAddressesOutcome;
typedef Aws::Utils::Outcome ListResolverEndpointsOutcome;
typedef Aws::Utils::Outcome ListResolverRuleAssociationsOutcome;
typedef Aws::Utils::Outcome ListResolverRulesOutcome;
typedef Aws::Utils::Outcome ListTagsForResourceOutcome;
typedef Aws::Utils::Outcome PutResolverRulePolicyOutcome;
typedef Aws::Utils::Outcome TagResourceOutcome;
typedef Aws::Utils::Outcome UntagResourceOutcome;
typedef Aws::Utils::Outcome UpdateResolverEndpointOutcome;
typedef Aws::Utils::Outcome UpdateResolverRuleOutcome;
typedef std::future AssociateResolverEndpointIpAddressOutcomeCallable;
typedef std::future AssociateResolverRuleOutcomeCallable;
typedef std::future CreateResolverEndpointOutcomeCallable;
typedef std::future CreateResolverRuleOutcomeCallable;
typedef std::future DeleteResolverEndpointOutcomeCallable;
typedef std::future DeleteResolverRuleOutcomeCallable;
typedef std::future DisassociateResolverEndpointIpAddressOutcomeCallable;
typedef std::future DisassociateResolverRuleOutcomeCallable;
typedef std::future GetResolverEndpointOutcomeCallable;
typedef std::future GetResolverRuleOutcomeCallable;
typedef std::future GetResolverRuleAssociationOutcomeCallable;
typedef std::future GetResolverRulePolicyOutcomeCallable;
typedef std::future ListResolverEndpointIpAddressesOutcomeCallable;
typedef std::future ListResolverEndpointsOutcomeCallable;
typedef std::future ListResolverRuleAssociationsOutcomeCallable;
typedef std::future ListResolverRulesOutcomeCallable;
typedef std::future ListTagsForResourceOutcomeCallable;
typedef std::future PutResolverRulePolicyOutcomeCallable;
typedef std::future TagResourceOutcomeCallable;
typedef std::future UntagResourceOutcomeCallable;
typedef std::future UpdateResolverEndpointOutcomeCallable;
typedef std::future UpdateResolverRuleOutcomeCallable;
} // namespace Model
class Route53ResolverClient;
typedef std::function&) > AssociateResolverEndpointIpAddressResponseReceivedHandler;
typedef std::function&) > AssociateResolverRuleResponseReceivedHandler;
typedef std::function&) > CreateResolverEndpointResponseReceivedHandler;
typedef std::function&) > CreateResolverRuleResponseReceivedHandler;
typedef std::function&) > DeleteResolverEndpointResponseReceivedHandler;
typedef std::function&) > DeleteResolverRuleResponseReceivedHandler;
typedef std::function&) > DisassociateResolverEndpointIpAddressResponseReceivedHandler;
typedef std::function&) > DisassociateResolverRuleResponseReceivedHandler;
typedef std::function&) > GetResolverEndpointResponseReceivedHandler;
typedef std::function&) > GetResolverRuleResponseReceivedHandler;
typedef std::function&) > GetResolverRuleAssociationResponseReceivedHandler;
typedef std::function&) > GetResolverRulePolicyResponseReceivedHandler;
typedef std::function&) > ListResolverEndpointIpAddressesResponseReceivedHandler;
typedef std::function&) > ListResolverEndpointsResponseReceivedHandler;
typedef std::function&) > ListResolverRuleAssociationsResponseReceivedHandler;
typedef std::function&) > ListResolverRulesResponseReceivedHandler;
typedef std::function&) > ListTagsForResourceResponseReceivedHandler;
typedef std::function&) > PutResolverRulePolicyResponseReceivedHandler;
typedef std::function&) > TagResourceResponseReceivedHandler;
typedef std::function&) > UntagResourceResponseReceivedHandler;
typedef std::function&) > UpdateResolverEndpointResponseReceivedHandler;
typedef std::function&) > UpdateResolverRuleResponseReceivedHandler;
/**
* Here's how you set up to query an Amazon Route 53 private hosted zone from
* your network:
-
Connect your network to a VPC using AWS Direct
* Connect or a VPN.
-
Run the following AWS CLI command to create
* a Resolver endpoint:
create-resolver-endpoint --name
* [endpoint_name] --direction INBOUND --creator-request-id [unique_string]
* --security-group-ids [security_group_with_inbound_rules] --ip-addresses
* SubnetId=[subnet_id] SubnetId=[subnet_id_in_different_AZ]
Note
* the resolver endpoint ID that appears in the response. You'll use it in step
* 3.
-
Get the IP addresses for the Resolver endpoints:
* get-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id]
*
-
In your network configuration, define the IP addresses that
* you got in step 3 as DNS servers.
You can now query instance names in
* your VPCs and the names of records in your private hosted zone.
* You can also perform the following operations using the AWS CLI:
* -
list-resolver-endpoints: List all endpoints. The syntax
* includes options for pagination and filtering.
-
* update-resolver-endpoints: Add IP addresses to an endpoint or
* remove IP addresses from an endpoint.
To delete an endpoint,
* use the following AWS CLI command:
delete-resolver-endpoint
* --resolver-endpoint-id [resolver_endpoint_id]
*/
class AWS_ROUTE53RESOLVER_API Route53ResolverClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
Route53ResolverClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
Route53ResolverClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
Route53ResolverClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~Route53ResolverClient();
/**
* Adds IP addresses to an inbound or an outbound resolver endpoint. If you want
* to adding more than one IP address, submit one
* AssociateResolverEndpointIpAddress request for each IP address.
* To remove an IP address from an endpoint, see
* DisassociateResolverEndpointIpAddress.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateResolverEndpointIpAddressOutcome AssociateResolverEndpointIpAddress(const Model::AssociateResolverEndpointIpAddressRequest& request) const;
/**
* Adds IP addresses to an inbound or an outbound resolver endpoint. If you want
* to adding more than one IP address, submit one
* AssociateResolverEndpointIpAddress request for each IP address.
* To remove an IP address from an endpoint, see
* DisassociateResolverEndpointIpAddress.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateResolverEndpointIpAddressOutcomeCallable AssociateResolverEndpointIpAddressCallable(const Model::AssociateResolverEndpointIpAddressRequest& request) const;
/**
* Adds IP addresses to an inbound or an outbound resolver endpoint. If you want
* to adding more than one IP address, submit one
* AssociateResolverEndpointIpAddress request for each IP address.
* To remove an IP address from an endpoint, see
* DisassociateResolverEndpointIpAddress.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateResolverEndpointIpAddressAsync(const Model::AssociateResolverEndpointIpAddressRequest& request, const AssociateResolverEndpointIpAddressResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::AssociateResolverRuleOutcome AssociateResolverRule(const Model::AssociateResolverRuleRequest& request) const;
/**
* 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.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateResolverRuleOutcomeCallable AssociateResolverRuleCallable(const Model::AssociateResolverRuleRequest& request) const;
/**
* 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.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateResolverRuleAsync(const Model::AssociateResolverRuleRequest& request, const AssociateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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 or another
* VPC.
-
An outbound resolver endpoint forwards DNS queries
* from the DNS service for a VPC to your network or another VPC.
*
See Also:
AWS
* API Reference
*/
virtual Model::CreateResolverEndpointOutcome CreateResolverEndpoint(const Model::CreateResolverEndpointRequest& request) const;
/**
* 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 or another
* VPC.
-
An outbound resolver endpoint forwards DNS queries
* from the DNS service for a VPC to your network or another VPC.
*
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateResolverEndpointOutcomeCallable CreateResolverEndpointCallable(const Model::CreateResolverEndpointRequest& request) const;
/**
* 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 or another
* VPC.
-
An outbound resolver endpoint forwards DNS queries
* from the DNS service for a VPC to your network or another VPC.
*
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateResolverEndpointAsync(const Model::CreateResolverEndpointRequest& request, const CreateResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateResolverRuleOutcome CreateResolverRule(const Model::CreateResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateResolverRuleOutcomeCallable CreateResolverRuleCallable(const Model::CreateResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateResolverRuleAsync(const Model::CreateResolverRuleRequest& request, const CreateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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 or another VPC 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 or
* to another VPC.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteResolverEndpointOutcome DeleteResolverEndpoint(const Model::DeleteResolverEndpointRequest& request) const;
/**
* 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 or another VPC 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 or
* to another VPC.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteResolverEndpointOutcomeCallable DeleteResolverEndpointCallable(const Model::DeleteResolverEndpointRequest& request) const;
/**
* 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 or another VPC 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 or
* to another VPC.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteResolverEndpointAsync(const Model::DeleteResolverEndpointRequest& request, const DeleteResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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 infomation, see DisassociateResolverRule.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteResolverRuleOutcome DeleteResolverRule(const Model::DeleteResolverRuleRequest& request) const;
/**
* 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 infomation, see DisassociateResolverRule.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteResolverRuleOutcomeCallable DeleteResolverRuleCallable(const Model::DeleteResolverRuleRequest& request) const;
/**
* 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 infomation, see DisassociateResolverRule.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteResolverRuleAsync(const Model::DeleteResolverRuleRequest& request, const DeleteResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateResolverEndpointIpAddressOutcome DisassociateResolverEndpointIpAddress(const Model::DisassociateResolverEndpointIpAddressRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateResolverEndpointIpAddressOutcomeCallable DisassociateResolverEndpointIpAddressCallable(const Model::DisassociateResolverEndpointIpAddressRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateResolverEndpointIpAddressAsync(const Model::DisassociateResolverEndpointIpAddressRequest& request, const DisassociateResolverEndpointIpAddressResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateResolverRuleOutcome DisassociateResolverRule(const Model::DisassociateResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateResolverRuleOutcomeCallable DisassociateResolverRuleCallable(const Model::DisassociateResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateResolverRuleAsync(const Model::DisassociateResolverRuleRequest& request, const DisassociateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetResolverEndpointOutcome GetResolverEndpoint(const Model::GetResolverEndpointRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResolverEndpointOutcomeCallable GetResolverEndpointCallable(const Model::GetResolverEndpointRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResolverEndpointAsync(const Model::GetResolverEndpointRequest& request, const GetResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetResolverRuleOutcome GetResolverRule(const Model::GetResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResolverRuleOutcomeCallable GetResolverRuleCallable(const Model::GetResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResolverRuleAsync(const Model::GetResolverRuleRequest& request, const GetResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets information about an association between a specified resolver rule and a
* VPC. You associate a resolver rule and a VPC using AssociateResolverRule.
*
See Also:
AWS
* API Reference
*/
virtual Model::GetResolverRuleAssociationOutcome GetResolverRuleAssociation(const Model::GetResolverRuleAssociationRequest& request) const;
/**
* Gets information about an association between a specified resolver rule and a
* VPC. You associate a resolver rule and a VPC using AssociateResolverRule.
*
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResolverRuleAssociationOutcomeCallable GetResolverRuleAssociationCallable(const Model::GetResolverRuleAssociationRequest& request) const;
/**
* Gets information about an association between a specified resolver rule and a
* VPC. You associate a resolver rule and a VPC using AssociateResolverRule.
*
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResolverRuleAssociationAsync(const Model::GetResolverRuleAssociationRequest& request, const GetResolverRuleAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::GetResolverRulePolicyOutcome GetResolverRulePolicy(const Model::GetResolverRulePolicyRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResolverRulePolicyOutcomeCallable GetResolverRulePolicyCallable(const Model::GetResolverRulePolicyRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResolverRulePolicyAsync(const Model::GetResolverRulePolicyRequest& request, const GetResolverRulePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets the IP addresses for a specified resolver endpoint.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListResolverEndpointIpAddressesOutcome ListResolverEndpointIpAddresses(const Model::ListResolverEndpointIpAddressesRequest& request) const;
/**
* Gets the IP addresses for a specified resolver endpoint.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListResolverEndpointIpAddressesOutcomeCallable ListResolverEndpointIpAddressesCallable(const Model::ListResolverEndpointIpAddressesRequest& request) const;
/**
* Gets the IP addresses for a specified resolver endpoint.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListResolverEndpointIpAddressesAsync(const Model::ListResolverEndpointIpAddressesRequest& request, const ListResolverEndpointIpAddressesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists all the resolver endpoints that were created using the current AWS
* account.
See Also:
AWS
* API Reference
*/
virtual Model::ListResolverEndpointsOutcome ListResolverEndpoints(const Model::ListResolverEndpointsRequest& request) const;
/**
* Lists all the resolver endpoints that were created using the current AWS
* account.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListResolverEndpointsOutcomeCallable ListResolverEndpointsCallable(const Model::ListResolverEndpointsRequest& request) const;
/**
* Lists all the resolver endpoints that were created using the current AWS
* account.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListResolverEndpointsAsync(const Model::ListResolverEndpointsRequest& request, const ListResolverEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the associations that were created between resolver rules and VPCs
* using the current AWS account.
See Also:
AWS
* API Reference
*/
virtual Model::ListResolverRuleAssociationsOutcome ListResolverRuleAssociations(const Model::ListResolverRuleAssociationsRequest& request) const;
/**
* Lists the associations that were created between resolver rules and VPCs
* using the current AWS account.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListResolverRuleAssociationsOutcomeCallable ListResolverRuleAssociationsCallable(const Model::ListResolverRuleAssociationsRequest& request) const;
/**
* Lists the associations that were created between resolver rules and VPCs
* using the current AWS account.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListResolverRuleAssociationsAsync(const Model::ListResolverRuleAssociationsRequest& request, const ListResolverRuleAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the resolver rules that were created using the current AWS
* account.
See Also:
AWS
* API Reference
*/
virtual Model::ListResolverRulesOutcome ListResolverRules(const Model::ListResolverRulesRequest& request) const;
/**
* Lists the resolver rules that were created using the current AWS
* account.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListResolverRulesOutcomeCallable ListResolverRulesCallable(const Model::ListResolverRulesRequest& request) const;
/**
* Lists the resolver rules that were created using the current AWS
* account.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListResolverRulesAsync(const Model::ListResolverRulesRequest& request, const ListResolverRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the tags that you associated with the specified resource.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* Lists the tags that you associated with the specified resource.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const;
/**
* Lists the tags that you associated with the specified resource.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Specifies the Resolver operations and resources that you want to allow
* another AWS account to be able to use.
See Also:
AWS
* API Reference
*/
virtual Model::PutResolverRulePolicyOutcome PutResolverRulePolicy(const Model::PutResolverRulePolicyRequest& request) const;
/**
* Specifies the Resolver operations and resources that you want to allow
* another AWS account to be able to use.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PutResolverRulePolicyOutcomeCallable PutResolverRulePolicyCallable(const Model::PutResolverRulePolicyRequest& request) const;
/**
* Specifies the Resolver operations and resources that you want to allow
* another AWS account to be able to use.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PutResolverRulePolicyAsync(const Model::PutResolverRulePolicyRequest& request, const PutResolverRulePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Adds one or more tags to a specified resource.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* Adds one or more tags to a specified resource.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
/**
* Adds one or more tags to a specified resource.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Removes one or more tags from a specified resource.
See Also:
* AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* Removes one or more tags from a specified resource.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
/**
* Removes one or more tags from a specified resource.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates the name of an inbound or an outbound resolver endpoint.
*
See Also:
AWS
* API Reference
*/
virtual Model::UpdateResolverEndpointOutcome UpdateResolverEndpoint(const Model::UpdateResolverEndpointRequest& request) const;
/**
* Updates the name of an inbound or an outbound resolver endpoint.
*
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateResolverEndpointOutcomeCallable UpdateResolverEndpointCallable(const Model::UpdateResolverEndpointRequest& request) const;
/**
* Updates the name of an inbound or an outbound resolver endpoint.
*
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateResolverEndpointAsync(const Model::UpdateResolverEndpointRequest& request, const UpdateResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateResolverRuleOutcome UpdateResolverRule(const Model::UpdateResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateResolverRuleOutcomeCallable UpdateResolverRuleCallable(const Model::UpdateResolverRuleRequest& request) const;
/**
* 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.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateResolverRuleAsync(const Model::UpdateResolverRuleRequest& request, const UpdateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void AssociateResolverEndpointIpAddressAsyncHelper(const Model::AssociateResolverEndpointIpAddressRequest& request, const AssociateResolverEndpointIpAddressResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void AssociateResolverRuleAsyncHelper(const Model::AssociateResolverRuleRequest& request, const AssociateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateResolverEndpointAsyncHelper(const Model::CreateResolverEndpointRequest& request, const CreateResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateResolverRuleAsyncHelper(const Model::CreateResolverRuleRequest& request, const CreateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteResolverEndpointAsyncHelper(const Model::DeleteResolverEndpointRequest& request, const DeleteResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteResolverRuleAsyncHelper(const Model::DeleteResolverRuleRequest& request, const DeleteResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DisassociateResolverEndpointIpAddressAsyncHelper(const Model::DisassociateResolverEndpointIpAddressRequest& request, const DisassociateResolverEndpointIpAddressResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DisassociateResolverRuleAsyncHelper(const Model::DisassociateResolverRuleRequest& request, const DisassociateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResolverEndpointAsyncHelper(const Model::GetResolverEndpointRequest& request, const GetResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResolverRuleAsyncHelper(const Model::GetResolverRuleRequest& request, const GetResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResolverRuleAssociationAsyncHelper(const Model::GetResolverRuleAssociationRequest& request, const GetResolverRuleAssociationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResolverRulePolicyAsyncHelper(const Model::GetResolverRulePolicyRequest& request, const GetResolverRulePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListResolverEndpointIpAddressesAsyncHelper(const Model::ListResolverEndpointIpAddressesRequest& request, const ListResolverEndpointIpAddressesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListResolverEndpointsAsyncHelper(const Model::ListResolverEndpointsRequest& request, const ListResolverEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListResolverRuleAssociationsAsyncHelper(const Model::ListResolverRuleAssociationsRequest& request, const ListResolverRuleAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListResolverRulesAsyncHelper(const Model::ListResolverRulesRequest& request, const ListResolverRulesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void PutResolverRulePolicyAsyncHelper(const Model::PutResolverRulePolicyRequest& request, const PutResolverRulePolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateResolverEndpointAsyncHelper(const Model::UpdateResolverEndpointRequest& request, const UpdateResolverEndpointResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateResolverRuleAsyncHelper(const Model::UpdateResolverRuleRequest& request, const UpdateResolverRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr m_executor;
};
} // namespace Route53Resolver
} // namespace Aws