
com.amazonaws.services.route53resolver.AmazonRoute53ResolverClient Maven / Gradle / Ivy
/*
* Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.route53resolver;
import org.w3c.dom.*;
import java.net.*;
import java.util.*;
import javax.annotation.Generated;
import org.apache.commons.logging.*;
import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;
import com.amazonaws.services.route53resolver.AmazonRoute53ResolverClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.route53resolver.model.*;
import com.amazonaws.services.route53resolver.model.transform.*;
/**
* Client for accessing Route53Resolver. All service calls made using this client are blocking, and will not return
* until the service call completes.
*
*
* 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 Elastic Load
* Balancing 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 Amazon Web Services 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.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AmazonRoute53ResolverClient extends AmazonWebServiceClient implements AmazonRoute53Resolver {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AmazonRoute53Resolver.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "route53resolver";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final AdvancedConfig advancedConfig;
private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory(
new JsonClientMetadata()
.withProtocolVersion("1.1")
.withSupportsCbor(false)
.withSupportsIon(false)
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidParameterException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.InvalidParameterExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceInUseException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.ResourceInUseExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidRequestException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.InvalidRequestExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidPolicyDocument").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.InvalidPolicyDocumentExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.ThrottlingExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidNextTokenException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.InvalidNextTokenExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("LimitExceededException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.LimitExceededExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InvalidTagException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.InvalidTagExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.AccessDeniedExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.ConflictExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("UnknownResourceException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.UnknownResourceExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceUnavailableException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.ResourceUnavailableExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ValidationException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.ValidationExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("InternalServiceErrorException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.InternalServiceErrorExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("ResourceExistsException").withExceptionUnmarshaller(
com.amazonaws.services.route53resolver.model.transform.ResourceExistsExceptionUnmarshaller.getInstance()))
.withBaseServiceExceptionClass(com.amazonaws.services.route53resolver.model.AmazonRoute53ResolverException.class));
public static AmazonRoute53ResolverClientBuilder builder() {
return AmazonRoute53ResolverClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on Route53Resolver using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonRoute53ResolverClient(AwsSyncClientParams clientParams) {
this(clientParams, false);
}
/**
* Constructs a new client to invoke service methods on Route53Resolver using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AmazonRoute53ResolverClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
this.advancedConfig = clientParams.getAdvancedConfig();
init();
}
private void init() {
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
setEndpoint("route53resolver.us-east-1.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/route53resolver/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/route53resolver/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
* Associates a FirewallRuleGroup with a VPC, to provide DNS filtering for the VPC.
*
*
* @param associateFirewallRuleGroupRequest
* @return Result of the AssociateFirewallRuleGroup operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ConflictException
* 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.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.AssociateFirewallRuleGroup
* @see AWS API Documentation
*/
@Override
public AssociateFirewallRuleGroupResult associateFirewallRuleGroup(AssociateFirewallRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeAssociateFirewallRuleGroup(request);
}
@SdkInternalApi
final AssociateFirewallRuleGroupResult executeAssociateFirewallRuleGroup(AssociateFirewallRuleGroupRequest associateFirewallRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(associateFirewallRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AssociateFirewallRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(associateFirewallRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateFirewallRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AssociateFirewallRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param associateResolverEndpointIpAddressRequest
* @return Result of the AssociateResolverEndpointIpAddress operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws ResourceExistsException
* The resource that you tried to create already exists.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.AssociateResolverEndpointIpAddress
* @see AWS API Documentation
*/
@Override
public AssociateResolverEndpointIpAddressResult associateResolverEndpointIpAddress(AssociateResolverEndpointIpAddressRequest request) {
request = beforeClientExecution(request);
return executeAssociateResolverEndpointIpAddress(request);
}
@SdkInternalApi
final AssociateResolverEndpointIpAddressResult executeAssociateResolverEndpointIpAddress(
AssociateResolverEndpointIpAddressRequest associateResolverEndpointIpAddressRequest) {
ExecutionContext executionContext = createExecutionContext(associateResolverEndpointIpAddressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AssociateResolverEndpointIpAddressRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(associateResolverEndpointIpAddressRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateResolverEndpointIpAddress");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AssociateResolverEndpointIpAddressResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param associateResolverQueryLogConfigRequest
* @return Result of the AssociateResolverQueryLogConfig operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws ResourceExistsException
* The resource that you tried to create already exists.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.AssociateResolverQueryLogConfig
* @see AWS API Documentation
*/
@Override
public AssociateResolverQueryLogConfigResult associateResolverQueryLogConfig(AssociateResolverQueryLogConfigRequest request) {
request = beforeClientExecution(request);
return executeAssociateResolverQueryLogConfig(request);
}
@SdkInternalApi
final AssociateResolverQueryLogConfigResult executeAssociateResolverQueryLogConfig(
AssociateResolverQueryLogConfigRequest associateResolverQueryLogConfigRequest) {
ExecutionContext executionContext = createExecutionContext(associateResolverQueryLogConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AssociateResolverQueryLogConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(associateResolverQueryLogConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateResolverQueryLogConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AssociateResolverQueryLogConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param associateResolverRuleRequest
* @return Result of the AssociateResolverRule operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceUnavailableException
* The specified resource isn't available.
* @throws ResourceExistsException
* The resource that you tried to create already exists.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.AssociateResolverRule
* @see AWS API Documentation
*/
@Override
public AssociateResolverRuleResult associateResolverRule(AssociateResolverRuleRequest request) {
request = beforeClientExecution(request);
return executeAssociateResolverRule(request);
}
@SdkInternalApi
final AssociateResolverRuleResult executeAssociateResolverRule(AssociateResolverRuleRequest associateResolverRuleRequest) {
ExecutionContext executionContext = createExecutionContext(associateResolverRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AssociateResolverRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateResolverRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateResolverRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new AssociateResolverRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates an empty firewall domain list for use in DNS Firewall rules. You can populate the domains for the new
* list with a file, using ImportFirewallDomains, or with domain strings, using UpdateFirewallDomains.
*
*
* @param createFirewallDomainListRequest
* @return Result of the CreateFirewallDomainList operation returned by the service.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.CreateFirewallDomainList
* @see AWS API Documentation
*/
@Override
public CreateFirewallDomainListResult createFirewallDomainList(CreateFirewallDomainListRequest request) {
request = beforeClientExecution(request);
return executeCreateFirewallDomainList(request);
}
@SdkInternalApi
final CreateFirewallDomainListResult executeCreateFirewallDomainList(CreateFirewallDomainListRequest createFirewallDomainListRequest) {
ExecutionContext executionContext = createExecutionContext(createFirewallDomainListRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateFirewallDomainListRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createFirewallDomainListRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateFirewallDomainList");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateFirewallDomainListResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a single DNS Firewall rule in the specified rule group, using the specified domain list.
*
*
* @param createFirewallRuleRequest
* @return Result of the CreateFirewallRule operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.CreateFirewallRule
* @see AWS API Documentation
*/
@Override
public CreateFirewallRuleResult createFirewallRule(CreateFirewallRuleRequest request) {
request = beforeClientExecution(request);
return executeCreateFirewallRule(request);
}
@SdkInternalApi
final CreateFirewallRuleResult executeCreateFirewallRule(CreateFirewallRuleRequest createFirewallRuleRequest) {
ExecutionContext executionContext = createExecutionContext(createFirewallRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateFirewallRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createFirewallRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateFirewallRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateFirewallRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates an empty DNS Firewall rule group for filtering DNS network traffic in a VPC. You can add rules to the new
* rule group by calling CreateFirewallRule.
*
*
* @param createFirewallRuleGroupRequest
* @return Result of the CreateFirewallRuleGroup operation returned by the service.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.CreateFirewallRuleGroup
* @see AWS API Documentation
*/
@Override
public CreateFirewallRuleGroupResult createFirewallRuleGroup(CreateFirewallRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateFirewallRuleGroup(request);
}
@SdkInternalApi
final CreateFirewallRuleGroupResult executeCreateFirewallRuleGroup(CreateFirewallRuleGroupRequest createFirewallRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createFirewallRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateFirewallRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createFirewallRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateFirewallRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateFirewallRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
*
*
* @param createResolverEndpointRequest
* @return Result of the CreateResolverEndpoint operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws ResourceExistsException
* The resource that you tried to create already exists.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.CreateResolverEndpoint
* @see AWS API Documentation
*/
@Override
public CreateResolverEndpointResult createResolverEndpoint(CreateResolverEndpointRequest request) {
request = beforeClientExecution(request);
return executeCreateResolverEndpoint(request);
}
@SdkInternalApi
final CreateResolverEndpointResult executeCreateResolverEndpoint(CreateResolverEndpointRequest createResolverEndpointRequest) {
ExecutionContext executionContext = createExecutionContext(createResolverEndpointRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateResolverEndpointRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createResolverEndpointRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateResolverEndpoint");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateResolverEndpointResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Resource Access Manager (RAM) to share a query logging configuration with other Amazon Web
* Services 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.
*
*
* @param createResolverQueryLogConfigRequest
* @return Result of the CreateResolverQueryLogConfig operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws ResourceExistsException
* The resource that you tried to create already exists.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.CreateResolverQueryLogConfig
* @see AWS API Documentation
*/
@Override
public CreateResolverQueryLogConfigResult createResolverQueryLogConfig(CreateResolverQueryLogConfigRequest request) {
request = beforeClientExecution(request);
return executeCreateResolverQueryLogConfig(request);
}
@SdkInternalApi
final CreateResolverQueryLogConfigResult executeCreateResolverQueryLogConfig(CreateResolverQueryLogConfigRequest createResolverQueryLogConfigRequest) {
ExecutionContext executionContext = createExecutionContext(createResolverQueryLogConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateResolverQueryLogConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createResolverQueryLogConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateResolverQueryLogConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateResolverQueryLogConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param createResolverRuleRequest
* @return Result of the CreateResolverRule operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ResourceExistsException
* The resource that you tried to create already exists.
* @throws ResourceUnavailableException
* The specified resource isn't available.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.CreateResolverRule
* @see AWS API Documentation
*/
@Override
public CreateResolverRuleResult createResolverRule(CreateResolverRuleRequest request) {
request = beforeClientExecution(request);
return executeCreateResolverRule(request);
}
@SdkInternalApi
final CreateResolverRuleResult executeCreateResolverRule(CreateResolverRuleRequest createResolverRuleRequest) {
ExecutionContext executionContext = createExecutionContext(createResolverRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateResolverRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createResolverRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateResolverRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateResolverRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes the specified domain list.
*
*
* @param deleteFirewallDomainListRequest
* @return Result of the DeleteFirewallDomainList operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ConflictException
* 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.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DeleteFirewallDomainList
* @see AWS API Documentation
*/
@Override
public DeleteFirewallDomainListResult deleteFirewallDomainList(DeleteFirewallDomainListRequest request) {
request = beforeClientExecution(request);
return executeDeleteFirewallDomainList(request);
}
@SdkInternalApi
final DeleteFirewallDomainListResult executeDeleteFirewallDomainList(DeleteFirewallDomainListRequest deleteFirewallDomainListRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFirewallDomainListRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteFirewallDomainListRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteFirewallDomainListRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFirewallDomainList");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteFirewallDomainListResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes the specified firewall rule.
*
*
* @param deleteFirewallRuleRequest
* @return Result of the DeleteFirewallRule operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DeleteFirewallRule
* @see AWS API Documentation
*/
@Override
public DeleteFirewallRuleResult deleteFirewallRule(DeleteFirewallRuleRequest request) {
request = beforeClientExecution(request);
return executeDeleteFirewallRule(request);
}
@SdkInternalApi
final DeleteFirewallRuleResult executeDeleteFirewallRule(DeleteFirewallRuleRequest deleteFirewallRuleRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFirewallRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteFirewallRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteFirewallRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFirewallRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteFirewallRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes the specified firewall rule group.
*
*
* @param deleteFirewallRuleGroupRequest
* @return Result of the DeleteFirewallRuleGroup operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ConflictException
* 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.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DeleteFirewallRuleGroup
* @see AWS API Documentation
*/
@Override
public DeleteFirewallRuleGroupResult deleteFirewallRuleGroup(DeleteFirewallRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeDeleteFirewallRuleGroup(request);
}
@SdkInternalApi
final DeleteFirewallRuleGroupResult executeDeleteFirewallRuleGroup(DeleteFirewallRuleGroupRequest deleteFirewallRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(deleteFirewallRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteFirewallRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteFirewallRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFirewallRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteFirewallRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
*
*
* @param deleteResolverEndpointRequest
* @return Result of the DeleteResolverEndpoint operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DeleteResolverEndpoint
* @see AWS API Documentation
*/
@Override
public DeleteResolverEndpointResult deleteResolverEndpoint(DeleteResolverEndpointRequest request) {
request = beforeClientExecution(request);
return executeDeleteResolverEndpoint(request);
}
@SdkInternalApi
final DeleteResolverEndpointResult executeDeleteResolverEndpoint(DeleteResolverEndpointRequest deleteResolverEndpointRequest) {
ExecutionContext executionContext = createExecutionContext(deleteResolverEndpointRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteResolverEndpointRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteResolverEndpointRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteResolverEndpoint");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteResolverEndpointResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Amazon Web Services 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.
*
*
* @param deleteResolverQueryLogConfigRequest
* @return Result of the DeleteResolverQueryLogConfig operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.DeleteResolverQueryLogConfig
* @see AWS API Documentation
*/
@Override
public DeleteResolverQueryLogConfigResult deleteResolverQueryLogConfig(DeleteResolverQueryLogConfigRequest request) {
request = beforeClientExecution(request);
return executeDeleteResolverQueryLogConfig(request);
}
@SdkInternalApi
final DeleteResolverQueryLogConfigResult executeDeleteResolverQueryLogConfig(DeleteResolverQueryLogConfigRequest deleteResolverQueryLogConfigRequest) {
ExecutionContext executionContext = createExecutionContext(deleteResolverQueryLogConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteResolverQueryLogConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteResolverQueryLogConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteResolverQueryLogConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteResolverQueryLogConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param deleteResolverRuleRequest
* @return Result of the DeleteResolverRule operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ResourceInUseException
* The resource that you tried to update or delete is currently in use.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DeleteResolverRule
* @see AWS API Documentation
*/
@Override
public DeleteResolverRuleResult deleteResolverRule(DeleteResolverRuleRequest request) {
request = beforeClientExecution(request);
return executeDeleteResolverRule(request);
}
@SdkInternalApi
final DeleteResolverRuleResult executeDeleteResolverRule(DeleteResolverRuleRequest deleteResolverRuleRequest) {
ExecutionContext executionContext = createExecutionContext(deleteResolverRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteResolverRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteResolverRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteResolverRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteResolverRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Disassociates a FirewallRuleGroup from a VPC, to remove DNS filtering from the VPC.
*
*
* @param disassociateFirewallRuleGroupRequest
* @return Result of the DisassociateFirewallRuleGroup operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws ConflictException
* 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.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DisassociateFirewallRuleGroup
* @see AWS API Documentation
*/
@Override
public DisassociateFirewallRuleGroupResult disassociateFirewallRuleGroup(DisassociateFirewallRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeDisassociateFirewallRuleGroup(request);
}
@SdkInternalApi
final DisassociateFirewallRuleGroupResult executeDisassociateFirewallRuleGroup(DisassociateFirewallRuleGroupRequest disassociateFirewallRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateFirewallRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisassociateFirewallRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(disassociateFirewallRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateFirewallRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DisassociateFirewallRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param disassociateResolverEndpointIpAddressRequest
* @return Result of the DisassociateResolverEndpointIpAddress operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws ResourceExistsException
* The resource that you tried to create already exists.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DisassociateResolverEndpointIpAddress
* @see AWS API Documentation
*/
@Override
public DisassociateResolverEndpointIpAddressResult disassociateResolverEndpointIpAddress(DisassociateResolverEndpointIpAddressRequest request) {
request = beforeClientExecution(request);
return executeDisassociateResolverEndpointIpAddress(request);
}
@SdkInternalApi
final DisassociateResolverEndpointIpAddressResult executeDisassociateResolverEndpointIpAddress(
DisassociateResolverEndpointIpAddressRequest disassociateResolverEndpointIpAddressRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateResolverEndpointIpAddressRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisassociateResolverEndpointIpAddressRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(disassociateResolverEndpointIpAddressRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateResolverEndpointIpAddress");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DisassociateResolverEndpointIpAddressResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
*
*
*
* @param disassociateResolverQueryLogConfigRequest
* @return Result of the DisassociateResolverQueryLogConfig operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.DisassociateResolverQueryLogConfig
* @see AWS API Documentation
*/
@Override
public DisassociateResolverQueryLogConfigResult disassociateResolverQueryLogConfig(DisassociateResolverQueryLogConfigRequest request) {
request = beforeClientExecution(request);
return executeDisassociateResolverQueryLogConfig(request);
}
@SdkInternalApi
final DisassociateResolverQueryLogConfigResult executeDisassociateResolverQueryLogConfig(
DisassociateResolverQueryLogConfigRequest disassociateResolverQueryLogConfigRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateResolverQueryLogConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisassociateResolverQueryLogConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(disassociateResolverQueryLogConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateResolverQueryLogConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DisassociateResolverQueryLogConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
*
* @param disassociateResolverRuleRequest
* @return Result of the DisassociateResolverRule operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.DisassociateResolverRule
* @see AWS API Documentation
*/
@Override
public DisassociateResolverRuleResult disassociateResolverRule(DisassociateResolverRuleRequest request) {
request = beforeClientExecution(request);
return executeDisassociateResolverRule(request);
}
@SdkInternalApi
final DisassociateResolverRuleResult executeDisassociateResolverRule(DisassociateResolverRuleRequest disassociateResolverRuleRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateResolverRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisassociateResolverRuleRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(disassociateResolverRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateResolverRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DisassociateResolverRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the configuration of the firewall behavior provided by DNS Firewall for a single VPC from Amazon
* Virtual Private Cloud (Amazon VPC).
*
*
* @param getFirewallConfigRequest
* @return Result of the GetFirewallConfig operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @sample AmazonRoute53Resolver.GetFirewallConfig
* @see AWS API Documentation
*/
@Override
public GetFirewallConfigResult getFirewallConfig(GetFirewallConfigRequest request) {
request = beforeClientExecution(request);
return executeGetFirewallConfig(request);
}
@SdkInternalApi
final GetFirewallConfigResult executeGetFirewallConfig(GetFirewallConfigRequest getFirewallConfigRequest) {
ExecutionContext executionContext = createExecutionContext(getFirewallConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFirewallConfigRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getFirewallConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFirewallConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetFirewallConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the specified firewall domain list.
*
*
* @param getFirewallDomainListRequest
* @return Result of the GetFirewallDomainList operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.GetFirewallDomainList
* @see AWS API Documentation
*/
@Override
public GetFirewallDomainListResult getFirewallDomainList(GetFirewallDomainListRequest request) {
request = beforeClientExecution(request);
return executeGetFirewallDomainList(request);
}
@SdkInternalApi
final GetFirewallDomainListResult executeGetFirewallDomainList(GetFirewallDomainListRequest getFirewallDomainListRequest) {
ExecutionContext executionContext = createExecutionContext(getFirewallDomainListRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFirewallDomainListRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getFirewallDomainListRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFirewallDomainList");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetFirewallDomainListResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the specified firewall rule group.
*
*
* @param getFirewallRuleGroupRequest
* @return Result of the GetFirewallRuleGroup operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.GetFirewallRuleGroup
* @see AWS API Documentation
*/
@Override
public GetFirewallRuleGroupResult getFirewallRuleGroup(GetFirewallRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeGetFirewallRuleGroup(request);
}
@SdkInternalApi
final GetFirewallRuleGroupResult executeGetFirewallRuleGroup(GetFirewallRuleGroupRequest getFirewallRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(getFirewallRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFirewallRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getFirewallRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFirewallRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetFirewallRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves a firewall rule group association, which enables DNS filtering for a VPC with one rule group. A VPC can
* have more than one firewall rule group association, and a rule group can be associated with more than one VPC.
*
*
* @param getFirewallRuleGroupAssociationRequest
* @return Result of the GetFirewallRuleGroupAssociation operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.GetFirewallRuleGroupAssociation
* @see AWS API Documentation
*/
@Override
public GetFirewallRuleGroupAssociationResult getFirewallRuleGroupAssociation(GetFirewallRuleGroupAssociationRequest request) {
request = beforeClientExecution(request);
return executeGetFirewallRuleGroupAssociation(request);
}
@SdkInternalApi
final GetFirewallRuleGroupAssociationResult executeGetFirewallRuleGroupAssociation(
GetFirewallRuleGroupAssociationRequest getFirewallRuleGroupAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(getFirewallRuleGroupAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFirewallRuleGroupAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getFirewallRuleGroupAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFirewallRuleGroupAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetFirewallRuleGroupAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns 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).
*
*
* @param getFirewallRuleGroupPolicyRequest
* @return Result of the GetFirewallRuleGroupPolicy operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.GetFirewallRuleGroupPolicy
* @see AWS API Documentation
*/
@Override
public GetFirewallRuleGroupPolicyResult getFirewallRuleGroupPolicy(GetFirewallRuleGroupPolicyRequest request) {
request = beforeClientExecution(request);
return executeGetFirewallRuleGroupPolicy(request);
}
@SdkInternalApi
final GetFirewallRuleGroupPolicyResult executeGetFirewallRuleGroupPolicy(GetFirewallRuleGroupPolicyRequest getFirewallRuleGroupPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(getFirewallRuleGroupPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetFirewallRuleGroupPolicyRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getFirewallRuleGroupPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetFirewallRuleGroupPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetFirewallRuleGroupPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the behavior configuration of Route 53 Resolver behavior for a single VPC from Amazon Virtual Private
* Cloud.
*
*
* @param getResolverConfigRequest
* @return Result of the GetResolverConfig operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @sample AmazonRoute53Resolver.GetResolverConfig
* @see AWS API Documentation
*/
@Override
public GetResolverConfigResult getResolverConfig(GetResolverConfigRequest request) {
request = beforeClientExecution(request);
return executeGetResolverConfig(request);
}
@SdkInternalApi
final GetResolverConfigResult executeGetResolverConfig(GetResolverConfigRequest getResolverConfigRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverConfigRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getResolverConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetResolverConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets DNSSEC validation information for a specified resource.
*
*
* @param getResolverDnssecConfigRequest
* @return Result of the GetResolverDnssecConfig operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.GetResolverDnssecConfig
* @see AWS API Documentation
*/
@Override
public GetResolverDnssecConfigResult getResolverDnssecConfig(GetResolverDnssecConfigRequest request) {
request = beforeClientExecution(request);
return executeGetResolverDnssecConfig(request);
}
@SdkInternalApi
final GetResolverDnssecConfigResult executeGetResolverDnssecConfig(GetResolverDnssecConfigRequest getResolverDnssecConfigRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverDnssecConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverDnssecConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getResolverDnssecConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverDnssecConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetResolverDnssecConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param getResolverEndpointRequest
* @return Result of the GetResolverEndpoint operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.GetResolverEndpoint
* @see AWS API Documentation
*/
@Override
public GetResolverEndpointResult getResolverEndpoint(GetResolverEndpointRequest request) {
request = beforeClientExecution(request);
return executeGetResolverEndpoint(request);
}
@SdkInternalApi
final GetResolverEndpointResult executeGetResolverEndpoint(GetResolverEndpointRequest getResolverEndpointRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverEndpointRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverEndpointRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getResolverEndpointRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverEndpoint");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetResolverEndpointResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param getResolverQueryLogConfigRequest
* @return Result of the GetResolverQueryLogConfig operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.GetResolverQueryLogConfig
* @see AWS API Documentation
*/
@Override
public GetResolverQueryLogConfigResult getResolverQueryLogConfig(GetResolverQueryLogConfigRequest request) {
request = beforeClientExecution(request);
return executeGetResolverQueryLogConfig(request);
}
@SdkInternalApi
final GetResolverQueryLogConfigResult executeGetResolverQueryLogConfig(GetResolverQueryLogConfigRequest getResolverQueryLogConfigRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverQueryLogConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverQueryLogConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getResolverQueryLogConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverQueryLogConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetResolverQueryLogConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param getResolverQueryLogConfigAssociationRequest
* @return Result of the GetResolverQueryLogConfigAssociation operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.GetResolverQueryLogConfigAssociation
* @see AWS API Documentation
*/
@Override
public GetResolverQueryLogConfigAssociationResult getResolverQueryLogConfigAssociation(GetResolverQueryLogConfigAssociationRequest request) {
request = beforeClientExecution(request);
return executeGetResolverQueryLogConfigAssociation(request);
}
@SdkInternalApi
final GetResolverQueryLogConfigAssociationResult executeGetResolverQueryLogConfigAssociation(
GetResolverQueryLogConfigAssociationRequest getResolverQueryLogConfigAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverQueryLogConfigAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverQueryLogConfigAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getResolverQueryLogConfigAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverQueryLogConfigAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetResolverQueryLogConfigAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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 Amazon Web Services account to be able to use.
*
*
* @param getResolverQueryLogConfigPolicyRequest
* @return Result of the GetResolverQueryLogConfigPolicy operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws UnknownResourceException
* The specified resource doesn't exist.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.GetResolverQueryLogConfigPolicy
* @see AWS API Documentation
*/
@Override
public GetResolverQueryLogConfigPolicyResult getResolverQueryLogConfigPolicy(GetResolverQueryLogConfigPolicyRequest request) {
request = beforeClientExecution(request);
return executeGetResolverQueryLogConfigPolicy(request);
}
@SdkInternalApi
final GetResolverQueryLogConfigPolicyResult executeGetResolverQueryLogConfigPolicy(
GetResolverQueryLogConfigPolicyRequest getResolverQueryLogConfigPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverQueryLogConfigPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverQueryLogConfigPolicyRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getResolverQueryLogConfigPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverQueryLogConfigPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetResolverQueryLogConfigPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param getResolverRuleRequest
* @return Result of the GetResolverRule operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.GetResolverRule
* @see AWS API Documentation
*/
@Override
public GetResolverRuleResult getResolverRule(GetResolverRuleRequest request) {
request = beforeClientExecution(request);
return executeGetResolverRule(request);
}
@SdkInternalApi
final GetResolverRuleResult executeGetResolverRule(GetResolverRuleRequest getResolverRuleRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getResolverRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetResolverRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets information about an association between a specified Resolver rule and a VPC. You associate a Resolver rule
* and a VPC using AssociateResolverRule.
*
*
* @param getResolverRuleAssociationRequest
* @return Result of the GetResolverRuleAssociation operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.GetResolverRuleAssociation
* @see AWS API Documentation
*/
@Override
public GetResolverRuleAssociationResult getResolverRuleAssociation(GetResolverRuleAssociationRequest request) {
request = beforeClientExecution(request);
return executeGetResolverRuleAssociation(request);
}
@SdkInternalApi
final GetResolverRuleAssociationResult executeGetResolverRuleAssociation(GetResolverRuleAssociationRequest getResolverRuleAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverRuleAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverRuleAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getResolverRuleAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverRuleAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetResolverRuleAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param getResolverRulePolicyRequest
* @return Result of the GetResolverRulePolicy operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws UnknownResourceException
* The specified resource doesn't exist.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.GetResolverRulePolicy
* @see AWS API Documentation
*/
@Override
public GetResolverRulePolicyResult getResolverRulePolicy(GetResolverRulePolicyRequest request) {
request = beforeClientExecution(request);
return executeGetResolverRulePolicy(request);
}
@SdkInternalApi
final GetResolverRulePolicyResult executeGetResolverRulePolicy(GetResolverRulePolicyRequest getResolverRulePolicyRequest) {
ExecutionContext executionContext = createExecutionContext(getResolverRulePolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetResolverRulePolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getResolverRulePolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetResolverRulePolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetResolverRulePolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Imports domain names from a file into a domain list, for use in a DNS firewall rule group.
*
*
* Each domain specification in your domain list must satisfy the following requirements:
*
*
* -
*
* It can optionally start with *
(asterisk).
*
*
* -
*
* With the exception of the optional starting asterisk, it must only contain the following characters:
* A-Z
, a-z
, 0-9
, -
(hyphen).
*
*
* -
*
* It must be from 1-255 characters in length.
*
*
*
*
* @param importFirewallDomainsRequest
* @return Result of the ImportFirewallDomains operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ConflictException
* 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.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ImportFirewallDomains
* @see AWS API Documentation
*/
@Override
public ImportFirewallDomainsResult importFirewallDomains(ImportFirewallDomainsRequest request) {
request = beforeClientExecution(request);
return executeImportFirewallDomains(request);
}
@SdkInternalApi
final ImportFirewallDomainsResult executeImportFirewallDomains(ImportFirewallDomainsRequest importFirewallDomainsRequest) {
ExecutionContext executionContext = createExecutionContext(importFirewallDomainsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ImportFirewallDomainsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(importFirewallDomainsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ImportFirewallDomains");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ImportFirewallDomainsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the firewall configurations that you have defined. DNS Firewall uses the configurations to manage
* firewall behavior for your VPCs.
*
*
* A single call might return only a partial list of the configurations. For information, see
* MaxResults
.
*
*
* @param listFirewallConfigsRequest
* @return Result of the ListFirewallConfigs operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListFirewallConfigs
* @see AWS API Documentation
*/
@Override
public ListFirewallConfigsResult listFirewallConfigs(ListFirewallConfigsRequest request) {
request = beforeClientExecution(request);
return executeListFirewallConfigs(request);
}
@SdkInternalApi
final ListFirewallConfigsResult executeListFirewallConfigs(ListFirewallConfigsRequest listFirewallConfigsRequest) {
ExecutionContext executionContext = createExecutionContext(listFirewallConfigsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFirewallConfigsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFirewallConfigsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFirewallConfigs");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFirewallConfigsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the firewall domain lists that you have defined. For each firewall domain list, you can retrieve the
* domains that are defined for a list by calling ListFirewallDomains.
*
*
* A single call to this list operation might return only a partial list of the domain lists. For information, see
* MaxResults
.
*
*
* @param listFirewallDomainListsRequest
* @return Result of the ListFirewallDomainLists operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListFirewallDomainLists
* @see AWS API Documentation
*/
@Override
public ListFirewallDomainListsResult listFirewallDomainLists(ListFirewallDomainListsRequest request) {
request = beforeClientExecution(request);
return executeListFirewallDomainLists(request);
}
@SdkInternalApi
final ListFirewallDomainListsResult executeListFirewallDomainLists(ListFirewallDomainListsRequest listFirewallDomainListsRequest) {
ExecutionContext executionContext = createExecutionContext(listFirewallDomainListsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFirewallDomainListsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listFirewallDomainListsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFirewallDomainLists");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListFirewallDomainListsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the domains that you have defined for the specified firewall domain list.
*
*
* A single call might return only a partial list of the domains. For information, see MaxResults
.
*
*
* @param listFirewallDomainsRequest
* @return Result of the ListFirewallDomains operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListFirewallDomains
* @see AWS API Documentation
*/
@Override
public ListFirewallDomainsResult listFirewallDomains(ListFirewallDomainsRequest request) {
request = beforeClientExecution(request);
return executeListFirewallDomains(request);
}
@SdkInternalApi
final ListFirewallDomainsResult executeListFirewallDomains(ListFirewallDomainsRequest listFirewallDomainsRequest) {
ExecutionContext executionContext = createExecutionContext(listFirewallDomainsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFirewallDomainsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFirewallDomainsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFirewallDomains");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFirewallDomainsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the firewall rule group associations that you have defined. Each association enables DNS filtering for
* a VPC with one rule group.
*
*
* A single call might return only a partial list of the associations. For information, see MaxResults
.
*
*
* @param listFirewallRuleGroupAssociationsRequest
* @return Result of the ListFirewallRuleGroupAssociations operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListFirewallRuleGroupAssociations
* @see AWS API Documentation
*/
@Override
public ListFirewallRuleGroupAssociationsResult listFirewallRuleGroupAssociations(ListFirewallRuleGroupAssociationsRequest request) {
request = beforeClientExecution(request);
return executeListFirewallRuleGroupAssociations(request);
}
@SdkInternalApi
final ListFirewallRuleGroupAssociationsResult executeListFirewallRuleGroupAssociations(
ListFirewallRuleGroupAssociationsRequest listFirewallRuleGroupAssociationsRequest) {
ExecutionContext executionContext = createExecutionContext(listFirewallRuleGroupAssociationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFirewallRuleGroupAssociationsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listFirewallRuleGroupAssociationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFirewallRuleGroupAssociations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListFirewallRuleGroupAssociationsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the minimal high-level information for the rule groups that you have defined.
*
*
* A single call might return only a partial list of the rule groups. For information, see MaxResults
.
*
*
* @param listFirewallRuleGroupsRequest
* @return Result of the ListFirewallRuleGroups operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListFirewallRuleGroups
* @see AWS API Documentation
*/
@Override
public ListFirewallRuleGroupsResult listFirewallRuleGroups(ListFirewallRuleGroupsRequest request) {
request = beforeClientExecution(request);
return executeListFirewallRuleGroups(request);
}
@SdkInternalApi
final ListFirewallRuleGroupsResult executeListFirewallRuleGroups(ListFirewallRuleGroupsRequest listFirewallRuleGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(listFirewallRuleGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFirewallRuleGroupsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFirewallRuleGroupsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFirewallRuleGroups");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListFirewallRuleGroupsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the firewall rules that you have defined for the specified firewall rule group. DNS Firewall uses the
* rules in a rule group to filter DNS network traffic for a VPC.
*
*
* A single call might return only a partial list of the rules. For information, see MaxResults
.
*
*
* @param listFirewallRulesRequest
* @return Result of the ListFirewallRules operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListFirewallRules
* @see AWS API Documentation
*/
@Override
public ListFirewallRulesResult listFirewallRules(ListFirewallRulesRequest request) {
request = beforeClientExecution(request);
return executeListFirewallRules(request);
}
@SdkInternalApi
final ListFirewallRulesResult executeListFirewallRules(ListFirewallRulesRequest listFirewallRulesRequest) {
ExecutionContext executionContext = createExecutionContext(listFirewallRulesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListFirewallRulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFirewallRulesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFirewallRules");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFirewallRulesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the Resolver configurations that you have defined. Route 53 Resolver uses the configurations to manage
* DNS resolution behavior for your VPCs.
*
*
* @param listResolverConfigsRequest
* @return Result of the ListResolverConfigs operation returned by the service.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @sample AmazonRoute53Resolver.ListResolverConfigs
* @see AWS API Documentation
*/
@Override
public ListResolverConfigsResult listResolverConfigs(ListResolverConfigsRequest request) {
request = beforeClientExecution(request);
return executeListResolverConfigs(request);
}
@SdkInternalApi
final ListResolverConfigsResult executeListResolverConfigs(ListResolverConfigsRequest listResolverConfigsRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverConfigsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverConfigsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listResolverConfigsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverConfigs");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListResolverConfigsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the configurations for DNSSEC validation that are associated with the current Amazon Web Services account.
*
*
* @param listResolverDnssecConfigsRequest
* @return Result of the ListResolverDnssecConfigs operation returned by the service.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.ListResolverDnssecConfigs
* @see AWS API Documentation
*/
@Override
public ListResolverDnssecConfigsResult listResolverDnssecConfigs(ListResolverDnssecConfigsRequest request) {
request = beforeClientExecution(request);
return executeListResolverDnssecConfigs(request);
}
@SdkInternalApi
final ListResolverDnssecConfigsResult executeListResolverDnssecConfigs(ListResolverDnssecConfigsRequest listResolverDnssecConfigsRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverDnssecConfigsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverDnssecConfigsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listResolverDnssecConfigsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverDnssecConfigs");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListResolverDnssecConfigsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets the IP addresses for a specified Resolver endpoint.
*
*
* @param listResolverEndpointIpAddressesRequest
* @return Result of the ListResolverEndpointIpAddresses operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListResolverEndpointIpAddresses
* @see AWS API Documentation
*/
@Override
public ListResolverEndpointIpAddressesResult listResolverEndpointIpAddresses(ListResolverEndpointIpAddressesRequest request) {
request = beforeClientExecution(request);
return executeListResolverEndpointIpAddresses(request);
}
@SdkInternalApi
final ListResolverEndpointIpAddressesResult executeListResolverEndpointIpAddresses(
ListResolverEndpointIpAddressesRequest listResolverEndpointIpAddressesRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverEndpointIpAddressesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverEndpointIpAddressesRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listResolverEndpointIpAddressesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverEndpointIpAddresses");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListResolverEndpointIpAddressesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists all the Resolver endpoints that were created using the current Amazon Web Services account.
*
*
* @param listResolverEndpointsRequest
* @return Result of the ListResolverEndpoints operation returned by the service.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListResolverEndpoints
* @see AWS API Documentation
*/
@Override
public ListResolverEndpointsResult listResolverEndpoints(ListResolverEndpointsRequest request) {
request = beforeClientExecution(request);
return executeListResolverEndpoints(request);
}
@SdkInternalApi
final ListResolverEndpointsResult executeListResolverEndpoints(ListResolverEndpointsRequest listResolverEndpointsRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverEndpointsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverEndpointsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listResolverEndpointsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverEndpoints");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListResolverEndpointsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists information about associations between Amazon VPCs and query logging configurations.
*
*
* @param listResolverQueryLogConfigAssociationsRequest
* @return Result of the ListResolverQueryLogConfigAssociations operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.ListResolverQueryLogConfigAssociations
* @see AWS API Documentation
*/
@Override
public ListResolverQueryLogConfigAssociationsResult listResolverQueryLogConfigAssociations(ListResolverQueryLogConfigAssociationsRequest request) {
request = beforeClientExecution(request);
return executeListResolverQueryLogConfigAssociations(request);
}
@SdkInternalApi
final ListResolverQueryLogConfigAssociationsResult executeListResolverQueryLogConfigAssociations(
ListResolverQueryLogConfigAssociationsRequest listResolverQueryLogConfigAssociationsRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverQueryLogConfigAssociationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverQueryLogConfigAssociationsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listResolverQueryLogConfigAssociationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverQueryLogConfigAssociations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListResolverQueryLogConfigAssociationsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param listResolverQueryLogConfigsRequest
* @return Result of the ListResolverQueryLogConfigs operation returned by the service.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.ListResolverQueryLogConfigs
* @see AWS API Documentation
*/
@Override
public ListResolverQueryLogConfigsResult listResolverQueryLogConfigs(ListResolverQueryLogConfigsRequest request) {
request = beforeClientExecution(request);
return executeListResolverQueryLogConfigs(request);
}
@SdkInternalApi
final ListResolverQueryLogConfigsResult executeListResolverQueryLogConfigs(ListResolverQueryLogConfigsRequest listResolverQueryLogConfigsRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverQueryLogConfigsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverQueryLogConfigsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listResolverQueryLogConfigsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverQueryLogConfigs");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListResolverQueryLogConfigsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the associations that were created between Resolver rules and VPCs using the current Amazon Web Services
* account.
*
*
* @param listResolverRuleAssociationsRequest
* @return Result of the ListResolverRuleAssociations operation returned by the service.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListResolverRuleAssociations
* @see AWS API Documentation
*/
@Override
public ListResolverRuleAssociationsResult listResolverRuleAssociations(ListResolverRuleAssociationsRequest request) {
request = beforeClientExecution(request);
return executeListResolverRuleAssociations(request);
}
@SdkInternalApi
final ListResolverRuleAssociationsResult executeListResolverRuleAssociations(ListResolverRuleAssociationsRequest listResolverRuleAssociationsRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverRuleAssociationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverRuleAssociationsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listResolverRuleAssociationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverRuleAssociations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListResolverRuleAssociationsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the Resolver rules that were created using the current Amazon Web Services account.
*
*
* @param listResolverRulesRequest
* @return Result of the ListResolverRules operation returned by the service.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListResolverRules
* @see AWS API Documentation
*/
@Override
public ListResolverRulesResult listResolverRules(ListResolverRulesRequest request) {
request = beforeClientExecution(request);
return executeListResolverRules(request);
}
@SdkInternalApi
final ListResolverRulesResult executeListResolverRules(ListResolverRulesRequest listResolverRulesRequest) {
ExecutionContext executionContext = createExecutionContext(listResolverRulesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResolverRulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listResolverRulesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResolverRules");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListResolverRulesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the tags that you associated with the specified resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidNextTokenException
* The value that you specified for NextToken
in a List
request isn't valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.ListTagsForResource
* @see AWS API Documentation
*/
@Override
public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) {
request = beforeClientExecution(request);
return executeListTagsForResource(request);
}
@SdkInternalApi
final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Attaches an Identity and Access Management (Amazon Web Services IAM) policy for sharing the rule group. You can
* use the policy to share the rule group using Resource Access Manager (RAM).
*
*
* @param putFirewallRuleGroupPolicyRequest
* @return Result of the PutFirewallRuleGroupPolicy operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.PutFirewallRuleGroupPolicy
* @see AWS API Documentation
*/
@Override
public PutFirewallRuleGroupPolicyResult putFirewallRuleGroupPolicy(PutFirewallRuleGroupPolicyRequest request) {
request = beforeClientExecution(request);
return executePutFirewallRuleGroupPolicy(request);
}
@SdkInternalApi
final PutFirewallRuleGroupPolicyResult executePutFirewallRuleGroupPolicy(PutFirewallRuleGroupPolicyRequest putFirewallRuleGroupPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(putFirewallRuleGroupPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutFirewallRuleGroupPolicyRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(putFirewallRuleGroupPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutFirewallRuleGroupPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new PutFirewallRuleGroupPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Specifies an Amazon Web Services 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.
*
*
* @param putResolverQueryLogConfigPolicyRequest
* @return Result of the PutResolverQueryLogConfigPolicy operation returned by the service.
* @throws InvalidPolicyDocumentException
* The specified Resolver rule policy is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws UnknownResourceException
* The specified resource doesn't exist.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.PutResolverQueryLogConfigPolicy
* @see AWS API Documentation
*/
@Override
public PutResolverQueryLogConfigPolicyResult putResolverQueryLogConfigPolicy(PutResolverQueryLogConfigPolicyRequest request) {
request = beforeClientExecution(request);
return executePutResolverQueryLogConfigPolicy(request);
}
@SdkInternalApi
final PutResolverQueryLogConfigPolicyResult executePutResolverQueryLogConfigPolicy(
PutResolverQueryLogConfigPolicyRequest putResolverQueryLogConfigPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(putResolverQueryLogConfigPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutResolverQueryLogConfigPolicyRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(putResolverQueryLogConfigPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutResolverQueryLogConfigPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new PutResolverQueryLogConfigPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Specifies an Amazon Web Services 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.
*
*
* @param putResolverRulePolicyRequest
* @return Result of the PutResolverRulePolicy operation returned by the service.
* @throws InvalidPolicyDocumentException
* The specified Resolver rule policy is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws UnknownResourceException
* The specified resource doesn't exist.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.PutResolverRulePolicy
* @see AWS API Documentation
*/
@Override
public PutResolverRulePolicyResult putResolverRulePolicy(PutResolverRulePolicyRequest request) {
request = beforeClientExecution(request);
return executePutResolverRulePolicy(request);
}
@SdkInternalApi
final PutResolverRulePolicyResult executePutResolverRulePolicy(PutResolverRulePolicyRequest putResolverRulePolicyRequest) {
ExecutionContext executionContext = createExecutionContext(putResolverRulePolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutResolverRulePolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putResolverRulePolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutResolverRulePolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new PutResolverRulePolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Adds one or more tags to a specified resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidTagException
* The specified tag is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.TagResource
* @see AWS
* API Documentation
*/
@Override
public TagResourceResult tagResource(TagResourceRequest request) {
request = beforeClientExecution(request);
return executeTagResource(request);
}
@SdkInternalApi
final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(tagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new TagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(tagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Removes one or more tags from a specified resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.UntagResource
* @see AWS
* API Documentation
*/
@Override
public UntagResourceResult untagResource(UntagResourceRequest request) {
request = beforeClientExecution(request);
return executeUntagResource(request);
}
@SdkInternalApi
final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) {
ExecutionContext executionContext = createExecutionContext(untagResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UntagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(untagResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UntagResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UntagResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the configuration of the firewall behavior provided by DNS Firewall for a single VPC from Amazon Virtual
* Private Cloud (Amazon VPC).
*
*
* @param updateFirewallConfigRequest
* @return Result of the UpdateFirewallConfig operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.UpdateFirewallConfig
* @see AWS API Documentation
*/
@Override
public UpdateFirewallConfigResult updateFirewallConfig(UpdateFirewallConfigRequest request) {
request = beforeClientExecution(request);
return executeUpdateFirewallConfig(request);
}
@SdkInternalApi
final UpdateFirewallConfigResult executeUpdateFirewallConfig(UpdateFirewallConfigRequest updateFirewallConfigRequest) {
ExecutionContext executionContext = createExecutionContext(updateFirewallConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateFirewallConfigRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFirewallConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFirewallConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFirewallConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the firewall domain list from an array of domain specifications.
*
*
* @param updateFirewallDomainsRequest
* @return Result of the UpdateFirewallDomains operation returned by the service.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws ConflictException
* 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.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.UpdateFirewallDomains
* @see AWS API Documentation
*/
@Override
public UpdateFirewallDomainsResult updateFirewallDomains(UpdateFirewallDomainsRequest request) {
request = beforeClientExecution(request);
return executeUpdateFirewallDomains(request);
}
@SdkInternalApi
final UpdateFirewallDomainsResult executeUpdateFirewallDomains(UpdateFirewallDomainsRequest updateFirewallDomainsRequest) {
ExecutionContext executionContext = createExecutionContext(updateFirewallDomainsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateFirewallDomainsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFirewallDomainsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFirewallDomains");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateFirewallDomainsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the specified firewall rule.
*
*
* @param updateFirewallRuleRequest
* @return Result of the UpdateFirewallRule operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws ConflictException
* 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.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.UpdateFirewallRule
* @see AWS API Documentation
*/
@Override
public UpdateFirewallRuleResult updateFirewallRule(UpdateFirewallRuleRequest request) {
request = beforeClientExecution(request);
return executeUpdateFirewallRule(request);
}
@SdkInternalApi
final UpdateFirewallRuleResult executeUpdateFirewallRule(UpdateFirewallRuleRequest updateFirewallRuleRequest) {
ExecutionContext executionContext = createExecutionContext(updateFirewallRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateFirewallRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFirewallRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFirewallRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFirewallRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Changes the association of a FirewallRuleGroup with a VPC. The association enables DNS filtering for the
* VPC.
*
*
* @param updateFirewallRuleGroupAssociationRequest
* @return Result of the UpdateFirewallRuleGroupAssociation operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @throws ConflictException
* 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.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.UpdateFirewallRuleGroupAssociation
* @see AWS API Documentation
*/
@Override
public UpdateFirewallRuleGroupAssociationResult updateFirewallRuleGroupAssociation(UpdateFirewallRuleGroupAssociationRequest request) {
request = beforeClientExecution(request);
return executeUpdateFirewallRuleGroupAssociation(request);
}
@SdkInternalApi
final UpdateFirewallRuleGroupAssociationResult executeUpdateFirewallRuleGroupAssociation(
UpdateFirewallRuleGroupAssociationRequest updateFirewallRuleGroupAssociationRequest) {
ExecutionContext executionContext = createExecutionContext(updateFirewallRuleGroupAssociationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateFirewallRuleGroupAssociationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateFirewallRuleGroupAssociationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFirewallRuleGroupAssociation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateFirewallRuleGroupAssociationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the behavior configuration of Route 53 Resolver behavior for a single VPC from Amazon Virtual Private
* Cloud.
*
*
* @param updateResolverConfigRequest
* @return Result of the UpdateResolverConfig operation returned by the service.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ResourceUnavailableException
* The specified resource isn't available.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @throws ValidationException
* You have provided an invalid command. Supported values are ADD
, REMOVE
, or
* REPLACE
a domain.
* @sample AmazonRoute53Resolver.UpdateResolverConfig
* @see AWS API Documentation
*/
@Override
public UpdateResolverConfigResult updateResolverConfig(UpdateResolverConfigRequest request) {
request = beforeClientExecution(request);
return executeUpdateResolverConfig(request);
}
@SdkInternalApi
final UpdateResolverConfigResult executeUpdateResolverConfig(UpdateResolverConfigRequest updateResolverConfigRequest) {
ExecutionContext executionContext = createExecutionContext(updateResolverConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateResolverConfigRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateResolverConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateResolverConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateResolverConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates an existing DNSSEC validation configuration. If there is no existing DNSSEC validation configuration, one
* is created.
*
*
* @param updateResolverDnssecConfigRequest
* @return Result of the UpdateResolverDnssecConfig operation returned by the service.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @throws AccessDeniedException
* The current account doesn't have the IAM permissions required to perform the specified Resolver
* operation.
* @sample AmazonRoute53Resolver.UpdateResolverDnssecConfig
* @see AWS API Documentation
*/
@Override
public UpdateResolverDnssecConfigResult updateResolverDnssecConfig(UpdateResolverDnssecConfigRequest request) {
request = beforeClientExecution(request);
return executeUpdateResolverDnssecConfig(request);
}
@SdkInternalApi
final UpdateResolverDnssecConfigResult executeUpdateResolverDnssecConfig(UpdateResolverDnssecConfigRequest updateResolverDnssecConfigRequest) {
ExecutionContext executionContext = createExecutionContext(updateResolverDnssecConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateResolverDnssecConfigRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(updateResolverDnssecConfigRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateResolverDnssecConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateResolverDnssecConfigResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Updates the name, or enpoint type for an inbound or an outbound Resolver endpoint. You can only update between
* IPV4 and DUALSTACK, IPV6 endpoint type can't be updated to other type.
*
*
* @param updateResolverEndpointRequest
* @return Result of the UpdateResolverEndpoint operation returned by the service.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws InvalidRequestException
* The request is invalid.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.UpdateResolverEndpoint
* @see AWS API Documentation
*/
@Override
public UpdateResolverEndpointResult updateResolverEndpoint(UpdateResolverEndpointRequest request) {
request = beforeClientExecution(request);
return executeUpdateResolverEndpoint(request);
}
@SdkInternalApi
final UpdateResolverEndpointResult executeUpdateResolverEndpoint(UpdateResolverEndpointRequest updateResolverEndpointRequest) {
ExecutionContext executionContext = createExecutionContext(updateResolverEndpointRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateResolverEndpointRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateResolverEndpointRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateResolverEndpoint");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new UpdateResolverEndpointResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* 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.
*
*
* @param updateResolverRuleRequest
* @return Result of the UpdateResolverRule operation returned by the service.
* @throws InvalidRequestException
* The request is invalid.
* @throws InvalidParameterException
* One or more parameters in this request are not valid.
* @throws ResourceNotFoundException
* The specified resource doesn't exist.
* @throws ResourceUnavailableException
* The specified resource isn't available.
* @throws LimitExceededException
* The request caused one or more limits to be exceeded.
* @throws InternalServiceErrorException
* We encountered an unknown error. Try again in a few minutes.
* @throws ThrottlingException
* The request was throttled. Try again in a few minutes.
* @sample AmazonRoute53Resolver.UpdateResolverRule
* @see AWS API Documentation
*/
@Override
public UpdateResolverRuleResult updateResolverRule(UpdateResolverRuleRequest request) {
request = beforeClientExecution(request);
return executeUpdateResolverRule(request);
}
@SdkInternalApi
final UpdateResolverRuleResult executeUpdateResolverRule(UpdateResolverRuleRequest updateResolverRuleRequest) {
ExecutionContext executionContext = createExecutionContext(updateResolverRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new UpdateResolverRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateResolverRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route53Resolver");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateResolverRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateResolverRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
* Returns additional metadata for a previously executed successful, request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext) {
return invoke(request, responseHandler, executionContext, null, null);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private Response invoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) {
executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider));
return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait);
}
/**
* Invoke with no authentication. Credentials are not required and any credentials set on the client or request will
* be ignored for this operation.
**/
private Response anonymousInvoke(Request request,
HttpResponseHandler> responseHandler, ExecutionContext executionContext) {
return doInvoke(request, responseHandler, executionContext, null, null);
}
/**
* Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the
* ExecutionContext beforehand.
**/
private Response doInvoke(Request request, HttpResponseHandler> responseHandler,
ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) {
if (discoveredEndpoint != null) {
request.setEndpoint(discoveredEndpoint);
request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery");
} else if (uriFromEndpointTrait != null) {
request.setEndpoint(uriFromEndpointTrait);
} else {
request.setEndpoint(endpoint);
}
request.setTimeOffset(timeOffset);
HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata());
return client.execute(request, responseHandler, errorResponseHandler, executionContext);
}
@com.amazonaws.annotation.SdkInternalApi
static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() {
return protocolFactory;
}
@Override
public void shutdown() {
super.shutdown();
}
}